aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/ximtool/NOTES
blob: cce5458cdff13b240bf898a99cbd3ff2b6758fd7 (plain) (blame)
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