XIMTOOL GUI 1. CONTROL PANEL 1.1 View current frame: radio button next frame button prev frame button center: button fitframe: button flip X: toggle flip Y: toggle flip XY: button zoom factor: buttons for -8 -4 -2 1 +2 +4 +8 in out or unzoom, zoom in, zoom out (buttons) -- Frame 1 -- X center: 123.45 Y center: 123.45 X scale: 4 Y scale: 4 1.2 Enhancement enhancement: string scrolled list or 2 level menu 1.3 Blink blink frames: several cycle buttons, reset button blink rate: numeric display, menu select register: button match: button blink: toggle on/off 1.4 Options panner: toggle on/off coords box: toggle on/off autoscale: toggle on/off antialias: toggle on/off 1.5 Other initialize: button normalize: button done: button 2. INFO BOX version number gui identification configuration: number of frames, frame size image title: string help: scrolled text messages: text line output: scrolled text 3. COMMAND ENTRY command entry: text (Tcl commands) control: user assignable buttons, text output --------------------------- Original Notes XIMTOOL Specifications 1 - 4 frame buffers frame buffers any size, selected from config file all N frames are the same size frame buffers are 8 bits deep each frame buffer has its own independent zoom/pan, colortable, wcs, etc. attributes Frame Buffer Strategy Frame buffer pixel array is a gterm raster (ximage) Memory model: fast nice-to-server small If server pixmaps are being used the frame raster is mapped to a gterm server pixmap raster the size of the display window The server pixmap raster is mapped to the screen with a 1-1 mapping Zoom and pan are controlled by the ximage->pixmap mapping The frame being displayed is controlled by the pixmap->screen mapping If server pixmaps are not used the first raster will be mapped either to another ximage raster, or directly to the screen. The first option still provides a reasonable blink capability, the second will be slow if zoom is in effect. Program Structure main obm <- gui file gui program widget tree iisio gterm widget The GUI program handles: keyboard and function key input pointer input frame selection, blink, zoom/pan, colortable selection, windowing control panel options The IISIO section handles: communication with the client frame buffer configuration read/write frame buffer frame selection cursor readback Optional features Magnifier - region under the cursor Split screen - controlled by popup control panel Split region - display alternate frame in region under cursor Zoom box - display de-zoomed or zoomed subregion in a marker Load/save file (sunraster or fits) CLIENT STATE nframes number of frame buffers frame size frame buffer width, height frame depth frame buffer depth, bits frame number current display frame frame event something frame related changed (string) frame title title of current frame enhancement color enhancement selected (name offset slope) cursor mode cursor mode on/off GUI SPECIFICATION Menu bar File -> View -> Options -> File menu Load Save Print Quit View menu Next frame Prev frame Zoom Unzoom Normalize Flip X Flip Y Blink [on|off] ** Options menu Enhancement -> grayscale pseudocolor (etc.) Fitframe Match colortables Autoscale {on off} Coords {on off} Locator {on off} ** Other (popup) ** Exit cursor mode Initialize Title display ** horiz scrolled text button to popup full label Buttons forward back flip X flip Y zoom/dezoom Help ** Marker menu Zoom Fill Print Attributes -> ** Destroy Image menu Zoom Dezoom Unzoom Pan Marker -> marker type Enhancement -> grayscale pseudocolor (etc.) Next Prev oo