📄 xlib.h
字号:
/* * Xlib compatibility */#ifndef _DUMMY_XLIBH_#define _DUMMY_XLIBH_/* Move away the typedef in XtoNX.h */#define XFontStruct XFontStruct1#include <XtoNX.h>#undef XFontStruct#undef XCharStruct/* Data types */typedef GR_PALETTE* Colormap;typedef GR_DRAW_ID Drawable ;typedef int Status;typedef unsigned long VisualID;typedef int Bool;typedef long XID;typedef GR_SCANCODE KeySym;typedef GR_EVENT_KEYSTROKE XKeyEvent;typedef struct { GR_FONT_INFO info; GR_FONT_ID fid;} XFontStruct;typedef struct { short lbearing; /* origin to left edge of raster */ short rbearing; /* origin to right edge of raster */ short width; /* advance to next char's origin */ short ascent; /* baseline to top edge of raster */ short descent; /* baseline to bottom edge of raster */ unsigned short attributes; /* per char flags (not predefined) */} XCharStruct;/* Configure window value mask bits */#define CWX (1<<0)#define CWY (1<<1)#define CWWidth (1<<2)#define CWHeight (1<<3)#define CWBorderWidth (1<<4)#define CWSibling (1<<5)#define CWStackMode (1<<6)/* Values */ typedef struct { int x, y; int width, height; int border_width; Window sibling; int stack_mode;} XWindowChanges;/* typedef unsigned long Time; */#define Success 0#define GrabSuccess Success#define GrabNotViewable (Success+1)#define InputOutput 1#define InputOnly 2#define IsUnmapped 0#define IsUnviewable 1#define IsViewable 2/* Is this right? */#define PropertyChangeMask GR_EVENT_MASK_SELECTION_CHANGED#define GraphicsExpose GR_EVENT_TYPE_EXPOSURE#define GraphicsExposeMask GR_EVENT_MASK_EXPOSURE#define ColormapChangeMask 0#define FillSolid 0#define LineSolid 0#define LineOnOffDash 0#define CapNotLast 0#define CapRound 0#define CapProjecting 0#define CapButt 0#define JoinRound 0#define JoinBevel 0#define JoinMiter 0#define IncludeInferiors 0#define ClipByChildren 0#define DoRed 0#define DoGreen 0#define DoBlue 0#define NoEventMask GR_EVENT_MASK_NONE#define RevertToParent 0#define CurrentTime 0#define GrabModeAsync 0#define GXcopy GR_MODE_COPY#define GXclear GR_MODE_CLEAR#ifndef GXxor#define GXxor GR_MODE_OR#endif#define GXinvert GR_MODE_INVERT#define GXorReverse GR_MODE_ORREVERSE#define GXandReverse GR_MODE_ANDREVERSE#define GXand GR_MODE_AND#define GXor GR_MODE_OR#define GXandInverted GR_MODE_ANDINVERTED#define GXnoop GR_MODE_NOOP#define GXnor GR_MODE_NOR#define GXequiv GR_MODE_EQUIV#define GXcopyInverted GR_MODE_COPYINVERTED#define GXorInverted GR_MODE_ORINVERTED#define GXnand GR_MODE_NAND#define GXset GR_MODE_SET#define XSynchronize(display,sync)#define XDefaultRootWindow(d) GR_ROOT_WINDOW_ID#define RootWindowOfScreen(s) GR_ROOT_WINDOW_ID#define XFreePixmap(d, p) GrDestroyWindow(p)#define XFreeCursor(d, c) GrDestroyCursor(c)#define XFreeGC(d, gc) GrDestroyGC(gc)#define XSetBackground(d, gc, c) GrSetGCBackground(gc, c)#define DefaultVisual(d, s) ((Visual*) NULL)#define DefaultColormap(d, s) DefaultColormapOfScreen((Screen*) NULL)#define DefaultScreenOfDisplay(d) 0#define XSetFillStyle(d, gc, s) wxNoop()#define XSetLineAttributes(d, gc, a, b, c, e) wxNoop()#define XSetClipMask(d, gc, m) wxNoop()#define XSetTSOrigin(d, gc, x, y) wxNoop()#define XFillArc(d, w, gc, x, y, rx, ry, a1, a2) GrArcAngle(w, gc, x, y, rx, ry, a1, a2, GR_PIE)#define XDrawArc(d, w, gc, x, y, rx, ry, a1, a2) GrArcAngle(w, gc, x, y, rx, ry, a1, a2, GR_ARC)#define XDrawPoint(d, w, gc, x, y) GrPoint(w, gc, x, y)#define XFillPolygon(d, w, gc, p, n, s, m) GrFillPoly(w, gc, n, p)#define XDrawRectangle(d, w, gc, x, y, width, height) GrRect(w, gc, x, y, width, height)#define XSetClipOrigin(d, gc, x, y) GrSetGCClipOrigin(gc, x, y)#define XSetRegion(d, gc, r) GrSetGCRegion(gc, r)#define XSetTile(d, gc, p) wxNoop()#define XSetStipple(d, gc, p) wxNoop()#define XSetSubwindowMode(d, gc, mode) wxNoop()#define XFreeColormap(d, cmap) wxNoop()#define XSetTransientForHint(d, w, p) wxNoop()#define XUnionRegion(sr1,sr2,r) GrUnionRegion(r,sr1,sr2)#define XIntersectRegion(sr1,sr2,r) GrIntersectRegion(r,sr1,sr2)#define XEqualRegion(r1, r2) GrEqualRegion(r1, r2)#define XEmptyRegion(r) GrEmptyRegion(r)#define XOffsetRegion(r, x, y) GrOffsetRegion(r, x, y)#define XClipBox(r, rect) GrGetRegionBox(r, rect)#define XPointInRegion(r, x, y) GrPointInRegion(r, x, y)#define XXorRegion(sr1, sr2, r) GrXorRegion(r, sr1, sr2)/* TODO: Cannot find equivalent for this. */#define XIconifyWindow(d, w, s) 0#define XCreateWindowWithColor(d,p,x,y,w,h,bw,depth,cl,vis,backColor,foreColor) \ GrNewWindow(p,x,y,w,h,bw,backColor,foreColor)#define XLookupString(event, buf, len, sym, status) (*sym = (event)->scancode)#define XBell(a, b) GrBell()#define DisplayWidthMM(d, s) 100#define DisplayHeightMM(d, s) 100/* These defines are wrongly defined in XtoNX.h, IMHO, * since they reference a static global. * Redefined as functions, below. */#undef DisplayWidth#undef DisplayHeight#undef DefaultDepth/* * Data structure used by color operations */typedef struct { unsigned long pixel; unsigned short red, green, blue; char flags; /* do_red, do_green, do_blue */ char pad;} XColor;typedef struct { int type; Display *display; /* Display the event was read from */ XID resourceid; /* resource id */ unsigned long serial; /* serial number of failed request */ unsigned char error_code; /* error code of failed request */ unsigned char request_code; /* Major op-code of failed request */ unsigned char minor_code; /* Minor op-code of failed request */} XErrorEvent;/* * Visual structure; contains information about colormapping possible. */typedef struct { void *ext_data; /* hook for extension to hang data */ VisualID visualid; /* visual id of this visual */#if defined(__cplusplus) || defined(c_plusplus) int c_class; /* C++ class of screen (monochrome, etc.) */#else int class; /* class of screen (monochrome, etc.) */#endif unsigned long red_mask, green_mask, blue_mask; /* mask values */ int bits_per_rgb; /* log base 2 of distinct color values */ int map_entries; /* color map entries */} Visual;/* * Depth structure; contains information for each possible depth. */ typedef struct { int depth; /* this depth (Z) of the depth */ int nvisuals; /* number of Visual types at this depth */ Visual *visuals; /* list of visuals possible at this depth */} Depth;/* * Information about the screen. The contents of this structure are * implementation dependent. A Screen should be treated as opaque * by application code. */struct _XDisplay; /* Forward declare before use for C++ */typedef struct { void *ext_data; /* hook for extension to hang data */ struct _XDisplay *display;/* back pointer to display structure */ Window root; /* Root window id. */ int width, height; /* width and height of screen */ int mwidth, mheight; /* width and height of in millimeters */ int ndepths; /* number of depths possible */ Depth *depths; /* list of allowable depths on the screen */ int root_depth; /* bits per pixel */ Visual *root_visual; /* root visual */ GC default_gc; /* GC for the root root visual */ Colormap cmap; /* default color map */ unsigned long white_pixel; unsigned long black_pixel; /* White and Black pixel values */ int max_maps, min_maps; /* max and min color maps */ int backing_store; /* Never, WhenMapped, Always */ Bool save_unders; long root_input_mask; /* initial root input mask */} Screen;typedef struct { int x, y; /* location of window */ int width, height; /* width and height of window */ int border_width; /* border width of window */ int depth; /* depth of window */ Visual *visual; /* the associated visual structure */ Window root; /* root of screen containing window */ int _class; /* InputOutput, InputOnly*/ int bit_gravity; /* one of the bit gravity values */ int win_gravity; /* one of the window gravity values */ int backing_store; /* NotUseful, WhenMapped, Always */ unsigned long backing_planes;/* planes to be preserved if possible */ unsigned long backing_pixel;/* value to be used when restoring planes */ Bool save_under; /* boolean, should bits under be saved? */ Colormap colormap; /* color map to be associated with window */ Bool map_installed; /* boolean, is color map currently installed*/ int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ long all_event_masks; /* set of events all people have interest in*/ long your_event_mask; /* my event mask */ long do_not_propagate_mask;/* set of events that should not propagate */ Bool override_redirect; /* boolean value for override-redirect */ Screen *screen; /* back pointer to correct screen */} XWindowAttributes;typedef int (*XErrorHandler) ( /* WARNING, this type not in Xlib spec */ Display* /* display */, XErrorEvent* /* error_event */);/* events*//* What should this be? */#if 0#ifndef ResizeRequest#define ResizeRequest ??#endif#endif#ifndef MotionNotify#define MotionNotify GR_EVENT_TYPE_MOUSE_POSITION#define PointerMotionMask GR_EVENT_MASK_MOUSE_POSITION#endif#define ButtonMotionMask GR_EVENT_MASK_MOUSE_POSITION#define KeymapStateMask 0#define StructureNotifyMask GR_EVENT_MASK_UPDATE#ifdef ConfigureNotify/* XtoNX.h gets it wrong */#undef ConfigureNotify#endif#define ConfigureNotify GR_EVENT_TYPE_UPDATE#ifndef FocusIn#define FocusIn GR_EVENT_TYPE_FOCUS_IN#define FocusOut GR_EVENT_TYPE_FOCUS_OUT#define FocusChangeMask GR_EVENT_MASK_FOCUS_IN|GR_EVENT_MASK_FOCUS_OUT#endif/* Fuunctions */#ifdef __cplusplusextern "C" {#endifDisplay *XOpenDisplay(char *name);Colormap DefaultColormapOfScreen(Screen* /* screen */) ;int XSetGraphicsExposures( Display* /* display */, GC /* gc */, Bool /* graphics_exposures */) ;int XWarpPointer( Display* /* display */, Window /* srcW */, Window /* destW */, int /* srcX */, int /* srcY */, unsigned int /* srcWidth */, unsigned int /* srcHeight */, int destX, int destY);int XSetInputFocus(Display* /* display */, Window focus, int /* revert_to */, Time /* time */) ;int XGetInputFocus(Display* /* display */, Window* /* focus_return */, int* /* revert_to_return */) ;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 */) ;int XUngrabPointer(Display* /* display */, Time /* time */) ;int XCopyArea(Display* /* display */, Drawable src, Drawable dest, GC gc, int src_x, int src_y, unsigned int width, unsigned int height, int dest_x, int dest_y) ;int XCopyPlane(Display* /* display */, Drawable src, Drawable dest, GC gc, int src_x, int src_y, unsigned int width, unsigned int height, int dest_x, int dest_y, unsigned long /* plane */) ;XErrorHandler XSetErrorHandler (XErrorHandler /* handler */);Screen *XScreenOfDisplay(Display* /* display */, int /* screen_number */);int DisplayWidth(Display* /* display */, int /* screen */);int DisplayHeight(Display* /* display */, int /* screen */);int DefaultDepth(Display* /* display */, int /* screen */);int XAllocColor(Display* /* display */, Colormap /* cmap */, XColor* color);int XParseColor(Display* display, Colormap cmap, const char* cname, XColor* color);int XDrawLine(Display* display, Window win, GC gc, int x1, int y1, int x2, int y2);int XTextExtents( XFontStruct* font, char* s, int len, int* direction, int* ascent, int* descent2, XCharStruct* overall);int XPending(Display *d);XFontStruct* XLoadQueryFont(Display* display, const char* fontSpec);int XFreeFont(Display* display, XFontStruct* fontStruct);int XQueryColor(Display* display, Colormap cmap, XColor* color);Status XGetWindowAttributes(Display* display, Window w, XWindowAttributes* window_attributes);int XConfigureWindow(Display* display, Window w, int mask, XWindowChanges* changes);int XTranslateCoordinates(Display* display, Window srcWindow, Window destWindow, int srcX, int srcY, int* destX, int* destY, Window* childReturn);void wxNoop();#ifdef __cplusplus}#endif#define XMaxRequestSize(display) 16384#endif /* _DUMMY_XLIBH_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -