📄 xlib.h
字号:
/* Copyright 1985, 1986, 1987, 1991, 1998 The Open GroupAll Rights Reserved.The above copyright notice and this permission notice shall be included inall copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER INAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR INCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.Except as contained in this notice, the name of The Open Group shall not beused in advertising or otherwise to promote the sale, use or other dealingsin this Software without prior written authorization from The Open Group.*/#ifndef __XLIB_H#define __XLIB_H/* typedef struct _XrmHashBucketRec; */typedef unsigned long Atom;typedef unsigned long Time;typedef unsigned long XID;#ifndef Bool#define Bool int#endiftypedef int BoolDef;typedef XID Window;typedef XID Drawable;typedef XID Font;typedef XID Pixmap;typedef XID Cursor;typedef XID Colormap;typedef XID KeySym;typedef XID GContext;typedef unsigned char KeyCode;typedef char *XPointer;typedef unsigned long VisualID;#define PIXEL_ALREADY_TYPEDEFEDtypedef unsigned long Pixel;#define XDestroyImage(ximage) \ ((*((ximage)->f.destroy_image))((ximage)))#define XPutPixel(ximage, x, y, pixel) \ ((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))#define AllPlanes ((unsigned long)~0L)#define ScreenOfDisplay(dpy, scr)(&((_XPrivDisplay)dpy)->screens[scr])#define DefaultVisual(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_visual)#define DefaultDepth(dpy, scr) (ScreenOfDisplay(dpy,scr)->root_depth)#define DefaultColormap(dpy, scr)(ScreenOfDisplay(dpy,scr)->cmap)#define DefaultScreen(dpy) (((_XPrivDisplay)dpy)->default_screen)#define BlackPixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->black_pixel)#define WhitePixel(dpy, scr) (ScreenOfDisplay(dpy,scr)->white_pixel)#define RootWindow(dpy, scr) (ScreenOfDisplay(dpy,scr)->root)#define DefaultRootWindow(dpy) (ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)#define DisplayWidth(dpy, scr) (ScreenOfDisplay(dpy,scr)->width)#define DisplayHeight(dpy, scr) (ScreenOfDisplay(dpy,scr)->height)#ifndef None#define None 0L /* universal null resource or null atom */#endif#define ParentRelative 1L #define CopyFromParent 0L #define PointerWindow 0L /* destination window in SendEvent */#define InputFocus 1L /* destination window in SendEvent */#define PointerRoot 1L /* focus window in SetInputFocus */#define AnyPropertyType 0L /* special Atom, passed to GetProperty */#define AnyKey 0L /* special Key Code, passed to GrabKey */#define AnyButton 0L /* special Button Code, passed to GrabButton */#define AllTemporary 0L /* special Resource ID passed to KillClient */#define CurrentTime 0L /* special Time */#define NoSymbol 0L /* special KeySym */#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 /* must be bigger than any event # */#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)#define ShiftMapIndex 0#define LockMapIndex 1#define ControlMapIndex 2#define Mod1MapIndex 3#define Mod2MapIndex 4#define Mod3MapIndex 5#define Mod4MapIndex 6#define Mod5MapIndex 7#define Button1Mask (1<<8)#define Button2Mask (1<<9)#define Button3Mask (1<<10)#define Button4Mask (1<<11)#define Button5Mask (1<<12)#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */#define Button1 1#define Button2 2#define Button3 3#define Button4 4#define Button5 5#define NotifyNormal 0#define NotifyGrab 1#define NotifyUngrab 2#define NotifyWhileGrabbed 3#define NotifyHint 1 /* for MotionNotify events */#define NotifyAncestor 0#define NotifyVirtual 1#define NotifyInferior 2#define NotifyNonlinear 3#define NotifyNonlinearVirtual 4#define NotifyPointer 5#define NotifyPointerRoot 6#define NotifyDetailNone 7#define VisibilityUnobscured 0#define VisibilityPartiallyObscured 1#define VisibilityFullyObscured 2#define PlaceOnTop 0#define PlaceOnBottom 1#define FamilyInternet 0#define FamilyDECnet 1#define FamilyChaos 2#define PropertyNewValue 0#define PropertyDelete 1#define ColormapUninstalled 0#define ColormapInstalled 1#define GrabModeSync 0#define GrabModeAsync 1#define GrabSuccess 0#define AlreadyGrabbed 1#define GrabInvalidTime 2#define GrabNotViewable 3#define GrabFrozen 4#define AsyncPointer 0#define SyncPointer 1#define ReplayPointer 2#define AsyncKeyboard 3#define SyncKeyboard 4#define ReplayKeyboard 5#define AsyncBoth 6#define SyncBoth 7#define RevertToNone (int)None#define RevertToPointerRoot (int)PointerRoot#define RevertToParent 2#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 #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 */#define FirstExtensionError 128#define LastExtensionError 255#define InputOutput 1#define InputOnly 2#define CWBackPixmap (1L<<0)#define CWBackPixel (1L<<1)#define CWBorderPixmap (1L<<2)#define CWBorderPixel (1L<<3)#define CWBitGravity (1L<<4)#define CWWinGravity (1L<<5)#define CWBackingStore (1L<<6)#define CWBackingPlanes (1L<<7)#define CWBackingPixel (1L<<8)#define CWOverrideRedirect (1L<<9)#define CWSaveUnder (1L<<10)#define CWEventMask (1L<<11)#define CWDontPropagate (1L<<12)#define CWColormap (1L<<13)#define CWCursor (1L<<14)#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)#define ForgetGravity 0#define NorthWestGravity 1#define NorthGravity 2#define NorthEastGravity 3#define WestGravity 4#define CenterGravity 5#define EastGravity 6#define SouthWestGravity 7#define SouthGravity 8#define SouthEastGravity 9#define StaticGravity 10#define UnmapGravity 0#define NotUseful 0#define WhenMapped 1#define Always 2#define IsUnmapped 0#define IsUnviewable 1#define IsViewable 2#define SetModeInsert 0#define SetModeDelete 1#define DestroyAll 0#define RetainPermanent 1#define RetainTemporary 2#define Above 0#define Below 1#define TopIf 2#define BottomIf 3#define Opposite 4#define RaiseLowest 0#define LowerHighest 1#define PropModeReplace 0#define PropModePrepend 1#define PropModeAppend 2#define GXclear 0x0 /* 0 */#define GXand 0x1 /* src AND dst */#define GXandReverse 0x2 /* src AND NOT dst */#define GXcopy 0x3 /* src */#define GXandInverted 0x4 /* NOT src AND dst */#define GXnoop 0x5 /* dst */#define GXxor 0x6 /* src XOR dst */#define GXor 0x7 /* src OR dst */#define GXnor 0x8 /* NOT src AND NOT dst */#define GXequiv 0x9 /* NOT src XOR dst */#define GXinvert 0xa /* NOT dst */#define GXorReverse 0xb /* src OR NOT dst */#define GXcopyInverted 0xc /* NOT src */#define GXorInverted 0xd /* NOT src OR dst */#define GXnand 0xe /* NOT src OR NOT dst */#define GXset 0xf /* 1 */#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 FillSolid 0#define FillTiled 1#define FillStippled 2#define FillOpaqueStippled 3#define EvenOddRule 0#define WindingRule 1#define ClipByChildren 0#define IncludeInferiors 1#define Unsorted 0#define YSorted 1#define YXSorted 2#define YXBanded 3#define CoordModeOrigin 0 /* relative to the origin */#define CoordModePrevious 1 /* relative to previous point */#define Complex 0 /* paths may intersect */#define Nonconvex 1 /* no paths intersect, but not convex */#define Convex 2 /* wholly convex */#define ArcChord 0 /* join endpoints of arc */#define ArcPieSlice 1 /* join endpoints to center of arc */#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 GCLastBit 22#define FontLeftToRight 0#define FontRightToLeft 1#define FontChange 255#define XYBitmap 0 /* depth 1, XYFormat */#define XYPixmap 1 /* depth == drawable depth */#define ZPixmap 2 /* depth == drawable depth */#define AllocNone 0 /* create map with no entries */#define AllocAll 1 /* allocate entire map writeable */#define DoRed (1<<0)#define DoGreen (1<<1)#define DoBlue (1<<2)#define CursorShape 0 /* largest size that can be displayed */#define TileShape 1 /* size tiled fastest */#define StippleShape 2 /* size stippled fastest */#define AutoRepeatModeOff 0#define AutoRepeatModeOn 1#define AutoRepeatModeDefault 2#define LedModeOff 0#define LedModeOn 1#define KBKeyClickPercent (1L<<0)#define KBBellPercent (1L<<1)#define KBBellPitch (1L<<2)#define KBBellDuration (1L<<3)#define KBLed (1L<<4)#define KBLedMode (1L<<5)#define KBKey (1L<<6)#define KBAutoRepeatMode (1L<<7)#define MappingSuccess 0#define MappingBusy 1#define MappingFailed 2#define MappingModifier 0#define MappingKeyboard 1#define MappingPointer 2#define DontPreferBlanking 0#define PreferBlanking 1#define DefaultBlanking 2#define DisableScreenSaver 0#define DisableScreenInterval 0#define DontAllowExposures 0#define AllowExposures 1#define DefaultExposures 2#define ScreenSaverReset 0#define ScreenSaverActive 1#define HostInsert 0#define HostDelete 1#define EnableAccess 1 #define DisableAccess 0#define StaticGray 0#define GrayScale 1#define StaticColor 2#define PseudoColor 3#define TrueColor 4#define DirectColor 5#define LSBFirst 0#define MSBFirst 1#define True 1#define False 0#define XK_Alt_L 0xFFE9 /* Left alt */#define XK_BackSpace 0xFF08 /* back space, back char */#define XK_Tab 0xFF09#define XK_Linefeed 0xFF0A /* Linefeed, LF */#define XK_Clear 0xFF0B#define XK_Return 0xFF0D /* Return, enter */#define XK_Pause 0xFF13 /* Pause, hold */#define XK_Scroll_Lock 0xFF14#define XK_Sys_Req 0xFF15#define XK_Escape 0xFF1B#define XK_Delete 0xFFFF /* Delete, rubout */#define XK_Home 0xFF50#define XK_Left 0xFF51 /* Move left, left arrow */#define XK_Up 0xFF52 /* Move up, up arrow */#define XK_Right 0xFF53 /* Move right, right arrow */#define XK_Down 0xFF54 /* Move down, down arrow */#define XK_Prior 0xFF55 /* Prior, previous */#define XK_Page_Up 0xFF55#define XK_Next 0xFF56 /* Next */#define XK_Page_Down 0xFF56#define XK_End 0xFF57 /* EOL */#define XK_Begin 0xFF58 /* BOL */#define XK_Select 0xFF60 /* Select, mark */#define XK_Print 0xFF61#define XK_Execute 0xFF62 /* Execute, run, do */#define XK_Insert 0xFF63 /* Insert, insert here */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -