03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/************************************************************
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncCopyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncPermission to use, copy, modify, and distribute this
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncsoftware and its documentation for any purpose and without
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncfee is hereby granted, provided that the above copyright
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncnotice appear in all copies and that both that copyright
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncnotice and this permission notice appear in supporting
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncdocumentation, and that the name of Silicon Graphics not be
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncused in advertising or publicity pertaining to distribution
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncof the software without specific prior written permission.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncSilicon Graphics makes no representation about the suitability
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncof this software for any purpose. It is provided "as is"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncwithout any express or implied warranty.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncSILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncSOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncAND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncGRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncDAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncDATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncOR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncTHE USE OR PERFORMANCE OF THIS SOFTWARE.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync********************************************************/
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#ifndef _XKBGEOM_H_
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define _XKBGEOM_H_
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#include "xkbstr.h"
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomKeyAlias SrvXkbAddGeomKeyAlias
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomColor SrvXkbAddGeomColor
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomDoodad SrvXkbAddGeomDoodad
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomKey SrvXkbAddGeomKey
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomOutline SrvXkbAddGeomOutline
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomOverlay SrvXkbAddGeomOverlay
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomOverlayRow SrvXkbAddGeomOverlayRow
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomOverlayKey SrvXkbAddGeomOverlayKey
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomProperty SrvXkbAddGeomProperty
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomRow SrvXkbAddGeomRow
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomSection SrvXkbAddGeomSection
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAddGeomShape SrvXkbAddGeomShape
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbAllocGeometry SrvXkbAllocGeometry
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomKeyAliases SrvXkbFreeGeomKeyAliases
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomColors SrvXkbFreeGeomColors
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomDoodads SrvXkbFreeGeomDoodads
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomProperties SrvXkbFreeGeomProperties
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomKeys SrvXkbFreeGeomKeys
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomRows SrvXkbFreeGeomRows
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomSections SrvXkbFreeGeomSections
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomPoints SrvXkbFreeGeomPoints
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomOutlines SrvXkbFreeGeomOutlines
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeomShapes SrvXkbFreeGeomShapes
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbFreeGeometry SrvXkbFreeGeometry
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbProperty {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *value;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbPropertyRec, *XkbPropertyPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbColor {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int pixel;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *spec;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbColorRec, *XkbColorPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbPoint {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short x;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short y;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbPointRec, *XkbPointPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbBounds {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short x1, y1;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short x2, y2;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbBoundsRec, *XkbBoundsPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbBoundsWidth(b) (((b)->x2)-((b)->x1))
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbBoundsHeight(b) (((b)->y2)-((b)->y1))
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbOutline {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_points;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_points;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short corner_radius;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbPointPtr points;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbOutlineRec, *XkbOutlinePtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbShape {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_outlines;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_outlines;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbOutlinePtr outlines;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbOutlinePtr approx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbOutlinePtr primary;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbBoundsRec bounds;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbShapeRec, *XkbShapePtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbOutlineIndex(s,o) ((int)((o)-&(s)->outlines[0]))
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbShapeDoodad {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char type;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char priority;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short top;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short left;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short angle;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short color_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short shape_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbShapeDoodadRec, *XkbShapeDoodadPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbShapeDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbShapeDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetShapeDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetShapeDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbTextDoodad {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char type;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char priority;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short top;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short left;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short angle;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short width;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short height;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short color_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *text;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *font;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbTextDoodadRec, *XkbTextDoodadPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbTextDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetTextDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbIndicatorDoodad {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char type;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char priority;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short top;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short left;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short angle;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short shape_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short on_color_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short off_color_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbIndicatorDoodadRec, *XkbIndicatorDoodadPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbIndicatorDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbIndicatorDoodadOnColor(g,d) (&(g)->colors[(d)->on_color_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbIndicatorDoodadOffColor(g,d) (&(g)->colors[(d)->off_color_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetIndicatorDoodadOnColor(g,d,c) \
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ((d)->on_color_ndx= (c)-&(g)->colors[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetIndicatorDoodadOffColor(g,d,c) \
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ((d)->off_color_ndx= (c)-&(g)->colors[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetIndicatorDoodadShape(g,d,s) \
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync ((d)->shape_ndx= (s)-&(g)->shapes[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbLogoDoodad {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char type;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char priority;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short top;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short left;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short angle;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short color_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short shape_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *logo_name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbLogoDoodadRec, *XkbLogoDoodadPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbLogoDoodadColor(g,d) (&(g)->colors[(d)->color_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbLogoDoodadShape(g,d) (&(g)->shapes[(d)->shape_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetLogoDoodadColor(g,d,c) ((d)->color_ndx= (c)-&(g)->colors[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetLogoDoodadShape(g,d,s) ((d)->shape_ndx= (s)-&(g)->shapes[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbAnyDoodad {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char type;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char priority;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short top;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short left;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short angle;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbAnyDoodadRec, *XkbAnyDoodadPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef union _XkbDoodad {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbAnyDoodadRec any;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbShapeDoodadRec shape;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbTextDoodadRec text;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbIndicatorDoodadRec indicator;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbLogoDoodadRec logo;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbDoodadRec, *XkbDoodadPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbUnknownDoodad 0
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbOutlineDoodad 1
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSolidDoodad 2
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbTextDoodad 3
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbIndicatorDoodad 4
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbLogoDoodad 5
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbKey {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbKeyNameRec name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short gap;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char shape_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char color_ndx;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbKeyRec, *XkbKeyPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbKeyShape(g,k) (&(g)->shapes[(k)->shape_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbKeyColor(g,k) (&(g)->colors[(k)->color_ndx])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetKeyShape(g,k,s) ((k)->shape_ndx= (s)-&(g)->shapes[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbSetKeyColor(g,k,c) ((k)->color_ndx= (c)-&(g)->colors[0])
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbRow {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short top;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short left;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_keys;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_keys;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int vertical;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbKeyPtr keys;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbBoundsRec bounds;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbRowRec, *XkbRowPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbSection {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned char priority;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short top;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short left;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short width;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short height;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync short angle;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_rows;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_doodads;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_overlays;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_rows;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_doodads;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_overlays;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbRowPtr rows;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbDoodadPtr doodads;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbBoundsRec bounds;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync struct _XkbOverlay *overlays;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbSectionRec, *XkbSectionPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbOverlayKey {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbKeyNameRec over;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbKeyNameRec under;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbOverlayKeyRec, *XkbOverlayKeyPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbOverlayRow {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short row_under;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_keys;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_keys;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbOverlayKeyPtr keys;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbOverlayRowRec, *XkbOverlayRowPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbOverlay {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbSectionPtr section_under;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_rows;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_rows;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbOverlayRowPtr rows;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbBoundsPtr bounds;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbOverlayRec, *XkbOverlayPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbGeometry {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom name;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short width_mm;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short height_mm;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char *label_font;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbColorPtr label_color;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbColorPtr base_color;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_properties;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_colors;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_shapes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_sections;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_doodads;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short sz_key_aliases;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_properties;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_colors;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_shapes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_sections;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_doodads;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_key_aliases;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbPropertyPtr properties;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbColorPtr colors;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbShapePtr shapes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbSectionPtr sections;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbDoodadPtr doodads;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbKeyAliasPtr key_aliases;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbGeometryRec;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomColorIndex(g,c) ((int)((c)-&(g)->colors[0]))
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomPropertiesMask (1<<0)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomColorsMask (1<<1)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomShapesMask (1<<2)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomSectionsMask (1<<3)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomDoodadsMask (1<<4)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomKeyAliasesMask (1<<5)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#define XkbGeomAllMask (0x3f)
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef struct _XkbGeometrySizes {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int which;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_properties;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_colors;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_shapes;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_sections;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_doodads;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned short num_key_aliases;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbGeometrySizesRec, *XkbGeometrySizesPtr;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync/**
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync * Specifies which items should be cleared in an XKB geometry array
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync * when the array is reallocated.
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsynctypedef enum {
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XKB_GEOM_CLEAR_NONE, /* Don't clear any items, just reallocate. */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XKB_GEOM_CLEAR_EXCESS, /* Clear new extra items after reallocation. */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XKB_GEOM_CLEAR_ALL /* Clear all items after reallocation. */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync} XkbGeomClearance;
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbPropertyPtr XkbAddGeomProperty(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* name */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* value */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbKeyAliasPtr XkbAddGeomKeyAlias(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* alias */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* real */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbColorPtr XkbAddGeomColor(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* spec */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int /* pixel */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbOutlinePtr XkbAddGeomOutline(XkbShapePtr /* shape */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_points */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbShapePtr XkbAddGeomShape(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom /* name */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_outlines */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbKeyPtr XkbAddGeomKey(XkbRowPtr /* row */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbRowPtr XkbAddGeomRow(XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_keys */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbSectionPtr XkbAddGeomSection(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom /* name */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_rows */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_doodads */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_overlays */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbOverlayPtr XkbAddGeomOverlay(XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom /* name */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_rows */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbOverlayRowPtr XkbAddGeomOverlayRow(XkbOverlayPtr /* overlay */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* row_under */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* sz_keys */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbOverlayKeyPtr XkbAddGeomOverlayKey(XkbOverlayPtr /* overlay */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbOverlayRowPtr /* row */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* over */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* under */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern XkbDoodadPtr XkbAddGeomDoodad(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Atom /* name */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomKeyAliases(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomColors(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomDoodads(XkbDoodadPtr /* doodads */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nDoodads */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomProperties(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomOverlayKeys(XkbOverlayRowPtr /* row */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomOverlayRows(XkbOverlayPtr /* overlay */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomOverlays(XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomKeys(XkbRowPtr /* row */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomRows(XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomSections(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomPoints(XkbOutlinePtr /* outline */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomOutlines(XkbShapePtr /* shape */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeomShapes(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* first */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* count */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeAll */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern void
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbFreeGeometry(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync unsigned int /* which */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync Bool /* freeMap */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbGeomRealloc(void ** /* buffer */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* szItems */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nrItems */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* itemSize */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbGeomClearance /* clearance */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomProps(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nProps */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomKeyAliases(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nAliases */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomColors(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nColors */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomShapes(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nShapes */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomSections(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nSections */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomOverlays(XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* num_needed */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomOverlayRows(XkbOverlayPtr /* overlay */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* num_needed */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomOverlayKeys(XkbOverlayRowPtr /* row */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* num_needed */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomDoodads(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nDoodads */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomSectionDoodads(XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nDoodads */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomOutlines(XkbShapePtr /* shape */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nOL */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomRows(XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nRows */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomPoints(XkbOutlinePtr /* ol */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nPts */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeomKeys(XkbRowPtr /* row */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync int /* nKeys */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Status XkbAllocGeometry(XkbDescPtr /* xkb */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbGeometrySizesPtr /* sizes */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbComputeShapeTop(XkbShapePtr /* shape */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbBoundsPtr /* bounds */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbComputeShapeBounds(XkbShapePtr /* shape */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbComputeRowBounds(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbSectionPtr /* section */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbRowPtr /* row */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern Bool
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbComputeSectionBounds(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbSectionPtr /* section */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsyncextern char *XkbFindOverlayForKey(XkbGeometryPtr /* geom */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync XkbSectionPtr /* wanted */ ,
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync char * /* under */
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync );
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync
03532efdc331b598d3dedc8cc7477641c3b0dd12vboxsync#endif /* _XKBGEOM_H_ */