⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xlibint.h

📁 早期freebsd实现
💻 H
📖 第 1 页 / 共 2 页
字号:
 */#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 + -