65fea56f17cd614bc8908264df980a62e1931468vboxsync/************************************************************
65fea56f17cd614bc8908264df980a62e1931468vboxsyncCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
65fea56f17cd614bc8908264df980a62e1931468vboxsyncPermission to use, copy, modify, and distribute this
65fea56f17cd614bc8908264df980a62e1931468vboxsyncsoftware and its documentation for any purpose and without
65fea56f17cd614bc8908264df980a62e1931468vboxsyncfee is hereby granted, provided that the above copyright
65fea56f17cd614bc8908264df980a62e1931468vboxsyncnotice appear in all copies and that both that copyright
65fea56f17cd614bc8908264df980a62e1931468vboxsyncnotice and this permission notice appear in supporting
65fea56f17cd614bc8908264df980a62e1931468vboxsyncdocumentation, and that the name of Silicon Graphics not be
65fea56f17cd614bc8908264df980a62e1931468vboxsyncused in advertising or publicity pertaining to distribution
65fea56f17cd614bc8908264df980a62e1931468vboxsyncof the software without specific prior written permission.
65fea56f17cd614bc8908264df980a62e1931468vboxsyncSilicon Graphics makes no representation about the suitability
65fea56f17cd614bc8908264df980a62e1931468vboxsyncof this software for any purpose. It is provided "as is"
65fea56f17cd614bc8908264df980a62e1931468vboxsyncwithout any express or implied warranty.
65fea56f17cd614bc8908264df980a62e1931468vboxsyncSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
65fea56f17cd614bc8908264df980a62e1931468vboxsyncSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
65fea56f17cd614bc8908264df980a62e1931468vboxsyncAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
65fea56f17cd614bc8908264df980a62e1931468vboxsyncGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
65fea56f17cd614bc8908264df980a62e1931468vboxsyncDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
65fea56f17cd614bc8908264df980a62e1931468vboxsyncOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
65fea56f17cd614bc8908264df980a62e1931468vboxsyncTHE USE OR PERFORMANCE OF THIS SOFTWARE.
65fea56f17cd614bc8908264df980a62e1931468vboxsync********************************************************/
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbAddGeomOverlayRow SrvXkbAddGeomOverlayRow
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbAddGeomOverlayKey SrvXkbAddGeomOverlayKey
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbFreeGeomKeyAliases SrvXkbFreeGeomKeyAliases
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbFreeGeomProperties SrvXkbFreeGeomProperties
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0]))
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbShapeDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbIndicatorDoodadOnColor(g,d) (&(g)->colors[(d)->on_color_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbIndicatorDoodadOffColor(g,d) (&(g)->colors[(d)->off_color_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbLogoDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbKeyColor(g,k) (&(g)->colors[(k)->color_ndx])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0])
65fea56f17cd614bc8908264df980a62e1931468vboxsync#define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0]))
65fea56f17cd614bc8908264df980a62e1931468vboxsync * Specifies which items should be cleared in an XKB geometry array
65fea56f17cd614bc8908264df980a62e1931468vboxsync * when the array is reallocated.
65fea56f17cd614bc8908264df980a62e1931468vboxsynctypedef enum {
65fea56f17cd614bc8908264df980a62e1931468vboxsync XKB_GEOM_CLEAR_NONE, /* Don't clear any items, just reallocate. */
65fea56f17cd614bc8908264df980a62e1931468vboxsync XKB_GEOM_CLEAR_EXCESS, /* Clear new extra items after reallocation. */
65fea56f17cd614bc8908264df980a62e1931468vboxsync XKB_GEOM_CLEAR_ALL /* Clear all items after reallocation. */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbPropertyPtr XkbAddGeomProperty(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* name */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* value */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbKeyAliasPtr XkbAddGeomKeyAlias(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* alias */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* real */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbColorPtr XkbAddGeomColor(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* spec */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int /* pixel */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbOutlinePtr XkbAddGeomOutline(XkbShapePtr /* shape */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_points */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbShapePtr XkbAddGeomShape(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_outlines */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbRowPtr XkbAddGeomRow(XkbSectionPtr /* section */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_keys */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbSectionPtr XkbAddGeomSection(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_rows */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_doodads */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_overlays */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbOverlayPtr XkbAddGeomOverlay(XkbSectionPtr /* section */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_rows */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbOverlayRowPtr XkbAddGeomOverlayRow(XkbOverlayPtr /* overlay */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* row_under */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* sz_keys */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbOverlayKeyPtr XkbAddGeomOverlayKey(XkbOverlayPtr /* overlay */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* over */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* under */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern XkbDoodadPtr XkbAddGeomDoodad(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nDoodads */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync XkbFreeGeomOverlayKeys(XkbOverlayRowPtr /* row */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync XkbFreeGeomOverlayRows(XkbOverlayPtr /* overlay */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* first */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* count */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync unsigned int /* which */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* szItems */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nrItems */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* itemSize */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomProps(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nProps */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomKeyAliases(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nAliases */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomColors(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nColors */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomShapes(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nShapes */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomSections(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nSections */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomOverlays(XkbSectionPtr /* section */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* num_needed */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomOverlayRows(XkbOverlayPtr /* overlay */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* num_needed */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomOverlayKeys(XkbOverlayRowPtr /* row */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* num_needed */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomDoodads(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nDoodads */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomSectionDoodads(XkbSectionPtr /* section */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nDoodads */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomOutlines(XkbShapePtr /* shape */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nOL */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomRows(XkbSectionPtr /* section */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nRows */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomPoints(XkbOutlinePtr /* ol */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nPts */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeomKeys(XkbRowPtr /* row */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync int /* nKeys */
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern Status XkbAllocGeometry(XkbDescPtr /* xkb */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync XkbComputeSectionBounds(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsyncextern char *XkbFindOverlayForKey(XkbGeometryPtr /* geom */ ,
65fea56f17cd614bc8908264df980a62e1931468vboxsync char * /* under */
65fea56f17cd614bc8908264df980a62e1931468vboxsync#endif /* _XKBGEOM_H_ */