#ifndef XKBUI_H
#define XKBUI_H 1
#include <X11/Xlib.h>
#include <X11/XKBlib.h>
#include <X11/extensions/XKBgeom.h>
typedef struct _XkbUI_View *XkbUI_ViewPtr;
typedef struct _XkbUI_ViewOpts {
unsigned int present;
unsigned int fg;
unsigned int bg;
unsigned int label_mode;
unsigned int color_mode;
XRectangle viewport;
unsigned int margin_width;
unsigned int margin_height;
Colormap cmap;
} XkbUI_ViewOptsRec,*XkbUI_ViewOptsPtr;
#define XkbUI_BackgroundMask (1<<0)
#define XkbUI_ForegroundMask (1<<1)
#define XkbUI_LabelModeMask (1<<2)
#define XkbUI_ColorModeMask (1<<3)
#define XkbUI_WidthMask (1<<4)
#define XkbUI_HeightMask (1<<5)
#define XkbUI_XOffsetMask (1<<6)
#define XkbUI_YOffsetMask (1<<7)
#define XkbUI_ColormapMask (1<<8)
#define XkbUI_MarginWidthMask (1<<9)
#define XkbUI_MarginHeightMask (1<<10)
#define XkbUI_SizeMask (XkbUI_WidthMask|XkbUI_HeightMask)
#define XkbUI_OffsetMask (XkbUI_XOffsetMask|XkbUI_YOffsetMask)
#define XkbUI_MarginMask (XkbUI_MarginWidthMask|XkbUI_MarginHeightMask)
#define XkbUI_AllViewOptsMask (0x7ff)
#define XkbUI_NoLabels 0
#define XkbUI_KeyCodes 1
#define XkbUI_KeyNames 2
#define XkbUI_StateSyms 3
#define XkbUI_MultiSyms 4
typedef struct _XkbUI_Select {
unsigned type;
XkbSectionPtr section;
XkbKeyPtr key;
XkbDoodadPtr doodad;
} XkbUI_SelectRec,*XkbUI_SelectPtr;
#define XkbUI_Keys 0
#define XkbUI_Indicators 1
#define XkbUI_TextLabels 2
#define XkbUI_SolidShapes 3
#define XkbUI_Outlines 4
#define XkbUI_Logos 5
#define XkbUI_Sections 6
#define XkbUI_KeysMask (1<<0)
#define XkbUI_IndicatorsMask (1<<1)
#define XkbUI_TextLabelsMask (1<<2)
#define XkbUI_SolidShapesMask (1<<3)
#define XkbUI_OutlinesMask (1<<4)
#define XkbUI_LogosMask (1<<5)
#define XkbUI_SectionsMask (1<<6)
#define XkbUI_KeyDown (1<<0)
#define XkbUI_Highlight (1<<1)
_XFUNCPROTOBEGIN
extern XkbUI_ViewPtr XkbUI_SimpleInit(
Display * ,
Window ,
int ,
int
);
extern XkbUI_ViewPtr XkbUI_Init(
Display * ,
Window ,
int ,
int ,
XkbDescPtr ,
XkbUI_ViewOptsPtr
);
extern Status XkbUI_SetViewOpts(
XkbUI_ViewPtr ,
XkbUI_ViewOptsPtr
);
extern Status XbUI_GetViewOpts(
XkbUI_ViewPtr ,
XkbUI_ViewOptsPtr
);
extern Status XkbUI_SetCanvasSize(
XkbUI_ViewPtr ,
int ,
int
);
extern Status XkbUI_GetCanvasSize(
XkbUI_ViewPtr ,
int * ,
int *
);
extern Bool XkbUI_SetKeyAppearance(
XkbUI_ViewPtr ,
KeyCode ,
unsigned
);
extern Bool XkbUI_SetKeyAppearanceByName(
XkbUI_ViewPtr ,
XkbKeyNamePtr ,
unsigned
);
extern Bool XkbUI_ResetKeyAppearance(
XkbUI_ViewPtr ,
unsigned int ,
unsigned int
);
extern Bool XkbUI_DrawRegion(
XkbUI_ViewPtr ,
XRectangle *
);
extern Bool XkbUI_DrawChanged(
XkbUI_ViewPtr ,
XRectangle * ,
XkbChangesPtr ,
int ,
XkbKeyNamePtr
);
extern Bool XkbUI_Select(
XkbUI_ViewPtr ,
XPoint * ,
unsigned int ,
XkbSectionPtr
);
_XFUNCPROTOEND
#endif