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