195 lines
5.0 KiB
C
195 lines
5.0 KiB
C
|
#ifndef XKBUI_H
|
||
|
#define XKBUI_H 1
|
||
|
/* $XConsortium: XKBui.h /main/2 1995/12/07 21:18:19 kaleb $ */
|
||
|
/************************************************************
|
||
|
Copyright (c) 1996 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.
|
||
|
|
||
|
********************************************************/
|
||
|
/* $XFree86$ */
|
||
|
|
||
|
#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;
|
||
|
|
||
|
/*
|
||
|
* legal values for present field of a view options
|
||
|
*/
|
||
|
#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)
|
||
|
|
||
|
/*
|
||
|
* legal values for the label_mode of a view options
|
||
|
*/
|
||
|
#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;
|
||
|
|
||
|
/*
|
||
|
* legal values for 'type' field of a selection report
|
||
|
*/
|
||
|
|
||
|
#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
|
||
|
|
||
|
/*
|
||
|
* legal values for 'which' field of a select call
|
||
|
*/
|
||
|
#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)
|
||
|
|
||
|
/*
|
||
|
* legal values for key appearance flag
|
||
|
*/
|
||
|
#define XkbUI_KeyDown (1<<0)
|
||
|
#define XkbUI_Highlight (1<<1)
|
||
|
|
||
|
_XFUNCPROTOBEGIN
|
||
|
|
||
|
extern XkbUI_ViewPtr XkbUI_SimpleInit(
|
||
|
Display * /* dpy */,
|
||
|
Window /* win */,
|
||
|
int /* width */,
|
||
|
int /* height */
|
||
|
);
|
||
|
|
||
|
extern XkbUI_ViewPtr XkbUI_Init(
|
||
|
Display * /* dpy */,
|
||
|
Window /* win */,
|
||
|
int /* width */,
|
||
|
int /* height */,
|
||
|
XkbDescPtr /* xkb */,
|
||
|
XkbUI_ViewOptsPtr /* view */
|
||
|
);
|
||
|
|
||
|
extern Status XkbUI_SetViewOpts(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
XkbUI_ViewOptsPtr /* opts */
|
||
|
);
|
||
|
|
||
|
extern Status XbUI_GetViewOpts(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
XkbUI_ViewOptsPtr /* opts_rtrn */
|
||
|
);
|
||
|
|
||
|
extern Status XkbUI_SetCanvasSize(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
int /* width */,
|
||
|
int /* height */
|
||
|
);
|
||
|
|
||
|
extern Status XkbUI_GetCanvasSize(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
int * /* width_rtrn */,
|
||
|
int * /* height_rtrn */
|
||
|
);
|
||
|
|
||
|
extern Bool XkbUI_SetKeyAppearance(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
KeyCode /* kc */,
|
||
|
unsigned /* flags */
|
||
|
);
|
||
|
|
||
|
extern Bool XkbUI_SetKeyAppearanceByName(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
XkbKeyNamePtr /* name */,
|
||
|
unsigned /* flags */
|
||
|
);
|
||
|
|
||
|
extern Bool XkbUI_ResetKeyAppearance(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
unsigned int /* mask */,
|
||
|
unsigned int /* values */
|
||
|
);
|
||
|
|
||
|
extern Bool XkbUI_DrawRegion(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
XRectangle * /* viewport */
|
||
|
);
|
||
|
|
||
|
extern Bool XkbUI_DrawChanged(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
XRectangle * /* viewport */,
|
||
|
XkbChangesPtr /* changes */,
|
||
|
int /* num_keys */,
|
||
|
XkbKeyNamePtr /* keys */
|
||
|
);
|
||
|
|
||
|
extern Bool XkbUI_Select(
|
||
|
XkbUI_ViewPtr /* view */,
|
||
|
XPoint * /* coord */,
|
||
|
unsigned int /* which */,
|
||
|
XkbSectionPtr /* section */
|
||
|
);
|
||
|
|
||
|
_XFUNCPROTOEND
|
||
|
|
||
|
#endif /* XKBUI_H */
|