home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-bin / x11r6.1 / include / x11 / extensions / xkbgeom.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-10-17  |  16.8 KB  |  746 lines

  1. /* $XConsortium: XKBgeom.h /main/7 1996/03/06 21:40:11 kaleb $ */
  2. /************************************************************
  3. Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
  4.  
  5. Permission to use, copy, modify, and distribute this
  6. software and its documentation for any purpose and without
  7. fee is hereby granted, provided that the above copyright
  8. notice appear in all copies and that both that copyright
  9. notice and this permission notice appear in supporting
  10. documentation, and that the name of Silicon Graphics not be 
  11. used in advertising or publicity pertaining to distribution 
  12. of the software without specific prior written permission.
  13. Silicon Graphics makes no representation about the suitability 
  14. of this software for any purpose. It is provided "as is"
  15. without any express or implied warranty.
  16.  
  17. SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 
  18. SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 
  19. AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
  20. GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
  21. DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
  22. DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 
  23. OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
  24. THE USE OR PERFORMANCE OF THIS SOFTWARE.
  25.  
  26. ********************************************************/
  27.  
  28. #ifndef _XKBGEOM_H_
  29. #define    _XKBGEOM_H_
  30.  
  31. #ifdef XKB_IN_SERVER
  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 XkbAllocGeomKeyAliases        SrvXkbAllocGeomKeyAliases
  45. #define XkbAllocGeomColors        SrvXkbAllocGeomColors
  46. #define XkbAllocGeomDoodads        SrvXkbAllocGeomDoodads
  47. #define XkbAllocGeomKeys        SrvXkbAllocGeomKeys
  48. #define XkbAllocGeomOutlines        SrvXkbAllocGeomOutlines
  49. #define XkbAllocGeomPoints        SrvXkbAllocGeomPoints
  50. #define XkbAllocGeomProps        SrvXkbAllocGeomProps
  51. #define XkbAllocGeomRows        SrvXkbAllocGeomRows
  52. #define XkbAllocGeomSectionDoodads    SrvXkbAllocGeomSectionDoodads
  53. #define XkbAllocGeomSections        SrvXkbAllocGeomSections
  54. #define    XkbAllocGeomOverlays        SrvXkbAllocGeomOverlays
  55. #define    XkbAllocGeomOverlayRows        SrvXkbAllocGeomOverlayRows
  56. #define    XkbAllocGeomOverlayKeys        SrvXkbAllocGeomOverlayKeys
  57. #define XkbAllocGeomShapes        SrvXkbAllocGeomShapes
  58. #define XkbAllocGeometry        SrvXkbAllocGeometry
  59. #define XkbFreeGeomKeyAliases        SrvXkbFreeGeomKeyAliases
  60. #define XkbFreeGeomColors        SrvXkbFreeGeomColors
  61. #define XkbFreeGeomDoodads        SrvXkbFreeGeomDoodads
  62. #define XkbFreeGeomProperties        SrvXkbFreeGeomProperties
  63. #define    XkbFreeGeomOverlayKeys        SrvXkbFreeGeomOverlayKeys
  64. #define    XkbFreeGeomOverlayRows        SrvXkbFreeGeomOverlayRows
  65. #define    XkbFreeGeomOverlays        SrvXkbFreeGeomOverlays
  66. #define    XkbFreeGeomKeys            SrvXKbFreeGeomKeys
  67. #define    XkbFreeGeomRows            SrvXKbFreeGeomRows
  68. #define XkbFreeGeomSections        SrvXkbFreeGeomSections
  69. #define    XkbFreeGeomPoints        SrvXkbFreeGeomPoints
  70. #define    XkbFreeGeomOutlines        SrvXkbFreeGeomOutlines
  71. #define XkbFreeGeomShapes        SrvXkbFreeGeomShapes
  72. #define XkbFreeGeometry            SrvXkbFreeGeometry
  73. #endif
  74.  
  75. typedef    struct _XkbProperty {
  76.     char    *name;
  77.     char    *value;
  78. } XkbPropertyRec,*XkbPropertyPtr;
  79.  
  80. typedef struct _XkbColor {
  81.     unsigned int     pixel;
  82.     char *        spec;
  83. } XkbColorRec,*XkbColorPtr;
  84.  
  85. typedef    struct _XkbPoint {
  86.     short    x;
  87.     short    y;
  88. } XkbPointRec, *XkbPointPtr;
  89.  
  90. typedef struct    _XkbBounds {
  91.     short    x1,y1;
  92.     short    x2,y2;
  93. } XkbBoundsRec, *XkbBoundsPtr;
  94. #define    XkbBoundsWidth(b)    (((b)->x2)-((b)->x1))
  95. #define    XkbBoundsHeight(b)    (((b)->y2)-((b)->y1))
  96.  
  97. typedef struct _XkbOutline {
  98.     unsigned short    num_points;
  99.     unsigned short    sz_points;
  100.     unsigned short    corner_radius;
  101.     XkbPointPtr    points;
  102. } XkbOutlineRec, *XkbOutlinePtr;
  103.  
  104. typedef struct _XkbShape {
  105.     Atom          name;
  106.     unsigned short     num_outlines;
  107.     unsigned short     sz_outlines;
  108.     XkbOutlinePtr     outlines;
  109.     XkbOutlinePtr     approx;
  110.     XkbOutlinePtr     primary;
  111.     XkbBoundsRec     bounds;
  112. } XkbShapeRec, *XkbShapePtr;
  113. #define    XkbOutlineIndex(s,o)    ((o)-&(s)->outlines[0])
  114.  
  115. typedef struct _XkbShapeDoodad {
  116.     Atom         name;
  117.     unsigned char     type;
  118.     unsigned char     priority;
  119.     short         top;
  120.     short         left;
  121.     short          angle;
  122.     unsigned short     color_ndx;
  123.     unsigned short     shape_ndx;
  124. } XkbShapeDoodadRec, *XkbShapeDoodadPtr;
  125. #define    XkbShapeDoodadColor(g,d)    (&(g)->colors[(d)->color_ndx])
  126. #define    XkbShapeDoodadShape(g,d)    (&(g)->shapes[(d)->shape_ndx])
  127. #define    XkbSetShapeDoodadColor(g,d,c)    ((d)->color_ndx= (c)-&(g)->colors[0])
  128. #define    XkbSetShapeDoodadShape(g,d,s)    ((d)->shape_ndx= (s)-&(g)->shapes[0])
  129.  
  130. typedef struct _XkbTextDoodad {
  131.     Atom         name;
  132.     unsigned char     type;
  133.     unsigned char     priority;
  134.     short          top;
  135.     short          left;
  136.     short          angle;
  137.     short          width;
  138.     short         height;
  139.     unsigned short     color_ndx;
  140.     char *         text;
  141.     char *         font;
  142. } XkbTextDoodadRec, *XkbTextDoodadPtr;
  143. #define    XkbTextDoodadColor(g,d)    (&(g)->colors[(d)->color_ndx])
  144. #define    XkbSetTextDoodadColor(g,d,c)    ((d)->color_ndx= (c)-&(g)->colors[0])
  145.  
  146. typedef struct _XkbIndicatorDoodad {
  147.     Atom         name;
  148.     unsigned char     type;
  149.     unsigned char     priority;
  150.     short          top;
  151.     short          left;
  152.     short         angle;
  153.     unsigned short     shape_ndx;
  154.     unsigned short     on_color_ndx;
  155.     unsigned short     off_color_ndx;
  156. } XkbIndicatorDoodadRec, *XkbIndicatorDoodadPtr;
  157. #define    XkbIndicatorDoodadShape(g,d)    (&(g)->shapes[(d)->shape_ndx])
  158. #define    XkbIndicatorDoodadOnColor(g,d)    (&(g)->colors[(d)->on_color_ndx])
  159. #define    XkbIndicatorDoodadOffColor(g,d)    (&(g)->colors[(d)->off_color_ndx])
  160. #define    XkbSetIndicatorDoodadOnColor(g,d,c) \
  161.                 ((d)->on_color_ndx= (c)-&(g)->colors[0])
  162. #define    XkbSetIndicatorDoodadOffColor(g,d,c) \
  163.                 ((d)->off_color_ndx= (c)-&(g)->colors[0])
  164. #define    XkbSetIndicatorDoodadShape(g,d,s) \
  165.                 ((d)->shape_ndx= (s)-&(g)->shapes[0])
  166.  
  167. typedef struct _XkbLogoDoodad {
  168.     Atom         name;
  169.     unsigned char     type;
  170.     unsigned char     priority;
  171.     short         top;
  172.     short         left;
  173.     short          angle;
  174.     unsigned short     color_ndx;
  175.     unsigned short     shape_ndx;
  176.     char *         logo_name;
  177. } XkbLogoDoodadRec, *XkbLogoDoodadPtr;
  178. #define    XkbLogoDoodadColor(g,d)        (&(g)->colors[(d)->color_ndx])
  179. #define    XkbLogoDoodadShape(g,d)        (&(g)->shapes[(d)->shape_ndx])
  180. #define    XkbSetLogoDoodadColor(g,d,c)    ((d)->color_ndx= (c)-&(g)->colors[0])
  181. #define    XkbSetLogoDoodadShape(g,d,s)    ((d)->shape_ndx= (s)-&(g)->shapes[0])
  182.  
  183. typedef struct _XkbAnyDoodad {
  184.     Atom         name;
  185.     unsigned char     type;
  186.     unsigned char     priority;
  187.     short          top;
  188.     short          left;
  189.     short         angle;
  190. } XkbAnyDoodadRec, *XkbAnyDoodadPtr;
  191.  
  192. typedef union _XkbDoodad {
  193.     XkbAnyDoodadRec        any;
  194.     XkbShapeDoodadRec    shape;
  195.     XkbTextDoodadRec    text;
  196.     XkbIndicatorDoodadRec    indicator;
  197.     XkbLogoDoodadRec    logo;
  198. } XkbDoodadRec, *XkbDoodadPtr;
  199.  
  200. #define    XkbUnknownDoodad    0
  201. #define    XkbOutlineDoodad    1
  202. #define    XkbSolidDoodad        2
  203. #define    XkbTextDoodad        3
  204. #define    XkbIndicatorDoodad    4
  205. #define    XkbLogoDoodad        5
  206.  
  207. typedef struct _XkbKey {
  208.     XkbKeyNameRec     name;
  209.     short         gap;
  210.     unsigned char     shape_ndx;
  211.     unsigned char     color_ndx;
  212. } XkbKeyRec, *XkbKeyPtr;
  213. #define    XkbKeyShape(g,k)    (&(g)->shapes[(k)->shape_ndx])
  214. #define    XkbKeyColor(g,k)    (&(g)->colors[(k)->color_ndx])
  215. #define    XkbSetKeyShape(g,k,s)    ((k)->shape_ndx= (s)-&(g)->shapes[0])
  216. #define    XkbSetKeyColor(g,k,c)    ((k)->color_ndx= (c)-&(g)->colors[0])
  217.  
  218. typedef struct _XkbRow {
  219.     short         top;
  220.     short         left;
  221.     unsigned short    num_keys;
  222.     unsigned short    sz_keys;
  223.     int        vertical;
  224.     XkbKeyPtr    keys;
  225.     XkbBoundsRec    bounds;
  226. } XkbRowRec, *XkbRowPtr;
  227.  
  228. typedef struct _XkbSection {
  229.     Atom         name;
  230.     unsigned char     priority;
  231.     short          top;
  232.     short          left;
  233.     unsigned short     width;
  234.     unsigned short     height;
  235.     short          angle;
  236.     unsigned short     num_rows;
  237.     unsigned short     num_doodads;
  238.     unsigned short     num_overlays;
  239.     unsigned short     sz_rows;
  240.     unsigned short     sz_doodads;
  241.     unsigned short     sz_overlays;
  242.     XkbRowPtr     rows;
  243.     XkbDoodadPtr     doodads;
  244.     XkbBoundsRec     bounds;
  245.     struct _XkbOverlay *overlays;
  246. } XkbSectionRec, *XkbSectionPtr;
  247.  
  248. typedef    struct _XkbOverlayKey {
  249.     XkbKeyNameRec    over;
  250.     XkbKeyNameRec    under;
  251. } XkbOverlayKeyRec,*XkbOverlayKeyPtr;
  252.  
  253. typedef struct _XkbOverlayRow {
  254.     unsigned short        row_under;
  255.     unsigned short        num_keys;
  256.     unsigned short        sz_keys;
  257.     XkbOverlayKeyPtr    keys;
  258. } XkbOverlayRowRec,*XkbOverlayRowPtr;
  259.  
  260. typedef struct _XkbOverlay {
  261.     Atom            name;
  262.     XkbSectionPtr        section_under;
  263.     unsigned short        num_rows;
  264.     unsigned short        sz_rows;
  265.     XkbOverlayRowPtr    rows;
  266.     XkbBoundsPtr        bounds;
  267. } XkbOverlayRec,*XkbOverlayPtr;
  268.  
  269. typedef struct _XkbGeometry {
  270.     Atom         name;
  271.     unsigned short     width_mm;
  272.     unsigned short     height_mm;
  273.     char *         label_font;
  274.     XkbColorPtr     label_color;
  275.     XkbColorPtr     base_color;
  276.     unsigned short     sz_properties;
  277.     unsigned short     sz_colors;
  278.     unsigned short     sz_shapes;
  279.     unsigned short   sz_sections;
  280.     unsigned short     sz_doodads;
  281.     unsigned short     sz_key_aliases;
  282.     unsigned short     num_properties;
  283.     unsigned short     num_colors;
  284.     unsigned short     num_shapes;
  285.     unsigned short     num_sections;
  286.     unsigned short     num_doodads;
  287.     unsigned short     num_key_aliases;
  288.     XkbPropertyPtr     properties;
  289.     XkbColorPtr     colors;
  290.     XkbShapePtr     shapes;
  291.     XkbSectionPtr     sections;
  292.     XkbDoodadPtr     doodads;
  293.     XkbKeyAliasPtr     key_aliases;
  294. } XkbGeometryRec;
  295. #define    XkbGeomColorIndex(g,c)    ((c)-&(g)->colors[0])
  296.  
  297. #define    XkbGeomPropertiesMask    (1<<0)
  298. #define    XkbGeomColorsMask    (1<<1)
  299. #define    XkbGeomShapesMask    (1<<2)
  300. #define    XkbGeomSectionsMask    (1<<3)
  301. #define    XkbGeomDoodadsMask    (1<<4)
  302. #define    XkbGeomKeyAliasesMask    (1<<5)
  303. #define    XkbGeomAllMask        (0x3f)
  304.  
  305. typedef struct _XkbGeometrySizes {
  306.     unsigned int    which;
  307.     unsigned short    num_properties;
  308.     unsigned short    num_colors;
  309.     unsigned short    num_shapes;
  310.     unsigned short    num_sections;
  311.     unsigned short    num_doodads;
  312.     unsigned short    num_key_aliases;
  313. } XkbGeometrySizesRec,*XkbGeometrySizesPtr;
  314.  
  315. _XFUNCPROTOBEGIN
  316.  
  317. extern    XkbPropertyPtr
  318. XkbAddGeomProperty(
  319. #if NeedFunctionPrototypes
  320.     XkbGeometryPtr    /* geom */,
  321.     char *        /* name */,
  322.     char *        /* value */
  323. #endif
  324. );
  325.  
  326. extern    XkbKeyAliasPtr
  327. XkbAddGeomKeyAlias(
  328. #if NeedFunctionPrototypes
  329.     XkbGeometryPtr    /* geom */,
  330.     char *        /* alias */,
  331.     char *        /* real */
  332. #endif
  333. );
  334.  
  335. extern    XkbColorPtr
  336. XkbAddGeomColor(
  337. #if NeedFunctionPrototypes
  338.     XkbGeometryPtr    /* geom */,
  339.     char *        /* spec */,
  340.     unsigned int    /* pixel */
  341. #endif
  342. );
  343.  
  344. extern    XkbOutlinePtr
  345. XkbAddGeomOutline(
  346. #if NeedFunctionPrototypes
  347.     XkbShapePtr        /* shape */,
  348.     int            /* sz_points */
  349. #endif
  350. );
  351.  
  352. extern XkbShapePtr
  353. XkbAddGeomShape(
  354. #if NeedFunctionPrototypes
  355.     XkbGeometryPtr    /* geom */,
  356.     Atom        /* name */,
  357.     int            /* sz_outlines */
  358. #endif
  359. );
  360.  
  361. extern XkbKeyPtr
  362. XkbAddGeomKey(
  363. #if NeedFunctionPrototypes
  364.     XkbRowPtr        /* row */
  365. #endif
  366. );
  367.  
  368. extern XkbRowPtr
  369. XkbAddGeomRow(
  370. #if NeedFunctionPrototypes
  371.     XkbSectionPtr    /* section */,
  372.     int            /* sz_keys */
  373. #endif
  374. );
  375.  
  376. extern XkbSectionPtr
  377. XkbAddGeomSection(
  378. #if NeedFunctionPrototypes
  379.     XkbGeometryPtr    /* geom */,
  380.     Atom        /* name */,
  381.     int            /* sz_rows */,
  382.     int            /* sz_doodads */,
  383.     int            /* sz_overlays */
  384. #endif
  385. );
  386.  
  387. extern XkbOverlayPtr
  388. XkbAddGeomOverlay(
  389. #if NeedFunctionPrototypes
  390.     XkbSectionPtr    /* section */,
  391.     Atom        /* name */,
  392.     int            /* sz_rows */
  393. #endif
  394. );
  395.  
  396. extern XkbOverlayRowPtr
  397. XkbAddGeomOverlayRow(
  398. #if NeedFunctionPrototypes
  399.     XkbOverlayPtr    /* overlay */,
  400.     int            /* row_under */,
  401.     int            /* sz_keys */
  402. #endif
  403. );
  404.  
  405. extern XkbOverlayKeyPtr
  406. XkbAddGeomOverlayKey(
  407. #if NeedFunctionPrototypes
  408.     XkbOverlayPtr    /* overlay */,
  409.     XkbOverlayRowPtr    /* row */,
  410.     char *        /* over */,
  411.     char *        /* under */
  412. #endif
  413. );
  414.  
  415. extern XkbDoodadPtr
  416. XkbAddGeomDoodad(
  417. #if NeedFunctionPrototypes
  418.     XkbGeometryPtr    /* geom */,
  419.     XkbSectionPtr    /* section */,
  420.     Atom        /* name */
  421. #endif
  422. );
  423.  
  424.  
  425. extern void
  426. XkbFreeGeomKeyAliases(
  427. #if NeedFunctionPrototypes
  428.     XkbGeometryPtr    /* geom */,
  429.     int            /* first */,
  430.     int            /* count */,
  431.     Bool        /* freeAll */
  432. #endif
  433. );
  434.  
  435. extern void
  436. XkbFreeGeomColors(
  437. #if NeedFunctionPrototypes
  438.     XkbGeometryPtr    /* geom */,
  439.     int            /* first */,
  440.     int            /* count */,
  441.     Bool        /* freeAll */
  442. #endif
  443. );
  444.  
  445. extern void
  446. XkbFreeGeomDoodads(
  447. #if NeedFunctionPrototypes
  448.     XkbDoodadPtr    /* doodads */,
  449.     int            /* nDoodads */,
  450.     Bool        /* freeAll */
  451. #endif
  452. );
  453.  
  454.  
  455. extern void
  456. XkbFreeGeomProperties(
  457. #if NeedFunctionPrototypes
  458.     XkbGeometryPtr    /* geom */,
  459.     int            /* first */,
  460.     int            /* count */,
  461.     Bool        /* freeAll */
  462. #endif
  463. );
  464.  
  465. extern void
  466. XkbFreeGeomOverlayKeys(
  467. #if NeedFunctionPrototypes
  468.     XkbOverlayRowPtr    /* row */,
  469.     int            /* first */,
  470.     int            /* count */,
  471.     Bool        /* freeAll */
  472. #endif
  473. );
  474.  
  475. extern void
  476. XkbFreeGeomOverlayRows(
  477. #if NeedFunctionPrototypes
  478.     XkbOverlayPtr    /* overlay */,
  479.     int            /* first */,
  480.     int            /* count */,
  481.     Bool        /* freeAll */
  482. #endif
  483. );
  484.  
  485. extern void
  486. XkbFreeGeomOverlays(
  487. #if NeedFunctionPrototypes
  488.     XkbSectionPtr    /* section */,
  489.     int            /* first */,
  490.     int            /* count */,
  491.     Bool        /* freeAll */
  492. #endif
  493. );
  494.  
  495. extern void
  496. XkbFreeGeomKeys(
  497. #if NeedFunctionPrototypes
  498.     XkbRowPtr        /* row */,
  499.     int            /* first */,
  500.     int            /* count */,
  501.     Bool        /* freeAll */
  502. #endif
  503. );
  504.  
  505. extern void
  506. XkbFreeGeomRows(
  507. #if NeedFunctionPrototypes
  508.     XkbSectionPtr    /* section */,
  509.     int            /* first */,
  510.     int            /* count */,
  511.     Bool        /* freeAll */
  512. #endif
  513. );
  514.  
  515. extern void
  516. XkbFreeGeomSections(
  517. #if NeedFunctionPrototypes
  518.     XkbGeometryPtr    /* geom */,
  519.     int            /* first */,
  520.     int            /* count */,
  521.     Bool        /* freeAll */
  522. #endif
  523. );
  524.  
  525.  
  526. extern void
  527. XkbFreeGeomPoints(
  528. #if NeedFunctionPrototypes
  529.     XkbOutlinePtr    /* outline */,
  530.     int            /* first */,
  531.     int            /* count */,
  532.     Bool        /* freeAll */
  533. #endif
  534. );
  535.  
  536. extern void
  537. XkbFreeGeomOutlines(
  538. #if NeedFunctionPrototypes
  539.     XkbShapePtr        /* shape */,
  540.     int            /* first */,
  541.     int            /* count */,
  542.     Bool        /* freeAll */
  543. #endif
  544. );
  545.  
  546. extern void
  547. XkbFreeGeomShapes(
  548. #if NeedFunctionPrototypes
  549.     XkbGeometryPtr    /* geom */,
  550.     int            /* first */,
  551.     int            /* count */,
  552.     Bool        /* freeAll */
  553. #endif
  554. );
  555.  
  556. extern void
  557. XkbFreeGeometry(
  558. #if NeedFunctionPrototypes
  559.     XkbGeometryPtr    /* geom */,
  560.     unsigned int    /* which */,
  561.     Bool        /* freeMap */
  562. #endif
  563. );
  564.  
  565. extern Status
  566. XkbAllocGeomProps(
  567. #if NeedFunctionPrototypes
  568.     XkbGeometryPtr    /* geom */,
  569.     int            /* nProps */
  570. #endif
  571. );
  572.  
  573. extern Status
  574. XkbAllocGeomKeyAliases(
  575. #if NeedFunctionPrototypes
  576.     XkbGeometryPtr    /* geom */,
  577.     int            /* nAliases */
  578. #endif
  579. );
  580.  
  581. extern Status
  582. XkbAllocGeomColors(
  583. #if NeedFunctionPrototypes
  584.     XkbGeometryPtr    /* geom */,
  585.     int            /* nColors */
  586. #endif
  587. );
  588.  
  589. extern Status
  590. XkbAllocGeomShapes(
  591. #if NeedFunctionPrototypes
  592.     XkbGeometryPtr    /* geom */,
  593.     int            /* nShapes */
  594. #endif
  595. );
  596.  
  597. extern Status
  598. XkbAllocGeomSections(
  599. #if NeedFunctionPrototypes
  600.     XkbGeometryPtr    /* geom */,
  601.     int            /* nSections */
  602. #endif
  603. );
  604.  
  605. extern Status
  606. XkbAllocGeomOverlays(
  607. #if NeedFunctionPrototypes
  608.     XkbSectionPtr    /* section */,
  609.     int            /* num_needed */
  610. #endif
  611. );
  612.  
  613. extern Status
  614. XkbAllocGeomOverlayRows(
  615. #if NeedFunctionPrototypes
  616.     XkbOverlayPtr    /* overlay */,
  617.     int            /* num_needed */
  618. #endif
  619. );
  620.  
  621. extern Status
  622. XkbAllocGeomOverlayKeys(
  623. #if NeedFunctionPrototypes
  624.     XkbOverlayRowPtr    /* row */,
  625.     int            /* num_needed */
  626. #endif
  627. );
  628.  
  629. extern Status
  630. XkbAllocGeomDoodads(
  631. #if NeedFunctionPrototypes
  632.     XkbGeometryPtr    /* geom */,
  633.     int            /* nDoodads */
  634. #endif
  635. );
  636.  
  637. extern Status
  638. XkbAllocGeomSectionDoodads(
  639. #if NeedFunctionPrototypes
  640.     XkbSectionPtr    /* section */,
  641.     int            /* nDoodads */
  642. #endif
  643. );
  644.  
  645. extern Status
  646. XkbAllocGeomOutlines(
  647. #if NeedFunctionPrototypes
  648.     XkbShapePtr        /* shape */,
  649.     int            /* nOL */
  650. #endif
  651. );
  652.  
  653. extern Status
  654. XkbAllocGeomRows(
  655. #if NeedFunctionPrototypes
  656.     XkbSectionPtr    /* section */,
  657.     int            /* nRows */
  658. #endif
  659. );
  660.  
  661. extern Status
  662. XkbAllocGeomPoints(
  663. #if NeedFunctionPrototypes
  664.     XkbOutlinePtr    /* ol */,
  665.     int            /* nPts */
  666. #endif
  667. );
  668.  
  669. extern Status
  670. XkbAllocGeomKeys(
  671. #if NeedFunctionPrototypes
  672.     XkbRowPtr        /* row */,
  673.     int            /* nKeys */
  674. #endif
  675. );
  676.  
  677. extern    Status
  678. XkbAllocGeometry(
  679. #if NeedFunctionPrototypes
  680.     XkbDescPtr        /* xkb */,
  681.     XkbGeometrySizesPtr    /* sizes */
  682. #endif
  683. );
  684.  
  685. extern    Bool
  686. XkbComputeShapeTop(
  687. #if NeedFunctionPrototypes
  688.     XkbShapePtr        /* shape */,
  689.     XkbBoundsPtr        /* bounds */
  690. #endif
  691. );
  692.  
  693. extern    Bool
  694. XkbComputeShapeBounds(
  695. #if NeedFunctionPrototypes
  696.     XkbShapePtr        /* shape */
  697. #endif
  698. );
  699.  
  700. extern    Bool
  701. XkbComputeRowBounds(
  702. #if NeedFunctionPrototypes
  703.     XkbGeometryPtr        /* geom */,
  704.     XkbSectionPtr        /* section */,
  705.     XkbRowPtr        /* row */
  706. #endif
  707. );
  708.  
  709. extern    Bool
  710. XkbComputeSectionBounds(
  711. #if NeedFunctionPrototypes
  712.     XkbGeometryPtr        /* geom */,
  713.     XkbSectionPtr        /* section */
  714. #endif
  715. );
  716.  
  717. extern    char *
  718. XkbFindOverlayForKey(
  719. #if NeedFunctionPrototypes
  720.     XkbGeometryPtr        /* geom */,
  721.     XkbSectionPtr        /* wanted */,
  722.     char *            /* under */
  723. #endif
  724. );
  725.  
  726. extern    Status
  727. XkbGetGeometry(
  728. #if NeedFunctionPrototypes
  729.     Display *            /* dpy */,
  730.     XkbDescPtr            /* xkb */
  731. #endif
  732. );
  733.  
  734. extern    Status
  735. XkbGetNamedGeometry(
  736. #if NeedFunctionPrototypes
  737.     Display *            /* dpy */,
  738.     XkbDescPtr            /* xkb */,
  739.     Atom            /* name */
  740. #endif
  741. );
  742.  
  743. _XFUNCPROTOEND
  744.  
  745. #endif /* _XKBSTR_H_ */
  746.