972 lines
28 KiB
C
972 lines
28 KiB
C
|
#ifndef __XLOCK_XAPI_H__
|
||
|
#define __XLOCK_XAPI_H__
|
||
|
|
||
|
/*-
|
||
|
* @(#)Xapi.h 4.00 98/04/16 xlockmore
|
||
|
*
|
||
|
* Xapi.h - X API interface for WIN32 (windows 95/NT) platforms
|
||
|
*
|
||
|
* Copyright (c) 1998 by Petey Leinonen.
|
||
|
*
|
||
|
* See xlock.c for copying information.
|
||
|
*
|
||
|
* Revision History:
|
||
|
*
|
||
|
* 16-Apr-98: Initially written. Based off code written by myself for
|
||
|
* an older version of xlockmore for win95/NT
|
||
|
*
|
||
|
*/
|
||
|
#ifdef WIN32
|
||
|
#define WIN32_LEAN_AND_MEAN
|
||
|
|
||
|
/*-
|
||
|
* includes
|
||
|
*/
|
||
|
|
||
|
#include <windows.h>
|
||
|
|
||
|
extern HWND hwnd; /* window handle */
|
||
|
extern HDC hdc; /* device context */
|
||
|
extern int cred, cgreen, cblue; /* color reference of the pen */
|
||
|
extern unsigned char *red, *green, *blue; /* holds a list of colors */
|
||
|
extern int colorcount; /* number of colors used */
|
||
|
unsigned int randommode; /* number of mode to index */
|
||
|
extern RECT rc; /* coords of the screen */
|
||
|
|
||
|
/*-
|
||
|
* defines
|
||
|
*/
|
||
|
|
||
|
/* -------------------------------------------------------------------- */
|
||
|
|
||
|
/*****************************************************************
|
||
|
* ERROR CODES
|
||
|
*****************************************************************/
|
||
|
|
||
|
#define Success 0 /* everything's okay */
|
||
|
#define BadRequest 1 /* bad request code */
|
||
|
#define BadValue 2 /* int parameter out of range */
|
||
|
#define BadWindow 3 /* parameter not a Window */
|
||
|
#define BadPixmap 4 /* parameter not a Pixmap */
|
||
|
#define BadAtom 5 /* parameter not an Atom */
|
||
|
#define BadCursor 6 /* parameter not a Cursor */
|
||
|
#define BadFont 7 /* parameter not a Font */
|
||
|
#define BadMatch 8 /* parameter mismatch */
|
||
|
#define BadDrawable 9 /* parameter not a Pixmap or Window */
|
||
|
#define BadAccess 10 /* depending on context:
|
||
|
- key/button already grabbed
|
||
|
- attempt to free an illegal
|
||
|
cmap entry
|
||
|
- attempt to store into a read-only
|
||
|
color map entry.
|
||
|
- attempt to modify the access control
|
||
|
list from other than the local host.
|
||
|
*/
|
||
|
#define BadAlloc 11 /* insufficient resources */
|
||
|
#define BadColor 12 /* no such colormap */
|
||
|
#define BadGC 13 /* parameter not a GC */
|
||
|
#define BadIDChoice 14 /* choice not in range or already used */
|
||
|
#define BadName 15 /* font or color name doesn't exist */
|
||
|
#define BadLength 16 /* Request length incorrect */
|
||
|
#define BadImplementation 17 /* server is defective */
|
||
|
|
||
|
/* window attributes */
|
||
|
#define InputOutput 1
|
||
|
#define InputOnly 2
|
||
|
|
||
|
#define IsUnmapped 0
|
||
|
#define IsUnviewable 1
|
||
|
#define IsViewable 2
|
||
|
|
||
|
/* redefined functions */
|
||
|
#define XWhitePixelOfScreen WhitePixelOfScreen
|
||
|
|
||
|
/* define False/True */
|
||
|
#define False (0)
|
||
|
#define True (!False)
|
||
|
|
||
|
#define None (0L)
|
||
|
#define CurrentTime (0L)
|
||
|
|
||
|
#define DoRed (0x1)
|
||
|
#define DoGreen (0x2)
|
||
|
#define DoBlue (0x4)
|
||
|
|
||
|
#define XYBitmap (0x01)
|
||
|
#define XYPixmap (0x02)
|
||
|
#define ZPixmap (0x04)
|
||
|
|
||
|
#define LSBFirst (0x00)
|
||
|
#define MSBFirst (0x01)
|
||
|
|
||
|
#define AllocNone (0x00)
|
||
|
#define AllocAll (0x01)
|
||
|
|
||
|
#define BitmapSuccess (0)
|
||
|
#define BitmapOpenFailed (1)
|
||
|
#define BitmapFileInvalid (2)
|
||
|
#define BitmapNoMemory (3)
|
||
|
|
||
|
#define StaticGray (0)
|
||
|
#define GrayScale (1)
|
||
|
#define StaticColor (2)
|
||
|
#define PseudoColor (3)
|
||
|
#define TrueColor (4)
|
||
|
#define DirectColor (5)
|
||
|
|
||
|
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
|
||
|
state in various key-, mouse-, and button-related events. */
|
||
|
#define ShiftMask (1<<0)
|
||
|
#define LockMask (1<<1)
|
||
|
#define ControlMask (1<<2)
|
||
|
#define Mod1Mask (1<<3)
|
||
|
#define Mod2Mask (1<<4)
|
||
|
#define Mod3Mask (1<<5)
|
||
|
#define Mod4Mask (1<<6)
|
||
|
#define Mod5Mask (1<<7)
|
||
|
|
||
|
/* button masks. Used in same manner as Key masks above. Not to be confused
|
||
|
with button names below. */
|
||
|
#define Button1Mask (1<<8)
|
||
|
#define Button2Mask (1<<9)
|
||
|
#define Button3Mask (1<<10)
|
||
|
#define Button4Mask (1<<11)
|
||
|
#define Button5Mask (1<<12)
|
||
|
|
||
|
|
||
|
|
||
|
#define VisualNoMask (0x0)
|
||
|
#define VisualIDMask (0x1)
|
||
|
#define VisualScreenMask (0x2)
|
||
|
#define VisualDepthMask (0x4)
|
||
|
#define VisualClassMask (0x8)
|
||
|
#define VisualRedMaskMask (0x10)
|
||
|
#define VisualGreenMaskMask (0x20)
|
||
|
#define VisualBlueMaskMask (0x40)
|
||
|
#define VisualColormapMaskMask (0x80)
|
||
|
#define VisualBitsPerRGBMask (0x100)
|
||
|
#define VisualAllMask (0x1FF)
|
||
|
|
||
|
#define GrabModeSync (0)
|
||
|
#define GrabModeAsync (1)
|
||
|
|
||
|
#define GrabSuccess (0)
|
||
|
#define AlreadyGrabbed (1)
|
||
|
#define GrabInvalidTime (2)
|
||
|
#define GrabNotViewable (3)
|
||
|
#define GrabFrozen (4)
|
||
|
|
||
|
#define NoEventMask 0L
|
||
|
#define KeyPressMask (1L<<0)
|
||
|
#define KeyReleaseMask (1L<<1)
|
||
|
#define ButtonPressMask (1L<<2)
|
||
|
#define ButtonReleaseMask (1L<<3)
|
||
|
#define EnterWindowMask (1L<<4)
|
||
|
#define LeaveWindowMask (1L<<5)
|
||
|
#define PointerMotionMask (1L<<6)
|
||
|
#define PointerMotionHintMask (1L<<7)
|
||
|
#define Button1MotionMask (1L<<8)
|
||
|
#define Button2MotionMask (1L<<9)
|
||
|
#define Button3MotionMask (1L<<10)
|
||
|
#define Button4MotionMask (1L<<11)
|
||
|
#define Button5MotionMask (1L<<12)
|
||
|
#define ButtonMotionMask (1L<<13)
|
||
|
#define KeymapStateMask (1L<<14)
|
||
|
#define ExposureMask (1L<<15)
|
||
|
#define VisibilityChangeMask (1L<<16)
|
||
|
#define StructureNotifyMask (1L<<17)
|
||
|
#define ResizeRedirectMask (1L<<18)
|
||
|
#define SubstructureNotifyMask (1L<<19)
|
||
|
#define SubstructureRedirectMask (1L<<20)
|
||
|
#define FocusChangeMask (1L<<21)
|
||
|
#define PropertyChangeMask (1L<<22)
|
||
|
#define ColormapChangeMask (1L<<23)
|
||
|
#define OwnerGrabButtonMask (1L<<24)
|
||
|
|
||
|
#define KeyPress 2
|
||
|
#define KeyRelease 3
|
||
|
#define ButtonPress 4
|
||
|
#define ButtonRelease 5
|
||
|
#define MotionNotify 6
|
||
|
#define EnterNotify 7
|
||
|
#define LeaveNotify 8
|
||
|
#define FocusIn 9
|
||
|
#define FocusOut 10
|
||
|
#define KeymapNotify 11
|
||
|
#define Expose 12
|
||
|
#define GraphicsExpose 13
|
||
|
#define NoExpose 14
|
||
|
#define VisibilityNotify 15
|
||
|
#define CreateNotify 16
|
||
|
#define DestroyNotify 17
|
||
|
#define UnmapNotify 18
|
||
|
#define MapNotify 19
|
||
|
#define MapRequest 20
|
||
|
#define ReparentNotify 21
|
||
|
#define ConfigureNotify 22
|
||
|
#define ConfigureRequest 23
|
||
|
#define GravityNotify 24
|
||
|
#define ResizeRequest 25
|
||
|
#define CirculateNotify 26
|
||
|
#define CirculateRequest 27
|
||
|
#define PropertyNotify 28
|
||
|
#define SelectionClear 29
|
||
|
#define SelectionRequest 30
|
||
|
#define SelectionNotify 31
|
||
|
#define ColormapNotify 32
|
||
|
#define ClientMessage 33
|
||
|
#define MappingNotify 34
|
||
|
#define LASTEvent 35
|
||
|
|
||
|
#define VisibilityUnobscured (0)
|
||
|
#define VisibilityPartiallyObscured (1)
|
||
|
#define VisibilityFullyObscured (2)
|
||
|
|
||
|
#define XC_left_ptr (68)
|
||
|
|
||
|
#define Button1 (1)
|
||
|
#define Button2 (2)
|
||
|
#define Button3 (3)
|
||
|
#define Button4 (4)
|
||
|
#define Button5 (5)
|
||
|
|
||
|
#define SIGHUP (0)
|
||
|
#define SIGQUIT (1)
|
||
|
#define SIGBUS (2)
|
||
|
|
||
|
#define CoordModeOrigin (0)
|
||
|
#define CoordModePrevious (1)
|
||
|
|
||
|
#define Complex (0)
|
||
|
#define Nonconvex (1)
|
||
|
#define Convex (2)
|
||
|
|
||
|
#define LineSolid (0)
|
||
|
#define LineOnOffDash (1)
|
||
|
#define LineDoubleDash (2)
|
||
|
|
||
|
#define CapNotLast (0)
|
||
|
#define CapButt (1)
|
||
|
#define CapRound (2)
|
||
|
#define CapProjecting (3)
|
||
|
|
||
|
#define JoinMiter (0)
|
||
|
#define JoinRound (1)
|
||
|
#define JoinBevel (2)
|
||
|
|
||
|
|
||
|
#define GCFunction (1L<<0)
|
||
|
#define GCPlaneMask (1L<<1)
|
||
|
#define GCForeground (1L<<2)
|
||
|
#define GCBackground (1L<<3)
|
||
|
#define GCLineWidth (1L<<4)
|
||
|
#define GCLineStyle (1L<<5)
|
||
|
#define GCCapStyle (1L<<6)
|
||
|
#define GCJoinStyle (1L<<7)
|
||
|
#define GCFillStyle (1L<<8)
|
||
|
#define GCFillRule (1L<<9)
|
||
|
#define GCTile (1L<<10)
|
||
|
#define GCStipple (1L<<11)
|
||
|
#define GCTileStipXOrigin (1L<<12)
|
||
|
#define GCTileStipYOrigin (1L<<13)
|
||
|
#define GCFont (1L<<14)
|
||
|
#define GCSubwindowMode (1L<<15)
|
||
|
#define GCGraphicsExposures (1L<<16)
|
||
|
#define GCClipXOrigin (1L<<17)
|
||
|
#define GCClipYOrigin (1L<<18)
|
||
|
#define GCClipMask (1L<<19)
|
||
|
#define GCDashOffset (1L<<20)
|
||
|
#define GCDashList (1L<<21)
|
||
|
#define GCArcMode (1L<<22)
|
||
|
|
||
|
#define FillSolid (0)
|
||
|
#define FillTiled (1)
|
||
|
#define FillStippled (2)
|
||
|
#define FillOpaqueStippled (3)
|
||
|
|
||
|
#define GXclear (0x0)
|
||
|
#define GXand (0x1)
|
||
|
#define GXandReverse (0x2)
|
||
|
#define GXcopy (0x3)
|
||
|
#define GXandInverted (0x4)
|
||
|
#define GXnoop (0x5)
|
||
|
#define GXxor (0x6)
|
||
|
#define GXor (0x7)
|
||
|
#define GXnor (0x8)
|
||
|
#define GXequiv (0x9)
|
||
|
#define GXinvert (0xa)
|
||
|
#define GXorReverse (0xb)
|
||
|
#define GXcopyInverted (0xc)
|
||
|
#define GXorInverted (0xd)
|
||
|
#define GXnand (0xe)
|
||
|
#define GXset (0xf)
|
||
|
|
||
|
/* fillRule */
|
||
|
#define EvenOddRule 0
|
||
|
#define WindingRule 1
|
||
|
|
||
|
/*-
|
||
|
* types
|
||
|
*/
|
||
|
|
||
|
/* -------------------------------------------------------------------- */
|
||
|
|
||
|
/* simple */
|
||
|
|
||
|
/* XPointer type: not needed for WIN32 */
|
||
|
typedef void* XPointer;
|
||
|
|
||
|
/* XID type */
|
||
|
typedef unsigned long XID;
|
||
|
|
||
|
/* Atom type: not needed for WIN32*/
|
||
|
typedef unsigned long Atom;
|
||
|
|
||
|
/* Bool type */
|
||
|
typedef int Bool;
|
||
|
|
||
|
/* Colormap type: not needed for WIN32 */
|
||
|
typedef XID Colormap;
|
||
|
|
||
|
/* Cursor type: not needed for WIN32 */
|
||
|
typedef XID Cursor;
|
||
|
|
||
|
/* Display type: not needed for WIN32 */
|
||
|
typedef int Display;
|
||
|
|
||
|
/* Drawable type, can be bitmap or window */
|
||
|
typedef int Drawable;
|
||
|
|
||
|
/* Font type: not needed for WIN32 */
|
||
|
typedef XID Font;
|
||
|
|
||
|
/* GC type: really a HDC */
|
||
|
typedef int GC;
|
||
|
|
||
|
/* GContext type: not needed for WIN32 */
|
||
|
typedef XID GContext;
|
||
|
|
||
|
/* Keysym type: not needed for WIN32 */
|
||
|
typedef XID KeySym;
|
||
|
|
||
|
/* Pixel type, from <X11/Intrinsic.h> */
|
||
|
typedef unsigned long Pixel;
|
||
|
|
||
|
/* Pixmap type, implemented a bitmap handler for WIN32 */
|
||
|
typedef int Pixmap;
|
||
|
|
||
|
/* Screen type: not needed for WIN32 */
|
||
|
typedef int Screen;
|
||
|
|
||
|
/* Status type: not needed for WIN32 */
|
||
|
typedef int Status;
|
||
|
|
||
|
/* Time type: not needed for WIN32 */
|
||
|
typedef unsigned long Time;
|
||
|
|
||
|
/* VisualID type: not needed for WIN32 */
|
||
|
typedef unsigned long VisualID;
|
||
|
|
||
|
/* Window type: really a HWND but typecasting to int,
|
||
|
* this is because a Window is also a Drawable.
|
||
|
* We don't use this anyway */
|
||
|
typedef int Window;
|
||
|
|
||
|
/* XExtData type: used below */
|
||
|
typedef char XExtData;
|
||
|
|
||
|
/* XrmQuark, XrmQuarkList: not needed */
|
||
|
typedef int XrmQuark, *XrmQuarkList;
|
||
|
|
||
|
/* complex */
|
||
|
|
||
|
/* Visual type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
XExtData *ext_data;
|
||
|
VisualID visualid;
|
||
|
#if defined(__cplusplus) || defined(c_plusplus)
|
||
|
int c_class;
|
||
|
#else
|
||
|
int class;
|
||
|
#endif
|
||
|
unsigned long red_mask;
|
||
|
unsigned long green_mask;
|
||
|
unsigned long blue_mask;
|
||
|
int bits_per_rgb;
|
||
|
int map_entries;
|
||
|
} Visual;
|
||
|
|
||
|
/* XAnyEvent type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
int type;
|
||
|
unsigned long serial;
|
||
|
Bool send_event;
|
||
|
Display *display;
|
||
|
Window window;
|
||
|
} XAnyEvent;
|
||
|
|
||
|
/* XArc */
|
||
|
typedef struct {
|
||
|
short x,y;
|
||
|
unsigned short width, height;
|
||
|
short angle1, angle2;
|
||
|
} XArc;
|
||
|
|
||
|
/* XCharStruct type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
short lbearing;
|
||
|
short rbearing;
|
||
|
short width;
|
||
|
short ascent;
|
||
|
short descent;
|
||
|
unsigned short attributes;
|
||
|
} XCharStruct;
|
||
|
|
||
|
/* XClassHint type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
char *res_name;
|
||
|
char *res_class;
|
||
|
} XClassHint;
|
||
|
|
||
|
/* XComposeStatus type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
XPointer compose_ptr;
|
||
|
int chars_matched;
|
||
|
} XComposeStatus;
|
||
|
|
||
|
/* XKeyEvent type: */
|
||
|
typedef struct {
|
||
|
int type;
|
||
|
unsigned long serial;
|
||
|
Bool send_event;
|
||
|
Display *display;
|
||
|
Window window;
|
||
|
Window root;
|
||
|
Window subwindow;
|
||
|
Time time;
|
||
|
int x, y;
|
||
|
int x_root, y_root;
|
||
|
unsigned int state;
|
||
|
unsigned int keycode;
|
||
|
Bool same_screen;
|
||
|
} XKeyEvent;
|
||
|
|
||
|
/* XButtonEvent type: */
|
||
|
typedef struct {
|
||
|
int type;
|
||
|
unsigned long serial;
|
||
|
Bool send_event;
|
||
|
Display *display;
|
||
|
Window window;
|
||
|
Window root;
|
||
|
Window subwindow;
|
||
|
Time time;
|
||
|
int x, y;
|
||
|
int x_root, y_root;
|
||
|
unsigned int state;
|
||
|
unsigned int button;
|
||
|
Bool same_screen;
|
||
|
} XButtonEvent;
|
||
|
|
||
|
/* XMotionEvent type */
|
||
|
typedef struct {
|
||
|
int type;
|
||
|
unsigned long serial;
|
||
|
Bool send_event;
|
||
|
Display *display;
|
||
|
Window window;
|
||
|
Window root;
|
||
|
Window subwindow;
|
||
|
Time time;
|
||
|
int x, y;
|
||
|
int x_root, y_root;
|
||
|
unsigned int state;
|
||
|
char is_hint;
|
||
|
Bool same_screen;
|
||
|
} XMotionEvent;
|
||
|
|
||
|
/* XExposeEvent */
|
||
|
typedef struct {
|
||
|
int type;
|
||
|
unsigned long serial;
|
||
|
Bool send_event;
|
||
|
Display *display;
|
||
|
Window window;
|
||
|
int x, y;
|
||
|
int width, height;
|
||
|
int count;
|
||
|
} XExposeEvent;
|
||
|
|
||
|
/* XVisibilityEvent type */
|
||
|
typedef struct {
|
||
|
int type;
|
||
|
unsigned long serial;
|
||
|
Bool send_event;
|
||
|
Display *display;
|
||
|
Window window;
|
||
|
int state;
|
||
|
} XVisibilityEvent;
|
||
|
|
||
|
/* XConfigureEvent type */
|
||
|
typedef struct {
|
||
|
int type;
|
||
|
unsigned long serial;
|
||
|
Bool send_event;
|
||
|
Display *display;
|
||
|
Window event;
|
||
|
Window window;
|
||
|
int x, y;
|
||
|
int width, height;
|
||
|
int border_width;
|
||
|
Window above;
|
||
|
Bool override_redirect;
|
||
|
} XConfigureEvent;
|
||
|
|
||
|
/* XEvent type: not needed for WIN32 */
|
||
|
typedef union _XEvent {
|
||
|
int type;
|
||
|
XAnyEvent xany;
|
||
|
XKeyEvent xkey;
|
||
|
XButtonEvent xbutton;
|
||
|
XMotionEvent xmotion;
|
||
|
// XCrossingEvent xcrossing;
|
||
|
// XFocusChangeEvent xfocus;
|
||
|
XExposeEvent xexpose;
|
||
|
// XGraphicsExposeEvent xgraphicsexpose;
|
||
|
// XNoExposeEvent xnoexpose;
|
||
|
XVisibilityEvent xvisibility;
|
||
|
// XCreateWindowEvent xcreatewindow;
|
||
|
// XDestroyWindowEvent xdestroywindow;
|
||
|
// XUnmapEvent xunmap;
|
||
|
// XMapEvent xmap;
|
||
|
// XMapRequestEvent xmaprequest;
|
||
|
// XReparentEvent xreparent;
|
||
|
XConfigureEvent xconfigure;
|
||
|
// XGravityEvent xgravity;
|
||
|
// XResizeRequestEvent xresizerequest;
|
||
|
// XConfigureRequestEvent xconfigurerequest;
|
||
|
// XCirculateEvent xcirculate;
|
||
|
// XCirculateRequestEvent xcirculaterequest;
|
||
|
// XPropertyEvent xproperty;
|
||
|
// XSelectionClearEvent xselectionclear;
|
||
|
// XSelectionRequestEvent xselectionrequest;
|
||
|
// XSelectionEvent xselection;
|
||
|
// XColormapEvent xcolormap;
|
||
|
// XClientMessageEvent xclient;
|
||
|
// XMappingEvent xmapping;
|
||
|
// XErrorEvent xerror;
|
||
|
// XKeymapEvent xkeymap;
|
||
|
long pad[24];
|
||
|
} XEvent;
|
||
|
|
||
|
/* XFontProp type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
Atom name;
|
||
|
unsigned long card32;
|
||
|
} XFontProp;
|
||
|
|
||
|
/* XFontStruct type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
XExtData *ext_data;
|
||
|
Font fid;
|
||
|
unsigned direction;
|
||
|
unsigned min_char_or_byte2;
|
||
|
unsigned max_char_or_byte2;
|
||
|
unsigned min_byte1;
|
||
|
unsigned max_byte1;
|
||
|
Bool all_chars_exist;
|
||
|
unsigned default_char;
|
||
|
int n_properties;
|
||
|
XFontProp *properties;
|
||
|
XCharStruct min_bounds;
|
||
|
XCharStruct max_bounds;
|
||
|
XCharStruct *per_char;
|
||
|
int ascent;
|
||
|
int descent;
|
||
|
} XFontStruct;
|
||
|
|
||
|
/* XColor type */
|
||
|
typedef struct {
|
||
|
unsigned long pixel;
|
||
|
unsigned short red, green, blue;
|
||
|
char flags;
|
||
|
char pad;
|
||
|
} XColor;
|
||
|
|
||
|
/* XGCValues type */
|
||
|
typedef struct {
|
||
|
int function;
|
||
|
unsigned long plane_mask;
|
||
|
unsigned long foreground;
|
||
|
unsigned long background;
|
||
|
int line_width;
|
||
|
int line_style;
|
||
|
int cap_style;
|
||
|
int join_style;
|
||
|
int fill_style;
|
||
|
int fill_rule;
|
||
|
int arc_mode;
|
||
|
Pixmap tile;
|
||
|
Pixmap stipple;
|
||
|
int ts_x_origin;
|
||
|
int ts_y_origin;
|
||
|
Font font;
|
||
|
int subwindow_mode;
|
||
|
Bool graphics_exposures;
|
||
|
int clip_x_origin;
|
||
|
int clip_y_origin;
|
||
|
Pixmap clip_mask;
|
||
|
int dash_offset;
|
||
|
char dashes;
|
||
|
} XGCValues;
|
||
|
|
||
|
/* XHostAddress type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
int family;
|
||
|
int length;
|
||
|
char *address;
|
||
|
} XHostAddress;
|
||
|
|
||
|
/* XImage type */
|
||
|
typedef struct {
|
||
|
int width, height;
|
||
|
int xoffset;
|
||
|
int format;
|
||
|
char *data;
|
||
|
int byte_order;
|
||
|
int bitmap_unit;
|
||
|
int bitmap_bit_order;
|
||
|
int bitmap_pad;
|
||
|
int depth;
|
||
|
int bytes_per_line;
|
||
|
} XImage;
|
||
|
|
||
|
/* XPoint type */
|
||
|
typedef struct {
|
||
|
int x, y;
|
||
|
} XPoint;
|
||
|
|
||
|
/* XRectangle type */
|
||
|
typedef struct {
|
||
|
short x,y;
|
||
|
unsigned short width, height;
|
||
|
} XRectangle;
|
||
|
|
||
|
/* XrmBinding & XrmBindingList types: not needed for WIN32 */
|
||
|
typedef enum {
|
||
|
XrmBindTightly,
|
||
|
XrmBindLoosely
|
||
|
} XrmBinding, *XrmBindingList;
|
||
|
|
||
|
/* XrmDatabase type: not needed for WIN32 */
|
||
|
typedef char** XrmDatabase;
|
||
|
|
||
|
/* XrmOptionKind type: used by XrmOptionDescRec */
|
||
|
typedef enum {
|
||
|
XrmoptionNoArg,
|
||
|
XrmoptionIsArg,
|
||
|
XrmoptionStickyArg,
|
||
|
XrmoptionSepArg,
|
||
|
XrmoptionResArg,
|
||
|
XrmoptionSkipArg,
|
||
|
XrmoptionSkipLine,
|
||
|
XrmoptionSkipNArgs
|
||
|
} XrmOptionKind;
|
||
|
|
||
|
/* XrmOptionDescRec type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
char *option;
|
||
|
char *specifier;
|
||
|
XrmOptionKind argKind;
|
||
|
XPointer value;
|
||
|
} XrmOptionDescRec, *XrmOptionDescList;
|
||
|
|
||
|
/* XrmValue type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
unsigned int size;
|
||
|
XPointer addr;
|
||
|
} XrmValue, *XrmValuePtr;
|
||
|
|
||
|
/* XSegment type */
|
||
|
typedef struct {
|
||
|
short x1, y1, x2, y2;
|
||
|
} XSegment;
|
||
|
|
||
|
/* XTextProperty type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
unsigned char *value;
|
||
|
Atom encoding;
|
||
|
int format;
|
||
|
unsigned long nitems;
|
||
|
} XTextProperty;
|
||
|
|
||
|
/* XVisualInfo type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
Visual *visual;
|
||
|
VisualID visualid;
|
||
|
int screen;
|
||
|
int depth;
|
||
|
#if defined(__cplusplus) || defined(c_plusplus)
|
||
|
int c_class;
|
||
|
#else
|
||
|
int class;
|
||
|
#endif
|
||
|
unsigned long red_mask;
|
||
|
unsigned long green_mask;
|
||
|
unsigned long blue_mask;
|
||
|
int colormap_size;
|
||
|
int bits_per_rgb;
|
||
|
} XVisualInfo;
|
||
|
|
||
|
/* XWindowAttributes type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
int x, y;
|
||
|
int width, height;
|
||
|
int border_width;
|
||
|
int depth;
|
||
|
Visual *visual;
|
||
|
Window root;
|
||
|
int class;
|
||
|
int bit_gravity;
|
||
|
int win_gravity;
|
||
|
int backing_store;
|
||
|
unsigned long backing_planes;
|
||
|
unsigned long backing_pixels;
|
||
|
Bool save_under;
|
||
|
Colormap colormap;
|
||
|
Bool map_installed;
|
||
|
int map_state;
|
||
|
long all_events_masks;
|
||
|
long your_event_mask;
|
||
|
long do_not_propogate_mask;
|
||
|
Bool override_redirect;
|
||
|
Screen *screen;
|
||
|
} XWindowAttributes;
|
||
|
|
||
|
/* XWindowChanges type: not needed for WIN32 */
|
||
|
typedef struct {
|
||
|
int x, y;
|
||
|
int width, height;
|
||
|
int border_width;
|
||
|
Window sibling;
|
||
|
int stack_mode;
|
||
|
} XWindowChanges;
|
||
|
|
||
|
|
||
|
/* caddr_t type: char address type */
|
||
|
typedef char *caddr_t;
|
||
|
|
||
|
/* -------------------------------------------------------------------- */
|
||
|
|
||
|
/*-
|
||
|
* prototypes
|
||
|
*/
|
||
|
|
||
|
int nice(int level);
|
||
|
void sleep(int sec);
|
||
|
int sigmask(int signum);
|
||
|
|
||
|
unsigned long BlackPixel(Display *display, int screen_number);
|
||
|
int BlackPixelOfScreen(Screen *screen);
|
||
|
int CellsOfScreen(Screen *screen);
|
||
|
Colormap DefaultColormap(Display *display, int screen_number);
|
||
|
Colormap DefaultColormapOfScreen(Screen *screen);
|
||
|
Visual *DefaultVisual(Display *display, int screen_number);
|
||
|
int DisplayPlanes(Display *display, int screen_number);
|
||
|
char *DisplayString(Display *display);
|
||
|
Window RootWindow(Display *display, int screen_number);
|
||
|
int ScreenCount(Display *display);
|
||
|
Screen *ScreenOfDisplay(Display *display, int screen_number);
|
||
|
unsigned long WhitePixel(Display *display, int screen_number);
|
||
|
int WhitePixelOfScreen(Screen *screen);
|
||
|
|
||
|
|
||
|
|
||
|
void XAddHosts(Display *display, XHostAddress *hosts, int num_hosts);
|
||
|
Status XAllocColor(Display *display, Colormap colormap,
|
||
|
XColor *screen_in_out);
|
||
|
Status XAllocColorCells(Display *display, Colormap colormap,
|
||
|
Bool contig, unsigned long plane_masks_return[],
|
||
|
unsigned int nplanes, unsigned long pixels_return[],
|
||
|
unsigned int npixels);
|
||
|
Status XAllocNamedColor(Display *display, Colormap colormap,
|
||
|
char *color_name, XColor *screen_def_return,
|
||
|
XColor *exact_def_return);
|
||
|
void XBell(Display *display, int percent);
|
||
|
void XChangeGC(Display *display, GC gc, unsigned long valuemask,
|
||
|
XGCValues *values);
|
||
|
Bool XCheckMaskEvent(Display *display, long event_mask,
|
||
|
XEvent *event_return);
|
||
|
void XClearArea(Display *display, Window w, int x, int y,
|
||
|
unsigned int width, unsigned int height, Bool exposures);
|
||
|
void XClearWindow(Display *display, Window w);
|
||
|
void XCloseDisplay(Display *display);
|
||
|
void XConfigureWindow(Display *display, Window w,
|
||
|
unsigned int value_mask,
|
||
|
XWindowChanges *values);
|
||
|
int XCopyArea(Display *display, Drawable src, Drawable dest, GC gc,
|
||
|
int src_x, int src_y, unsigned int width, unsigned height,
|
||
|
int dest_x, int dest_y);
|
||
|
int XCopyPlane(Display *display, Drawable src, Drawable dest, GC gc,
|
||
|
int src_x, int src_y, unsigned width, int height, int dest_x,
|
||
|
int dest_y, unsigned long plane);
|
||
|
Colormap XCopyColormapAndFree(Display *display, Colormap colormap);
|
||
|
Pixmap XCreateBitmapFromData(Display *display, Drawable drawable,
|
||
|
char *data, unsigned int width,
|
||
|
unsigned int height);
|
||
|
Colormap XCreateColormap(Display *display, Window w,
|
||
|
Visual *visual, int alloc);
|
||
|
Cursor XCreateFontCursor(Display *display, unsigned int shape);
|
||
|
GC XCreateGC(Display *display, Drawable drawable,
|
||
|
unsigned long valuemask, XGCValues *values);
|
||
|
XImage *XCreateImage(Display *display, Visual *visual,
|
||
|
unsigned int depth, int format, int offset,
|
||
|
char *data, unsigned int width,
|
||
|
unsigned int height, int bitmap_pad,
|
||
|
int bytes_per_line);
|
||
|
Pixmap XCreatePixmap(Display *display, Drawable d, unsigned int width,
|
||
|
unsigned int height, unsigned int depth);
|
||
|
Cursor XCreatePixmapCursor(Display *display,
|
||
|
Pixmap source, Pixmap mask,
|
||
|
XColor *foreground_color, XColor *background_color,
|
||
|
unsigned int x_hot, unsigned int y_hot);
|
||
|
Pixmap XCreatePixmapFromBitmapData(Display *display, Drawable drawable,
|
||
|
char *data, unsigned int width, unsigned int height,
|
||
|
unsigned long fg, unsigned long bg, unsigned int depth);
|
||
|
void XDefineCursor(Display *display, Window window, Cursor cursor);
|
||
|
void XDestroyImage(XImage *ximage);
|
||
|
void XDisableAccessControl(Display *display);
|
||
|
void XDrawArc(Display *display, Drawable d, GC gc, int x, int y,
|
||
|
unsigned int width, unsigned int height,
|
||
|
int angle1, int angle2);
|
||
|
void XDrawImageString(Display *display, Drawable d, GC gc,
|
||
|
int x, int y, char *string, int length);
|
||
|
void XDrawLine(Display *display, Drawable d, GC gc,
|
||
|
int x1, int y1, int x2, int y2);
|
||
|
void XDrawLines(Display *display, Drawable d, GC gc,
|
||
|
XPoint *points, int npoints, int mode);
|
||
|
void XDrawPoint(Display *display, Drawable d, GC gc, int x, int y);
|
||
|
void XDrawPoints(Display *display, Drawable d, GC gc,
|
||
|
XPoint *pts, int numpts, int mode);
|
||
|
void XDrawRectangle(Display *display, Drawable d, GC gc, int x, int y,
|
||
|
unsigned int width, unsigned int height);
|
||
|
void XDrawSegments(Display *display, Drawable d, GC gc,
|
||
|
XSegment *segs, int numsegs);
|
||
|
void XDrawString(Display *display, Drawable d, GC gc, int x, int y,
|
||
|
char *string, int length);
|
||
|
void XEnableAccessControl(Display *display);
|
||
|
void XFillArc(Display *display, Drawable d, GC gc, int x, int y,
|
||
|
unsigned int width, unsigned int height,
|
||
|
int angle1, int angle2);
|
||
|
void XFillArcs(Display *display, Drawable d, GC gc,
|
||
|
XArc *arcs, int narcs);
|
||
|
void XFillPolygon(Display *display, Drawable d, GC gc, XPoint *points,
|
||
|
int npoints, int shape, int mode);
|
||
|
void XFillRectangle(Display *display, Drawable d, GC gc, int x, int y,
|
||
|
unsigned int width, unsigned int height);
|
||
|
void XFillRectangles(Display *display, Drawable d, GC gc,
|
||
|
XRectangle *rectangles, int nrectangles);
|
||
|
void XFlush(Display *display);
|
||
|
void XFree(void *data);
|
||
|
void XFreeColormap(Display *display, Colormap colormap);
|
||
|
void XFreeColors(Display *display, Colormap colormap,
|
||
|
unsigned long pixels[], int npixels,
|
||
|
unsigned long planes);
|
||
|
void XFreeCursor(Display *display, Cursor cursor);
|
||
|
int XFreeFont(Display *display, XFontStruct *font_struct);
|
||
|
int XFreeFontInfo(char** names, XFontStruct* free_info, int actual_count);
|
||
|
void XFreeGC(Display *display, GC gc);
|
||
|
void XFreePixmap(Display *display, Pixmap pixmap);
|
||
|
GContext XGContextFromGC(GC gc);
|
||
|
XVisualInfo *XGetVisualInfo(Display *display, long vinfo_mask,
|
||
|
XVisualInfo *vinfo_template,
|
||
|
int *nitems_return);
|
||
|
Status XGetWindowAttributes(Display *display, Window w,
|
||
|
XWindowAttributes *window_attr_return);
|
||
|
int XGrabKeyboard(Display *display, Window grab_window,
|
||
|
Bool owner_events, int pointer_mode,
|
||
|
int keyboard_mode, Time time);
|
||
|
int XGrabPointer(Display *display, Window grab_window, Bool owner_events,
|
||
|
unsigned int event_mask, int pointer_mode,
|
||
|
int keyboard_mode, Window confine_to, Cursor cursor,
|
||
|
Time time);
|
||
|
void XGrabServer(Display *display);
|
||
|
void XInstallColormap(Display *display, Colormap colormap);
|
||
|
XHostAddress *XListHosts(Display *display, int *nhosts_return,
|
||
|
Bool *state_return);
|
||
|
XFontStruct *XLoadQueryFont(Display *display, char *name);
|
||
|
int XLookupString(XKeyEvent *event_struct, char *buffer_return,
|
||
|
int bytes_buffer, KeySym *keysym_return,
|
||
|
XComposeStatus *status_in_out);
|
||
|
void XMapWindow(Display *display, Window w);
|
||
|
void XNextEvent(Display *display, XEvent *event_return);
|
||
|
Display *XOpenDisplay(char *display_name);
|
||
|
Status XParseColor(Display *display, Colormap colormap,
|
||
|
char *spec, XColor *exact_def_return);
|
||
|
int XPending(Display *display);
|
||
|
void XPutBackEvent(Display *display, XEvent *event);
|
||
|
void XPutImage(Display *display, Drawable d, GC gc, XImage *image, int src_x,
|
||
|
int src_y, int dest_x, int dest_y, unsigned int width,
|
||
|
unsigned int height);
|
||
|
int XPutPixel(XImage *ximage, int x, int y, unsigned long pixel);
|
||
|
void XQueryColor(Display *display, Colormap colormap, XColor *def_in_out);
|
||
|
XFontStruct *XQueryFont(Display* display, XID font_ID);
|
||
|
Bool XQueryPointer(Display *display, Window w, Window *root_return,
|
||
|
Window *child_return, int *root_x_return, int *root_y_return,
|
||
|
int *win_x_return, int *win_y_return,
|
||
|
unsigned int *mask_return);
|
||
|
Status XQueryTree(Display *display, Window w, Window *root_return,
|
||
|
Window *parent_return, Window **children_return,
|
||
|
unsigned int *nchildren_return);
|
||
|
void XRaiseWindow(Display *display, Window w);
|
||
|
int XReadBitmapFile(Display *display, Drawable d, char *filename,
|
||
|
unsigned int *width_return, unsigned int *height_return,
|
||
|
Pixmap *bitmap_return, int *x_hot_return, int *y_hot_return);
|
||
|
void XRemoveHosts(Display *display, XHostAddress *hosts, int num_hosts);
|
||
|
char *XResourceManagerString(Display *display);
|
||
|
void XrmDestroyDatabase(XrmDatabase database);
|
||
|
XrmDatabase XrmGetFileDatabase(char *filename);
|
||
|
Bool XrmGetResource(XrmDatabase database, char *str_name,
|
||
|
char *str_class, char **str_type_return,
|
||
|
XrmValue *value_return);
|
||
|
XrmDatabase XrmGetStringDatabase(char *data);
|
||
|
void XrmInitialize(void);
|
||
|
void XrmMergeDatabases(XrmDatabase source_db, XrmDatabase *target_db);
|
||
|
void XrmParseCommand(XrmDatabase *database, XrmOptionDescList table,
|
||
|
int table_count, char *name, int *argc_in_out,
|
||
|
char **argv_in_out);
|
||
|
void XSetBackground(Display *display, GC gc, unsigned long background);
|
||
|
void XSetFillRule(Display *display, GC gc, int fill_rule);
|
||
|
void XSetFillStyle(Display *display, GC gc, int fill_style);
|
||
|
void XSetFont(Display *display, GC gc, Font font);
|
||
|
void XSetForeground(Display *display, GC gc, unsigned long foreground);
|
||
|
void XSetFunction(Display *display, GC gc, int function);
|
||
|
int XSetGraphicsExposures(Display *display, GC gc, Bool graphics_exposures);
|
||
|
void XSetLineAttributes(Display *display, GC gc,
|
||
|
unsigned int line_width, int line_style,
|
||
|
int cap_style, int join_style);
|
||
|
void XSetScreenSaver(Display *display, int timeout, int interval,
|
||
|
int prefer_blanking, int allow_exposures);
|
||
|
void XSetStipple(Display *display, GC gc, Pixmap stipple);
|
||
|
void XSetTSOrigin(Display *display, GC gc, int ts_x_origin, int ts_y_origin);
|
||
|
void XSetWindowColormap(Display *display, Window w, Colormap colormap);
|
||
|
void XSetWMName(Display *display, Window w, XTextProperty *text_prop);
|
||
|
Status XStringListToTextProperty(char **list, int count,
|
||
|
XTextProperty *text_prop_return);
|
||
|
void XStoreColors(Display *display, Colormap colormap, XColor color[],
|
||
|
int ncolors);
|
||
|
void XSync(Display *display, Bool discard);
|
||
|
int XTextWidth(XFontStruct *font_struct, char *string, int count);
|
||
|
Bool XTranslateCoordinates(Display* display, Window src_w, Window dest_w,
|
||
|
int src_x, int src_y,
|
||
|
int* dest_x_return, int* dest_y_return,
|
||
|
Window* child_return);
|
||
|
void XUngrabKeyboard(Display *display, Time time);
|
||
|
void XUngrabPointer(Display *display, Time time);
|
||
|
void XUngrabServer(Display *display);
|
||
|
void XUnmapWindow(Display *display, Window w);
|
||
|
/* -------------------------------------------------------------------- */
|
||
|
|
||
|
#endif /* WIN32 */
|
||
|
#endif /* __XLOCK_XAPI_H__ */
|