Commit | Line | Data |
---|---|---|
a09e091a JB |
1 | /************************************************************ |
2 | Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. | |
3 | ||
4 | Permission to use, copy, modify, and distribute this | |
5 | software and its documentation for any purpose and without | |
6 | fee is hereby granted, provided that the above copyright | |
7 | notice appear in all copies and that both that copyright | |
8 | notice and this permission notice appear in supporting | |
9 | documentation, and that the name of Silicon Graphics not be | |
10 | used in advertising or publicity pertaining to distribution | |
11 | of the software without specific prior written permission. | |
12 | Silicon Graphics makes no representation about the suitability | |
13 | of this software for any purpose. It is provided "as is" | |
14 | without any express or implied warranty. | |
15 | ||
16 | SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS | |
17 | SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | |
18 | AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON | |
19 | GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL | |
20 | DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, | |
21 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE | |
22 | OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH | |
23 | THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
24 | ||
25 | ********************************************************/ | |
26 | ||
27 | #ifndef _XKBGEOM_H_ | |
28 | #define _XKBGEOM_H_ | |
29 | ||
30 | #include "xkbstr.h" | |
31 | ||
32 | #define XkbAddGeomKeyAlias SrvXkbAddGeomKeyAlias | |
33 | #define XkbAddGeomColor SrvXkbAddGeomColor | |
34 | #define XkbAddGeomDoodad SrvXkbAddGeomDoodad | |
35 | #define XkbAddGeomKey SrvXkbAddGeomKey | |
36 | #define XkbAddGeomOutline SrvXkbAddGeomOutline | |
37 | #define XkbAddGeomOverlay SrvXkbAddGeomOverlay | |
38 | #define XkbAddGeomOverlayRow SrvXkbAddGeomOverlayRow | |
39 | #define XkbAddGeomOverlayKey SrvXkbAddGeomOverlayKey | |
40 | #define XkbAddGeomProperty SrvXkbAddGeomProperty | |
41 | #define XkbAddGeomRow SrvXkbAddGeomRow | |
42 | #define XkbAddGeomSection SrvXkbAddGeomSection | |
43 | #define XkbAddGeomShape SrvXkbAddGeomShape | |
44 | #define XkbAllocGeometry SrvXkbAllocGeometry | |
45 | #define XkbFreeGeomKeyAliases SrvXkbFreeGeomKeyAliases | |
46 | #define XkbFreeGeomColors SrvXkbFreeGeomColors | |
47 | #define XkbFreeGeomDoodads SrvXkbFreeGeomDoodads | |
48 | #define XkbFreeGeomProperties SrvXkbFreeGeomProperties | |
49 | #define XkbFreeGeomKeys SrvXkbFreeGeomKeys | |
50 | #define XkbFreeGeomRows SrvXkbFreeGeomRows | |
51 | #define XkbFreeGeomSections SrvXkbFreeGeomSections | |
52 | #define XkbFreeGeomPoints SrvXkbFreeGeomPoints | |
53 | #define XkbFreeGeomOutlines SrvXkbFreeGeomOutlines | |
54 | #define XkbFreeGeomShapes SrvXkbFreeGeomShapes | |
55 | #define XkbFreeGeometry SrvXkbFreeGeometry | |
56 | ||
57 | typedef struct _XkbProperty { | |
58 | char *name; | |
59 | char *value; | |
60 | } XkbPropertyRec, *XkbPropertyPtr; | |
61 | ||
62 | typedef struct _XkbColor { | |
63 | unsigned int pixel; | |
64 | char *spec; | |
65 | } XkbColorRec, *XkbColorPtr; | |
66 | ||
67 | typedef struct _XkbPoint { | |
68 | short x; | |
69 | short y; | |
70 | } XkbPointRec, *XkbPointPtr; | |
71 | ||
72 | typedef struct _XkbBounds { | |
73 | short x1, y1; | |
74 | short x2, y2; | |
75 | } XkbBoundsRec, *XkbBoundsPtr; | |
76 | ||
77 | #define XkbBoundsWidth(b) (((b)->x2)-((b)->x1)) | |
78 | #define XkbBoundsHeight(b) (((b)->y2)-((b)->y1)) | |
79 | ||
80 | typedef struct _XkbOutline { | |
81 | unsigned short num_points; | |
82 | unsigned short sz_points; | |
83 | unsigned short corner_radius; | |
84 | XkbPointPtr points; | |
85 | } XkbOutlineRec, *XkbOutlinePtr; | |
86 | ||
87 | typedef struct _XkbShape { | |
88 | Atom name; | |
89 | unsigned short num_outlines; | |
90 | unsigned short sz_outlines; | |
91 | XkbOutlinePtr outlines; | |
92 | XkbOutlinePtr approx; | |
93 | XkbOutlinePtr primary; | |
94 | XkbBoundsRec bounds; | |
95 | } XkbShapeRec, *XkbShapePtr; | |
96 | ||
97 | #define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0])) | |
98 | ||
99 | typedef struct _XkbShapeDoodad { | |
100 | Atom name; | |
101 | unsigned char type; | |
102 | unsigned char priority; | |
103 | short top; | |
104 | short left; | |
105 | short angle; | |
106 | unsigned short color_ndx; | |
107 | unsigned short shape_ndx; | |
108 | } XkbShapeDoodadRec, *XkbShapeDoodadPtr; | |
109 | ||
110 | #define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) | |
111 | #define XkbShapeDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) | |
112 | #define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) | |
113 | #define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0]) | |
114 | ||
115 | typedef struct _XkbTextDoodad { | |
116 | Atom name; | |
117 | unsigned char type; | |
118 | unsigned char priority; | |
119 | short top; | |
120 | short left; | |
121 | short angle; | |
122 | short width; | |
123 | short height; | |
124 | unsigned short color_ndx; | |
125 | char *text; | |
126 | char *font; | |
127 | } XkbTextDoodadRec, *XkbTextDoodadPtr; | |
128 | ||
129 | #define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) | |
130 | #define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) | |
131 | ||
132 | typedef struct _XkbIndicatorDoodad { | |
133 | Atom name; | |
134 | unsigned char type; | |
135 | unsigned char priority; | |
136 | short top; | |
137 | short left; | |
138 | short angle; | |
139 | unsigned short shape_ndx; | |
140 | unsigned short on_color_ndx; | |
141 | unsigned short off_color_ndx; | |
142 | } XkbIndicatorDoodadRec, *XkbIndicatorDoodadPtr; | |
143 | ||
144 | #define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) | |
145 | #define XkbIndicatorDoodadOnColor(g,d) (&(g)->colors[(d)->on_color_ndx]) | |
146 | #define XkbIndicatorDoodadOffColor(g,d) (&(g)->colors[(d)->off_color_ndx]) | |
147 | #define XkbSetIndicatorDoodadOnColor(g,d,c) \ | |
148 | ((d)->on_color_ndx= (c)-&(g)->colors[0]) | |
149 | #define XkbSetIndicatorDoodadOffColor(g,d,c) \ | |
150 | ((d)->off_color_ndx= (c)-&(g)->colors[0]) | |
151 | #define XkbSetIndicatorDoodadShape(g,d,s) \ | |
152 | ((d)->shape_ndx= (s)-&(g)->shapes[0]) | |
153 | ||
154 | typedef struct _XkbLogoDoodad { | |
155 | Atom name; | |
156 | unsigned char type; | |
157 | unsigned char priority; | |
158 | short top; | |
159 | short left; | |
160 | short angle; | |
161 | unsigned short color_ndx; | |
162 | unsigned short shape_ndx; | |
163 | char *logo_name; | |
164 | } XkbLogoDoodadRec, *XkbLogoDoodadPtr; | |
165 | ||
166 | #define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx]) | |
167 | #define XkbLogoDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx]) | |
168 | #define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0]) | |
169 | #define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0]) | |
170 | ||
171 | typedef struct _XkbAnyDoodad { | |
172 | Atom name; | |
173 | unsigned char type; | |
174 | unsigned char priority; | |
175 | short top; | |
176 | short left; | |
177 | short angle; | |
178 | } XkbAnyDoodadRec, *XkbAnyDoodadPtr; | |
179 | ||
180 | typedef union _XkbDoodad { | |
181 | XkbAnyDoodadRec any; | |
182 | XkbShapeDoodadRec shape; | |
183 | XkbTextDoodadRec text; | |
184 | XkbIndicatorDoodadRec indicator; | |
185 | XkbLogoDoodadRec logo; | |
186 | } XkbDoodadRec, *XkbDoodadPtr; | |
187 | ||
188 | #define XkbUnknownDoodad 0 | |
189 | #define XkbOutlineDoodad 1 | |
190 | #define XkbSolidDoodad 2 | |
191 | #define XkbTextDoodad 3 | |
192 | #define XkbIndicatorDoodad 4 | |
193 | #define XkbLogoDoodad 5 | |
194 | ||
195 | typedef struct _XkbKey { | |
196 | XkbKeyNameRec name; | |
197 | short gap; | |
198 | unsigned char shape_ndx; | |
199 | unsigned char color_ndx; | |
200 | } XkbKeyRec, *XkbKeyPtr; | |
201 | ||
202 | #define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx]) | |
203 | #define XkbKeyColor(g,k) (&(g)->colors[(k)->color_ndx]) | |
204 | #define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0]) | |
205 | #define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0]) | |
206 | ||
207 | typedef struct _XkbRow { | |
208 | short top; | |
209 | short left; | |
210 | unsigned short num_keys; | |
211 | unsigned short sz_keys; | |
212 | int vertical; | |
213 | XkbKeyPtr keys; | |
214 | XkbBoundsRec bounds; | |
215 | } XkbRowRec, *XkbRowPtr; | |
216 | ||
217 | typedef struct _XkbSection { | |
218 | Atom name; | |
219 | unsigned char priority; | |
220 | short top; | |
221 | short left; | |
222 | unsigned short width; | |
223 | unsigned short height; | |
224 | short angle; | |
225 | unsigned short num_rows; | |
226 | unsigned short num_doodads; | |
227 | unsigned short num_overlays; | |
228 | unsigned short sz_rows; | |
229 | unsigned short sz_doodads; | |
230 | unsigned short sz_overlays; | |
231 | XkbRowPtr rows; | |
232 | XkbDoodadPtr doodads; | |
233 | XkbBoundsRec bounds; | |
234 | struct _XkbOverlay *overlays; | |
235 | } XkbSectionRec, *XkbSectionPtr; | |
236 | ||
237 | typedef struct _XkbOverlayKey { | |
238 | XkbKeyNameRec over; | |
239 | XkbKeyNameRec under; | |
240 | } XkbOverlayKeyRec, *XkbOverlayKeyPtr; | |
241 | ||
242 | typedef struct _XkbOverlayRow { | |
243 | unsigned short row_under; | |
244 | unsigned short num_keys; | |
245 | unsigned short sz_keys; | |
246 | XkbOverlayKeyPtr keys; | |
247 | } XkbOverlayRowRec, *XkbOverlayRowPtr; | |
248 | ||
249 | typedef struct _XkbOverlay { | |
250 | Atom name; | |
251 | XkbSectionPtr section_under; | |
252 | unsigned short num_rows; | |
253 | unsigned short sz_rows; | |
254 | XkbOverlayRowPtr rows; | |
255 | XkbBoundsPtr bounds; | |
256 | } XkbOverlayRec, *XkbOverlayPtr; | |
257 | ||
258 | typedef struct _XkbGeometry { | |
259 | Atom name; | |
260 | unsigned short width_mm; | |
261 | unsigned short height_mm; | |
262 | char *label_font; | |
263 | XkbColorPtr label_color; | |
264 | XkbColorPtr base_color; | |
265 | unsigned short sz_properties; | |
266 | unsigned short sz_colors; | |
267 | unsigned short sz_shapes; | |
268 | unsigned short sz_sections; | |
269 | unsigned short sz_doodads; | |
270 | unsigned short sz_key_aliases; | |
271 | unsigned short num_properties; | |
272 | unsigned short num_colors; | |
273 | unsigned short num_shapes; | |
274 | unsigned short num_sections; | |
275 | unsigned short num_doodads; | |
276 | unsigned short num_key_aliases; | |
277 | XkbPropertyPtr properties; | |
278 | XkbColorPtr colors; | |
279 | XkbShapePtr shapes; | |
280 | XkbSectionPtr sections; | |
281 | XkbDoodadPtr doodads; | |
282 | XkbKeyAliasPtr key_aliases; | |
283 | } XkbGeometryRec; | |
284 | ||
285 | #define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0])) | |
286 | ||
287 | #define XkbGeomPropertiesMask (1<<0) | |
288 | #define XkbGeomColorsMask (1<<1) | |
289 | #define XkbGeomShapesMask (1<<2) | |
290 | #define XkbGeomSectionsMask (1<<3) | |
291 | #define XkbGeomDoodadsMask (1<<4) | |
292 | #define XkbGeomKeyAliasesMask (1<<5) | |
293 | #define XkbGeomAllMask (0x3f) | |
294 | ||
295 | typedef struct _XkbGeometrySizes { | |
296 | unsigned int which; | |
297 | unsigned short num_properties; | |
298 | unsigned short num_colors; | |
299 | unsigned short num_shapes; | |
300 | unsigned short num_sections; | |
301 | unsigned short num_doodads; | |
302 | unsigned short num_key_aliases; | |
303 | } XkbGeometrySizesRec, *XkbGeometrySizesPtr; | |
304 | ||
305 | /** | |
306 | * Specifies which items should be cleared in an XKB geometry array | |
307 | * when the array is reallocated. | |
308 | */ | |
309 | typedef enum { | |
310 | XKB_GEOM_CLEAR_NONE, /* Don't clear any items, just reallocate. */ | |
311 | XKB_GEOM_CLEAR_EXCESS, /* Clear new extra items after reallocation. */ | |
312 | XKB_GEOM_CLEAR_ALL /* Clear all items after reallocation. */ | |
313 | } XkbGeomClearance; | |
314 | ||
315 | extern XkbPropertyPtr XkbAddGeomProperty(XkbGeometryPtr /* geom */ , | |
316 | char * /* name */ , | |
317 | char * /* value */ | |
318 | ); | |
319 | ||
320 | extern XkbKeyAliasPtr XkbAddGeomKeyAlias(XkbGeometryPtr /* geom */ , | |
321 | char * /* alias */ , | |
322 | char * /* real */ | |
323 | ); | |
324 | ||
325 | extern XkbColorPtr XkbAddGeomColor(XkbGeometryPtr /* geom */ , | |
326 | char * /* spec */ , | |
327 | unsigned int /* pixel */ | |
328 | ); | |
329 | ||
330 | extern XkbOutlinePtr XkbAddGeomOutline(XkbShapePtr /* shape */ , | |
331 | int /* sz_points */ | |
332 | ); | |
333 | ||
334 | extern XkbShapePtr XkbAddGeomShape(XkbGeometryPtr /* geom */ , | |
335 | Atom /* name */ , | |
336 | int /* sz_outlines */ | |
337 | ); | |
338 | ||
339 | extern XkbKeyPtr XkbAddGeomKey(XkbRowPtr /* row */ | |
340 | ); | |
341 | ||
342 | extern XkbRowPtr XkbAddGeomRow(XkbSectionPtr /* section */ , | |
343 | int /* sz_keys */ | |
344 | ); | |
345 | ||
346 | extern XkbSectionPtr XkbAddGeomSection(XkbGeometryPtr /* geom */ , | |
347 | Atom /* name */ , | |
348 | int /* sz_rows */ , | |
349 | int /* sz_doodads */ , | |
350 | int /* sz_overlays */ | |
351 | ); | |
352 | ||
353 | extern XkbOverlayPtr XkbAddGeomOverlay(XkbSectionPtr /* section */ , | |
354 | Atom /* name */ , | |
355 | int /* sz_rows */ | |
356 | ); | |
357 | ||
358 | extern XkbOverlayRowPtr XkbAddGeomOverlayRow(XkbOverlayPtr /* overlay */ , | |
359 | int /* row_under */ , | |
360 | int /* sz_keys */ | |
361 | ); | |
362 | ||
363 | extern XkbOverlayKeyPtr XkbAddGeomOverlayKey(XkbOverlayPtr /* overlay */ , | |
364 | XkbOverlayRowPtr /* row */ , | |
365 | char * /* over */ , | |
366 | char * /* under */ | |
367 | ); | |
368 | ||
369 | extern XkbDoodadPtr XkbAddGeomDoodad(XkbGeometryPtr /* geom */ , | |
370 | XkbSectionPtr /* section */ , | |
371 | Atom /* name */ | |
372 | ); | |
373 | ||
374 | extern void | |
375 | XkbFreeGeomKeyAliases(XkbGeometryPtr /* geom */ , | |
376 | int /* first */ , | |
377 | int /* count */ , | |
378 | Bool /* freeAll */ | |
379 | ); | |
380 | ||
381 | extern void | |
382 | XkbFreeGeomColors(XkbGeometryPtr /* geom */ , | |
383 | int /* first */ , | |
384 | int /* count */ , | |
385 | Bool /* freeAll */ | |
386 | ); | |
387 | ||
388 | extern void | |
389 | XkbFreeGeomDoodads(XkbDoodadPtr /* doodads */ , | |
390 | int /* nDoodads */ , | |
391 | Bool /* freeAll */ | |
392 | ); | |
393 | ||
394 | extern void | |
395 | XkbFreeGeomProperties(XkbGeometryPtr /* geom */ , | |
396 | int /* first */ , | |
397 | int /* count */ , | |
398 | Bool /* freeAll */ | |
399 | ); | |
400 | ||
401 | extern void | |
402 | XkbFreeGeomOverlayKeys(XkbOverlayRowPtr /* row */ , | |
403 | int /* first */ , | |
404 | int /* count */ , | |
405 | Bool /* freeAll */ | |
406 | ); | |
407 | ||
408 | extern void | |
409 | XkbFreeGeomOverlayRows(XkbOverlayPtr /* overlay */ , | |
410 | int /* first */ , | |
411 | int /* count */ , | |
412 | Bool /* freeAll */ | |
413 | ); | |
414 | ||
415 | extern void | |
416 | XkbFreeGeomOverlays(XkbSectionPtr /* section */ , | |
417 | int /* first */ , | |
418 | int /* count */ , | |
419 | Bool /* freeAll */ | |
420 | ); | |
421 | ||
422 | extern void | |
423 | XkbFreeGeomKeys(XkbRowPtr /* row */ , | |
424 | int /* first */ , | |
425 | int /* count */ , | |
426 | Bool /* freeAll */ | |
427 | ); | |
428 | ||
429 | extern void | |
430 | XkbFreeGeomRows(XkbSectionPtr /* section */ , | |
431 | int /* first */ , | |
432 | int /* count */ , | |
433 | Bool /* freeAll */ | |
434 | ); | |
435 | ||
436 | extern void | |
437 | XkbFreeGeomSections(XkbGeometryPtr /* geom */ , | |
438 | int /* first */ , | |
439 | int /* count */ , | |
440 | Bool /* freeAll */ | |
441 | ); | |
442 | ||
443 | extern void | |
444 | XkbFreeGeomPoints(XkbOutlinePtr /* outline */ , | |
445 | int /* first */ , | |
446 | int /* count */ , | |
447 | Bool /* freeAll */ | |
448 | ); | |
449 | ||
450 | extern void | |
451 | XkbFreeGeomOutlines(XkbShapePtr /* shape */ , | |
452 | int /* first */ , | |
453 | int /* count */ , | |
454 | Bool /* freeAll */ | |
455 | ); | |
456 | ||
457 | extern void | |
458 | XkbFreeGeomShapes(XkbGeometryPtr /* geom */ , | |
459 | int /* first */ , | |
460 | int /* count */ , | |
461 | Bool /* freeAll */ | |
462 | ); | |
463 | ||
464 | extern void | |
465 | XkbFreeGeometry(XkbGeometryPtr /* geom */ , | |
466 | unsigned int /* which */ , | |
467 | Bool /* freeMap */ | |
468 | ); | |
469 | ||
470 | extern Bool | |
471 | XkbGeomRealloc(void ** /* buffer */ , | |
472 | int /* szItems */ , | |
473 | int /* nrItems */ , | |
474 | int /* itemSize */ , | |
475 | XkbGeomClearance /* clearance */ | |
476 | ); | |
477 | ||
478 | extern Status XkbAllocGeomProps(XkbGeometryPtr /* geom */ , | |
479 | int /* nProps */ | |
480 | ); | |
481 | ||
482 | extern Status XkbAllocGeomKeyAliases(XkbGeometryPtr /* geom */ , | |
483 | int /* nAliases */ | |
484 | ); | |
485 | ||
486 | extern Status XkbAllocGeomColors(XkbGeometryPtr /* geom */ , | |
487 | int /* nColors */ | |
488 | ); | |
489 | ||
490 | extern Status XkbAllocGeomShapes(XkbGeometryPtr /* geom */ , | |
491 | int /* nShapes */ | |
492 | ); | |
493 | ||
494 | extern Status XkbAllocGeomSections(XkbGeometryPtr /* geom */ , | |
495 | int /* nSections */ | |
496 | ); | |
497 | ||
498 | extern Status XkbAllocGeomOverlays(XkbSectionPtr /* section */ , | |
499 | int /* num_needed */ | |
500 | ); | |
501 | ||
502 | extern Status XkbAllocGeomOverlayRows(XkbOverlayPtr /* overlay */ , | |
503 | int /* num_needed */ | |
504 | ); | |
505 | ||
506 | extern Status XkbAllocGeomOverlayKeys(XkbOverlayRowPtr /* row */ , | |
507 | int /* num_needed */ | |
508 | ); | |
509 | ||
510 | extern Status XkbAllocGeomDoodads(XkbGeometryPtr /* geom */ , | |
511 | int /* nDoodads */ | |
512 | ); | |
513 | ||
514 | extern Status XkbAllocGeomSectionDoodads(XkbSectionPtr /* section */ , | |
515 | int /* nDoodads */ | |
516 | ); | |
517 | ||
518 | extern Status XkbAllocGeomOutlines(XkbShapePtr /* shape */ , | |
519 | int /* nOL */ | |
520 | ); | |
521 | ||
522 | extern Status XkbAllocGeomRows(XkbSectionPtr /* section */ , | |
523 | int /* nRows */ | |
524 | ); | |
525 | ||
526 | extern Status XkbAllocGeomPoints(XkbOutlinePtr /* ol */ , | |
527 | int /* nPts */ | |
528 | ); | |
529 | ||
530 | extern Status XkbAllocGeomKeys(XkbRowPtr /* row */ , | |
531 | int /* nKeys */ | |
532 | ); | |
533 | ||
534 | extern Status XkbAllocGeometry(XkbDescPtr /* xkb */ , | |
535 | XkbGeometrySizesPtr /* sizes */ | |
536 | ); | |
537 | ||
538 | extern Bool | |
539 | XkbComputeShapeTop(XkbShapePtr /* shape */ , | |
540 | XkbBoundsPtr /* bounds */ | |
541 | ); | |
542 | ||
543 | extern Bool | |
544 | XkbComputeShapeBounds(XkbShapePtr /* shape */ | |
545 | ); | |
546 | ||
547 | extern Bool | |
548 | XkbComputeRowBounds(XkbGeometryPtr /* geom */ , | |
549 | XkbSectionPtr /* section */ , | |
550 | XkbRowPtr /* row */ | |
551 | ); | |
552 | ||
553 | extern Bool | |
554 | XkbComputeSectionBounds(XkbGeometryPtr /* geom */ , | |
555 | XkbSectionPtr /* section */ | |
556 | ); | |
557 | ||
558 | extern char *XkbFindOverlayForKey(XkbGeometryPtr /* geom */ , | |
559 | XkbSectionPtr /* wanted */ , | |
560 | char * /* under */ | |
561 | ); | |
562 | ||
563 | #endif /* _XKBGEOM_H_ */ |