With the term XWindow display we refer to a bitmapped screen supporting
the XWindow environment. These displays have less functionality provided in
hardware than the ``classical'' peripheral image displays. On the other hand
they offer much more flexibility via software. For example, display screens of
different sizes may be created and different number of image channels
may be connected to any one display.
Another important difference results from the way XWindows works: when an
X application program terminates, all the connected windows and data
structures disappear. Therefore, MIDAS starts up an independent server process,
the display server, which owns all X11 related data structures. The MIDAS
applications do not interact directly with the windows but send messages
to the server which then performs the actual task.
Like this we can keep the windows alive while the different applications
are executed and terminated, one by one.
Also, keep in mind that all interaction with the display will only work
while the input focus is in the display window (either enforced by clicking
the mouse in that window or just moving the cursor into it -- that depends on
how your window manager is set up).
Image displays are created on the screen via the
CREATE/DISPLAY command. An ``image display'' is then represented by
a window on the bitmapped screen. It may have one or several image
channels associated with it.
The image channels may have the same size as the display window or
could be larger.
These channels are not realised
in hardware ( e.g. video memory) like the peripheral image displays, but
exist as data structures in main memory. Also an overlay channel and an
alphanumerics memory are emulated for each image display.
Initially each display is provided with a grayscale LUT.
You may create several image displays at the same time on your bitmapped
screen even though only one display can be the current active display at
any time. With the command ASSIGN/DISPLAY you switch from one
display to the next.
Each image channel has independent scroll (also emulated in software)
but no zoom capabilities. There are special commands like GET/CURSOR
and VIEW/IMAGE which provide zoom in a special zoom window.
Also available is an intensity transformation table but only one per
image display and not one per image memory since the ITTs are emulated
by convolving the ITT values with the current LUT.