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