636 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			636 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;
 | |
| 
 | |
| _XFUNCPROTOBEGIN
 | |
| 
 | |
| 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 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 */
 | |
| );
 | |
| 
 | |
| _XFUNCPROTOEND
 | |
| 
 | |
| #endif /* _XKBGEOM_H_ */
 |