📄 xlibint.h
字号:
*/#define CI_GET_CHAR_INFO_1D(fs,col,def,cs) \{ \ cs = def; \ if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \ if (fs->per_char == NULL) { \ cs = &fs->min_bounds; \ } else { \ cs = &fs->per_char[(col - fs->min_char_or_byte2)]; \ if (CI_NONEXISTCHAR(cs)) cs = def; \ } \ } \}#define CI_GET_DEFAULT_INFO_1D(fs,cs) \ CI_GET_CHAR_INFO_1D (fs, fs->default_char, NULL, cs)/* * CI_GET_CHAR_INFO_2D - return the charinfo struct for the indicated row and * column. This is used for fonts that have more than row zero. */#define CI_GET_CHAR_INFO_2D(fs,row,col,def,cs) \{ \ cs = def; \ if (row >= fs->min_byte1 && row <= fs->max_byte1 && \ col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \ if (fs->per_char == NULL) { \ cs = &fs->min_bounds; \ } else { \ cs = &fs->per_char[((row - fs->min_byte1) * \ (fs->max_char_or_byte2 - \ fs->min_char_or_byte2 + 1)) + \ (col - fs->min_char_or_byte2)]; \ if (CI_NONEXISTCHAR(cs)) cs = def; \ } \ } \}#define CI_GET_DEFAULT_INFO_2D(fs,cs) \{ \ unsigned int r = (fs->default_char >> 8); \ unsigned int c = (fs->default_char & 0xff); \ CI_GET_CHAR_INFO_2D (fs, r, c, NULL, cs); \}#ifdef MUSTCOPY/* a little bit of magic */#define OneDataCard32(dpy,dstaddr,srcvar) \ { dpy->bufptr -= 4; Data32 (dpy, (char *) &(srcvar), 4); }#define STARTITERATE(tpvar,type,start,endcond,decr) \ { register char *cpvar; \ for (cpvar = (char *) start; endcond; cpvar = NEXTPTR(cpvar,type), decr) { \ type dummy; bcopy (cpvar, (char *) &dummy, SIZEOF(type)); \ tpvar = (type *) cpvar;#define ENDITERATE }}#else/* srcvar must be a variable for large architecture version */#define OneDataCard32(dpy,dstaddr,srcvar) \ { *(unsigned long *)(dstaddr) = (srcvar); }#define STARTITERATE(tpvar,type,start,endcond,decr) \ for (tpvar = (type *) start; endcond; tpvar++, decr) {#define ENDITERATE }#endif /* MUSTCOPY - used machines whose C structs don't line up with proto *//* * This structure is private to the library. */typedef struct _XFreeFuncs { void (*atoms)(); /* _XFreeAtomTable */ int (*modifiermap)(); /* XFreeModifierMap */ void (*key_bindings)(); /* _XFreeKeyBindings */ void (*context_db)(); /* _XFreeContextDB */ void (*defaultCCCs)(); /* _XcmsFreeDefaultCCCs */ void (*clientCmaps)(); /* _XcmsFreeClientCmaps */ void (*intensityMaps)(); /* _XcmsFreeIntensityMaps */ void (*im_filters)(); /* _XFreeIMFilters */} _XFreeFuncRec;/* * This structure is private to the library. */typedef struct _XExten { /* private to extension mechanism */ struct _XExten *next; /* next in list */ XExtCodes codes; /* public information, all extension told */ int (*create_GC)(); /* routine to call when GC created */ int (*copy_GC)(); /* routine to call when GC copied */ int (*flush_GC)(); /* routine to call when GC flushed */ int (*free_GC)(); /* routine to call when GC freed */ int (*create_Font)(); /* routine to call when Font created */ int (*free_Font)(); /* routine to call when Font freed */ int (*close_display)(); /* routine to call when connection closed */ int (*error)(); /* who to call when an error occurs */ char *(*error_string)(); /* routine to supply error string */ char *name; /* name of this extension */ void (*error_values)(); /* routine to supply error values */} _XExtension;/* extension hooks */_XFUNCPROTOBEGIN#ifdef DataRoutineIsProcedureextern void Data();#endifextern int _XError(); /* prepare to upcall user handler */extern int _XIOError(); /* prepare to upcall user handler */extern int (*_XIOErrorFunction)(); /* X system error reporting routine. */extern int (*_XErrorFunction)(); /* X_Error event reporting routine. */extern void _XEatData(); /* swallow data from server */extern char *_XAllocScratch(); /* fast memory allocator */extern Visual *_XVIDtoVisual(); /* given visual id, find structure */extern unsigned long _XSetLastRequestRead(); /* update dpy->last_request_read */extern int _XGetHostname(); /* get name of this machine */extern Screen *_XScreenOfWindow (); /* get Screen pointer for window */extern int (*XESetCreateGC(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, int (*) (#if NeedNestedPrototypes Display* /* display */, GC /* gc */, XExtCodes* /* codes */#endif ) /* proc */#endif))(#if NeedNestedPrototypes Display*, GC, XExtCodes*#endif);extern int (*XESetCopyGC(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, int (*) (#if NeedNestedPrototypes Display* /* display */, GC /* gc */, XExtCodes* /* codes */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, GC, XExtCodes*#endif);extern int (*XESetFlushGC(#if NeedFunctionPrototypes Display* /* display */, int /* extenstion */, int (*) (#if NeedNestedPrototypes Display* /* display */, GC /* gc */, XExtCodes* /* codes */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, GC, XExtCodes*#endif);extern int (*XESetFreeGC(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, int (*) (#if NeedNestedPrototypes Display* /* display */, GC /* gc */, XExtCodes* /* codes */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, GC, XExtCodes*#endif);extern int (*XESetCreateFont(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, int (*) (#if NeedNestedPrototypes Display* /* display */, XFontStruct* /* fs */, XExtCodes* /* codes */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, XFontStruct*, XExtCodes*#endif);extern int (*XESetFreeFont(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, int (*) (#if NeedNestedPrototypes Display* /* display */, XFontStruct* /* fs */, XExtCodes* /* codes */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, XFontStruct*, XExtCodes*#endif); extern int (*XESetCloseDisplay(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, int (*) (#if NeedNestedPrototypes Display* /* display */, XExtCodes* /* codes */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, XExtCodes*#endif);extern int (*XESetError(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, int (*) (#if NeedNestedPrototypes Display* /* display */, xError* /* err */, XExtCodes* /* codes */, int* /* ret_code */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, xError*, XExtCodes*, int*#endif);extern char* (*XESetErrorString(#if NeedFunctionPrototypes Display* /* display */, int /* extension */, char* (*) (#if NeedNestedPrototypes Display* /* display */, int /* code */, XExtCodes* /* codes */, char* /* buffer */, int /* nbytes */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, int, XExtCodes*, char*, int#endif);extern void (*XESetPrintErrorValues (#if NeedFunctionPrototypes Display* /* display */, int /* extension */, void (*)(#if NeedNestedPrototypes Display* /* display */, XErrorEvent* /* ev */, void* /* fp */#endif ) /* proc */#endif))(#if NeedNestedPrototypes Display*, XErrorEvent*, void*#endif);extern int (*XESetWireToEvent(#if NeedFunctionPrototypes Display* /* display */, int /* event_number */, Bool (*) (#if NeedNestedPrototypes Display* /* display */, XEvent* /* re */, xEvent* /* event */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, XEvent*, xEvent*#endif);extern Status (*XESetEventToWire(#if NeedFunctionPrototypes Display* /* display */, int /* event_number */, int (*) (#if NeedNestedPrototypes Display* /* display */, XEvent* /* re */, xEvent* /* event */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, XEvent*, xEvent*#endif);extern Status (*XESetWireToError(#if NeedFunctionPrototypes Display* /* display */, int /* error_number */, Bool (*) (#if NeedNestedPrototypes Display* /* display */, XErrorEvent* /* he */, xError* /* we */#endif ) /* proc */ #endif))(#if NeedNestedPrototypes Display*, XErrorEvent*, xError*#endif);_XFUNCPROTOEND
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -