[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Color System Behavior
The following two programs illustrate a difference between Color
distributed for Genera 8.1 (Color 421.26, tape dated 5/91) and Color
distributed for Genera 8.0.1 (Color 416.47, tape 7/90 + ECO 1 of 8/90).
In 8.0.1 Both programs "work" and produce the same clean window and
line on the screen (Color, HiRes, 24 Bit, 3650). In 8.1 the first
produces a mess (double images, etc.) and the second "works" as under
8.0.1.
Note that the difference between them is in placement of the :width
1920 so that the first routine produces a screen that is 1920
wide (it is a multiple of 32, it is less than 2048 as per the
documentation). In the second case, the passed values are over ridden
by the defaults imposed by the sync-program as implied (though not
clearly stated) by the documentation. Thus in the first case the
Screen has a width of 1920 and in the second case the width is 1280
(the displayable width of the screen) (verifiable by looking at the
flavor instance variables).
We have a large body of code that depends on the screen width of 1920
which cannot be changed, so the questions are:
Is there a reason for this (and is there a way around it)?
Is the way around it to revert to Color 416.47 with 8.1?
Is the only way around it to revert to Genera 8.0.1?
(defun kill-the-screen ()
(let* ((screenb (color:make-color-screen
:setup :standard
:name "imagcalc screen"
:expose-p t ;nil
:save-bits nil
:sync-program 'tv:color-sync-1024-lines
:width 1920 :height 1024
))
(windb (tv:make-window 'tv:window :superior screenb :width 1200 :height 1000
:expose-p t)))
(graphics:draw-line 10 1000 1000 10 :thickness 2 :stream windb)
(values screenb windb)))
(defun the-screen-works ()
(let* ((screenb (color:make-color-screen
:setup :standard
:width 1920 :height 1024
:name "imagcalc screen"
:expose-p t ;nil
:save-bits nil
:sync-program 'tv:color-sync-1024-lines
))
(windb (tv:make-window 'tv:window :superior screenb :width 1200 :height 1000
:expose-p t)))
(graphics:draw-line 10 1000 1000 10 :thickness 2 :stream windb)
(values screenb windb)))