|
|
1.1 root 1: x_display = cluster
2:
3: init = proc (display: string) signals (error(string))
4: % open connection to given display or $DISPLAY if string is empty
5:
6: root = proc () returns (x_window)
7: % returns root window
8:
9: width = proc () returns (int)
10: % returns root window width
11:
12: height = proc () returns (int)
13: % returns root window height
14:
15: device = proc () returns (int)
16: % returns device type
17:
18: protocol = proc () returns (int)
19: % returns protocol version
20:
21: planes = proc () returns (int)
22: % returns number of bit planes
23:
24: cells = proc () returns (int)
25: % returns number of color map cells
26:
27: grab = proc ()
28: % grabs sole control of server
29:
30: ungrab = proc ()
31: % ungrabs sole control of server
32:
33: alloc_color = proc (red, green, blue: int) returns (int)
34: signals (error(string))
35: % allocates a (shared) read-only color
36:
37: alloc_cell = proc () returns (int) signals (error(string))
38: % allocates a writable color map entry
39:
40: alloc_cells = proc (ncolors, nplanes: int, contig: bool)
41: returns (pixellist, int) signals (error(string))
42: % allocates writable color map entries
43:
44: free_color = proc (pixel: int)
45: % free a color/cell
46:
47: free_colors = proc (pixels: pixellist, mask: int)
48: % free colors/cells
49:
50: store_color = proc (pixel, red, green, blue: int)
51: % change/initialize a color map entry
52:
53: store_colors = proc (defs: colordeflist)
54: % change/initialize color map entries
55:
56: query_color = proc (pixel: int) returns (int, int, int)
57: signals (error(string))
58: % returns (red, green, blue)
59:
60: lookup_color = proc (name: string) returns (int, int, int, int, int, int)
61: signals (error(string))
62: % returns (red, green, blue, h/w red, h/w green, h/w blue)
63:
64: black = proc () returns (x_pixmap)
65: % returns tile of BlackPixel
66:
67: white = proc () returns (x_pixmap)
68: % returns tile of WhitePixel
69:
70: x_bitmap = cluster
71:
72: none = proc () returns (cvt)
73: % returns placeholder
74:
75: create = proc (width, height: int, bits: _wordvec) returns (cvt)
76: signals (error(string))
77: % _wordvec can be larger than needed
78:
79: destroy = proc (bit: cvt)
80:
81: c2b = proc (font: x_font, c: char) returns (cvt) signals (error(string))
82: % returns bitmap of char
83:
84: get_id = proc (bit: cvt) returns (int)
85:
86: equal = proc (bit1, bit2: cvt) returns (bool)
87:
88: similar = proc (bit1, bit2: cvt) returns (bool)
89:
90: copy = proc (bit: cvt) returns (cvt)
91:
92: x_cursor = cluster
93:
94: none = proc () returns (cvt)
95: % returns placeholder
96:
97: create = proc (image, mask: x_bitmap, fore, back, xoff, yoff, func: int)
98: returns (cvt) signals (error(string))
99:
100: cons = proc (width, height: int, image, mask: _wordvec, fore, back: int,
101: xoff, yoff, func: int) returns (x_cursor)
102: signals (error(string))
103: % _wordvecs can be larger than needed
104:
105: destroy = proc (cursor: cvt)
106:
107: shape = proc (width, height: int) returns (int, int)
108: signals (error(string))
109: % returns (supported width, supported height)
110:
111: get_id = proc (cursor: cvt) returns (int)
112:
113: equal = proc (cursor1, cursor2: cvt) returns (bool)
114:
115: similar = proc (cursor1, cursor2: cvt) returns (bool)
116:
117: copy = proc (cursor: cvt) returns (cvt)
118:
119: x_font = cluster
120:
121: create = proc (name: string) returns (cvt) signals (error(string))
122:
123: destroy = proc (font: cvt)
124:
125: query = proc (font: cvt) returns (int, int, char, char, int, bool)
126: signals (error(string))
127: % returns (avg_width, height, first_char, last_char, baseline, fixedwidth)
128:
129: widths = iter (font: cvt, s: string) yields (char, int)
130: signals (error(string))
131:
132: width = proc (font: cvt, s: string) returns (int) signals (error(string))
133:
134: all_widths = proc (font: cvt) returns (_wordvec) signals (error(string))
135: % returns widths for first_char thru last_char, each width is 16 bits
136:
137: get_id = proc (font: cvt) returns (int)
138:
139: equal = proc (font1, font2: cvt) returns (bool)
140:
141: similar = proc (font1, font2: cvt) returns (bool)
142:
143: copy = proc (font: cvt) returns (cvt)
144:
145: x_pixmap = cluster
146:
147: none = proc () returns (cvt)
148: % returns placeholder
149:
150: create = proc (mask: x_bitmap, fore, back: int) returns (cvt)
151: signals (error(string))
152:
153: create_xy = proc (width, height: int, bits: _wordvec) returns (cvt)
154: signals (error(string))
155: % _wordvec can be larger than needed
156:
157: create_z = proc (width, height: int, bits: _wordvec) returns (cvt)
158: signals (error(string))
159: % _wordvec can be larger than needed
160:
161: tile = proc (pixel: int) returns (cvt) signals (error(string))
162:
163: destroy = proc (pix: cvt)
164:
165: shape = proc (width, height: int) returns (int, int)
166: signals (error(string))
167: returns (supported width, supported height)
168:
169: get_id = proc (pix: cvt) returns (int)
170:
171: equal = proc (pix1, pix2: cvt) returns (bool)
172:
173: similar = proc (pix1, pix2: cvt) returns (bool)
174:
175: copy = proc (pix: cvt) returns (cvt)
176:
177: x_window = cluster
178:
179: none = proc () returns (cvt)
180: % returns placeholder
181:
182: create = proc (x, y, width, height: int, background: x_pixmap, parent: cvt,
183: borderwidth: int, border: x_pixmap) returns (cvt)
184: signals (error(string))
185: % (x, y) for outer left, (width, height) exclude border
186:
187: create_transparency = proc (x, y, width, height: int, parent: cvt)
188: returns (cvt) signals (error(string))
189:
190: destroy = proc (w: cvt)
191:
192: destroy_subwindows = proc (w: cvt)
193:
194: map = proc (w: cvt)
195:
196: map_subwindows = proc (w: cvt)
197:
198: unmap = proc (w: cvt)
199:
200: unmap_subwindows = proc (w: cvt)
201:
202: unmap_transparent = proc (w: cvt)
203:
204: raise = proc (w: cvt)
205:
206: lower = proc (w: cvt)
207:
208: circulate_up = proc (w: cvt)
209:
210: circulate_down = proc (w: cvt)
211:
212: move = proc (w: cvt, x, y: int)
213: % (x, y) for outer left
214:
215: change = proc (w: cvt, width, height: int)
216: % (width, height) exclude border
217:
218: configure = proc (w: cvt, x, y, width, height: int)
219: % (x, y) for outer left, (width, height) exclude border
220:
221: set_background = proc (w: cvt, background: x_pixmap)
222: % does not cause redisplay
223:
224: set_border = proc (w: cvt, border: x_pixmap)
225:
226: set_tilemode = proc (w: cvt, relative: bool)
227:
228: set_clipmode = proc (w: cvt, drawthru: bool)
229:
230: query = proc (w: cvt) returns (int, int, int, int, int, int, int, cvt)
231: signals (error(string))
232: % returns (x, y, width, height, border, map, kind, icon)
233:
234: query_tree = proc (w: cvt) returns (cvt, wlist) signals (error(string))
235: wlist = array[x_window]
236: % returns (parent, children in bottom->top order)
237:
238: get_name = proc (w: cvt) returns (string) signals (error(string))
239:
240: set_name = proc (w: cvt, n: string)
241:
242: set_icon = proc (w, icon: cvt)
243:
244: get_resize = proc (w: cvt) returns (int, int, int, int)
245: signals (error(string))
246: % returns (base width, width increment, base height, height increment)
247:
248: set_resize = proc (w: cvt, width0, widthinc, height0, heightinc: int)
249:
250: set_cursor = proc (w: cvt, cursor: x_cursor)
251:
252: set_input = proc (w: cvt, mask: int)
253:
254: grab_mouse = proc (w: cvt, mask: int, cursor: x_cursor)
255: signals (error(string))
256:
257: ungrab_mouse = proc ()
258:
259: grab_button = proc (w: cvt, button, mask: int, cursor: x_cursor)
260: signals (error(string))
261:
262: ungrab_button = proc (button: int)
263:
264: query_mouse = proc (w: cvt) returns (int, int, cvt) signals (error(string))
265: % returns (x, y, sub window)
266:
267: interpret_locator = proc (w: cvt, x, y: int) returns (int, int, cvt)
268: signals (error(string))
269: % returns (x, y, sub window)
270:
271: warp_mouse = proc (w: cvt, x, y: int)
272:
273: cond_warp_mouse = proc (dstw: cvt, dstx, dsty: int, srcw: cvt,
274: srcx, srcy, srcwidth, srcheight: int)
275:
276: focus_keyboard = proc (w: cvt)
277:
278: clear = proc (w: cvt)
279:
280: pix_set = proc (w: cvt, pixel, x, y, width, height: int)
281: % GXcopy to all planes
282:
283: pix_fill = proc (w: cvt, pixel: int, mask: x_bitmap,
284: x, y, width, height, func, planes: int)
285:
286: tile_set = proc (w: cvt, tile: x_pixmap, x, y, width, height: int)
287: % GXcopy to all planes
288:
289: tile_fill = proc (w: cvt, tile: x_pixmap, mask: x_bitmap,
290: x, y, width, height, func, planes: int)
291:
292: pixmap_put = proc (w: cvt, pix: x_pixmap,
293: srcx, srcy, width, height, dstx, dsty, func, planes: int)
294:
295: pixmap_zbitsput = proc (w: cvt, width, height: int, bits: _wordvec,
296: mask: x_bitmap, x, y, func, planes: int)
297: % _wordvec can be larger than needed
298:
299: pixmap_xybitsput = proc (w: cvt, width, height: int, bits: _wordvec,
300: mask: x_bitmap, x, y, func, planes: int)
301: % _wordvec can be larger than needed
302:
303: bitmap_bitsput = proc (w: cvt, width, height: int, bits: _wordvec,
304: fore, back: int, mask: x_bitmap, x, y, func, planes: int)
305: % _wordvec can be larger than needed
306:
307: move_area = proc (w: cvt, srcx, srcy, width, height, dstx, dsty: int)
308: % GXcopy to all planes
309:
310: copy_area = proc (w: cvt, srcx, srcy, width, height, dstx, dsty: int,
311: func, planes: int)
312:
313: text = proc (w: cvt, s: string, font: x_font, fore, back, x, y: int)
314: % GXcopy to all planes
315:
316: textv = proc (w: cvt, b: _bytevec, start, z: int, font: x_font,
317: fore, back, x, y: int)
318: % GXcopy to all planes
319:
320: texta = proc (w: cvt, a: array[char], start, z: int, font: x_font,
321: fore, back, x, y: int)
322: % GXcopy to all planes
323:
324: text_pad = proc (w: cvt, s: string, font: x_font,
325: fore, back, cpad, spad, x, y: int, func, planes: int)
326:
327: textv_pad = proc (w: cvt, b: _bytevec, start, z: int, font: x_font,
328: fore, back, cpad, spad: int, x, y: int, func, planes: int)
329:
330: texta_pad = proc (w: cvt, a: array[char], start, z: int, font: x_font,
331: fore, back, cpad, spad: int, x, y: int, func, planes: int)
332:
333: text_mask = proc (w: cvt, s: string, font: x_font, pixel, x, y: int)
334: % GXcopy to all planes
335:
336: textv_mask = proc (w: cvt, b: _bytevec, start, z: int, font: x_font,
337: pixel, x, y: int)
338: % GXcopy to all planes
339:
340: texta_mask = proc (w: cvt, a: array[char], start, z: int, font: x_font,
341: pixel, x, y: int)
342: % GXcopy to all planes
343:
344: text_mask_pad = proc (w: cvt, s: string, font: x_font,
345: pixel, cpad, spad, x, y: int, func, planes: int)
346:
347: textv_mask_pad = proc (w: cvt, b: _bytevec, start, z: int, font: x_font,
348: pixel, cpad, spad: int, x, y: int, func, planes: int)
349:
350: texta_mask_pad = proc (w: cvt, a: array[char], start, z: int, font: x_font,
351: pixel, cpad, spad: int, x, y: int, func, planes: int)
352:
353: line = proc (w: cvt, pixel, width, height, x1, y1, x2, y2, func, planes: int)
354:
355: draw = proc (w: cvt, verts: x_vlist, z, pixel, width, height, func, planes: int)
356:
357: draw_dashed = proc (w: cvt, verts: x_vlist, z, pixel, width, height: int,
358: pattern, patlen, patmul, func, planes: int)
359:
360: draw_patterned = proc (w: cvt, verts: x_vlist, z, pixel, altpix: int,
361: width, height, pattern, patlen, patmul, func, planes: int)
362:
363: draw_filled = proc (w: cvt, verts: x_vlist, z, pixel, func, planes: int)
364:
365: draw_tiled = proc (w: cvt, verts: x_vlist, z: int, tile: x_pixmap,
366: func, planes: int)
367:
368: save_region = proc (w: cvt, x, y, width, height: int) returns (x_pixmap)
369: signals (error(string))
370:
371: read_xyregion = proc (w: cvt, x, y, width, height: int) returns (_wordvec)
372: signals (error(string))
373:
374: read_zregion = proc (w: cvt, x, y, width, height: int) returns (_wordvec)
375: signals (error(string))
376:
377: get_id = proc (w: cvt) returns (int)
378:
379: equal = proc (w1, w2: cvt) returns (bool)
380:
381: similar = proc (w1, w2: cvt) returns (bool)
382:
383: copy = proc (w: cvt) returns (cvt)
384:
385: x_input = cluster
386:
387: init = proc ()
388: % called automatically by x_display$init
389:
390: set_squish = proc (flag: bool)
391: % control mouse motion event compaction
392:
393: enq = proc (e: event)
394: % copy of event will be made
395:
396: deq = proc (e: event)
397: % wait for next event, stores results in argument
398:
399: edeq = proc (kind: int, e: event)
400: % wait for single kind of event, stores results in argument
401:
402: mdeq = proc (kinds: int, e: event)
403: % wait for any event in kinds, stores results in argument
404:
405: wdeq = proc (w: x_window, kinds: int, e: event)
406: % wait for any event on w in kinds, stores results in argument
407:
408: pending = proc () returns (bool)
409: % if any event pending
410:
411: epending = proc (kind: int) returns (bool)
412: % if any event of single kind pending
413:
414: mpending = proc (kinds: int) returns (bool)
415: % if any event of kinds pending
416:
417: wpending = proc (w: x_window, kinds: int) returns (bool)
418: % if any event on w of kinds pending
419:
420: empty_event = proc () returns (event)
421: % returns empty event suitable for calling deq
422:
423: x_keymap = cluster
424:
425: load = proc (fs: string)
426: % load keymap file (if empty string, load ~/.Xkeymap)
427:
428: getc = proc (key, mask: int) returns (char) signals (none, multi(string))
429: % map to assumed single character
430:
431: gets = proc (key, mask: int) returns (string) signals (none)
432: % map to assumed character string
433:
434: x_cons = proc (name: string, back, border: x_pixmap, spec, defspec: string,
435: minwidth, minheight, bwidth: int) returns (x_window, int, int)
436: % create a top-level window
437: % spec is usual =spec from command line, defspec is default
438:
439: x_tcons = proc (name: string, back, border: x_pixmap, spec, defspec: string,
440: f: x_font, fwidth, fheight: int,
441: add, minwidth, minheight, bwidth: int)
442: returns (x_window, int, int)
443: % create a top-level (text) window
444: % spec is usual =spec from command line, defspec is default
445: % width (height) be 2*add plus multiple of fwidth (fheight)
446:
447: x_default = proc (prog, option: string) returns (string) signals (not_found)
448: % return option value from .Xdefaults file
449:
450: x_parse_color = proc (spec: string) returns (int, int, int)
451: signals (bad_format, undefined)
452: % returns (red, green, blue)
453:
454: x_flush = proc ()
455: % flush buffered output
456:
457: x_feep = proc (volume: int)
458:
459: x_store_cut = proc (buf: int, s: string)
460:
461: x_fetch_cut = proc (buf: int) returns (string) signals (error(string))
462:
463: x_rotate_cuts = proc (buf: int)
464:
465: x_mouse_control = proc (accel, thresh: int)
466:
467: x_feep_control = proc (volume: int)
468:
469: x_shift_lock = proc (toggle: bool)
470:
471: x_key_click = proc (volume: int)
472:
473: x_auto_repeat = proc (on: bool)
474:
475: x_screen_saver = proc (video: bool, timeout, shift: int)
476:
477: x_error = proc (why: string)
478: % routine called on internal X error
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.