1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
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
|