summaryrefslogtreecommitdiff
path: root/app/xlockmore/win32/Xapi.h
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-26 11:09:41 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-26 11:09:41 +0000
commit95c2d1cbda23a41cdf6e63520c7f0b825e63dd5b (patch)
tree06d3ffa4312e568c4157f69fe1bddaddec9bc497 /app/xlockmore/win32/Xapi.h
parent3928433848e2d6a9356f3d438a14b32a4f87f660 (diff)
Importing xlockmore 5.22
Diffstat (limited to 'app/xlockmore/win32/Xapi.h')
-rw-r--r--app/xlockmore/win32/Xapi.h971
1 files changed, 971 insertions, 0 deletions
diff --git a/app/xlockmore/win32/Xapi.h b/app/xlockmore/win32/Xapi.h
new file mode 100644
index 000000000..ccf000f49
--- /dev/null
+++ b/app/xlockmore/win32/Xapi.h
@@ -0,0 +1,971 @@
+#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__ */