| 1 | /* |
| 2 | Simple DirectMedia Layer |
| 3 | Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org> |
| 4 | |
| 5 | This software is provided 'as-is', without any express or implied |
| 6 | warranty. In no event will the authors be held liable for any damages |
| 7 | arising from the use of this software. |
| 8 | |
| 9 | Permission is granted to anyone to use this software for any purpose, |
| 10 | including commercial applications, and to alter it and redistribute it |
| 11 | freely, subject to the following restrictions: |
| 12 | |
| 13 | 1. The origin of this software must not be misrepresented; you must not |
| 14 | claim that you wrote the original software. If you use this software |
| 15 | in a product, an acknowledgment in the product documentation would be |
| 16 | appreciated but is not required. |
| 17 | 2. Altered source versions must be plainly marked as such, and must not be |
| 18 | misrepresented as being the original software. |
| 19 | 3. This notice may not be removed or altered from any source distribution. |
| 20 | */ |
| 21 | |
| 22 | /* *INDENT-OFF* */ // clang-format off |
| 23 | |
| 24 | #ifndef SDL_X11_MODULE |
| 25 | #define SDL_X11_MODULE(modname) |
| 26 | #endif |
| 27 | |
| 28 | #ifndef SDL_X11_SYM |
| 29 | #define SDL_X11_SYM(rc,fn,params,args,ret) |
| 30 | #endif |
| 31 | |
| 32 | SDL_X11_MODULE(BASEXLIB) |
| 33 | SDL_X11_SYM(XSizeHints*,XAllocSizeHints,(void),(),return) |
| 34 | SDL_X11_SYM(XWMHints*,XAllocWMHints,(void),(),return) |
| 35 | SDL_X11_SYM(XClassHint*,XAllocClassHint,(void),(),return) |
| 36 | SDL_X11_SYM(int,XChangePointerControl,(Display* a,Bool b,Bool c,int d,int e,int f),(a,b,c,d,e,f),return) |
| 37 | SDL_X11_SYM(int,XChangeProperty,(Display* a,Window b,Atom c,Atom d,int e,int f,_Xconst unsigned char* g,int h),(a,b,c,d,e,f,g,h),return) |
| 38 | SDL_X11_SYM(Bool,XCheckIfEvent,(Display* a,XEvent *b,Bool (*c)(Display*,XEvent*,XPointer),XPointer d),(a,b,c,d),return) |
| 39 | SDL_X11_SYM(int,XClearWindow,(Display* a,Window b),(a,b),return) |
| 40 | SDL_X11_SYM(int,XCloseDisplay,(Display* a),(a),return) |
| 41 | SDL_X11_SYM(int,XConvertSelection,(Display* a,Atom b,Atom c,Atom d,Window e,Time f),(a,b,c,d,e,f),return) |
| 42 | SDL_X11_SYM(Pixmap,XCreateBitmapFromData,(Display *dpy,Drawable d,_Xconst char *data,unsigned int width,unsigned int height),(dpy,d,data,width,height),return) |
| 43 | SDL_X11_SYM(Colormap,XCreateColormap,(Display* a,Window b,Visual* c,int d),(a,b,c,d),return) |
| 44 | SDL_X11_SYM(Cursor,XCreatePixmapCursor,(Display* a,Pixmap b,Pixmap c,XColor* d,XColor* e,unsigned int f,unsigned int g),(a,b,c,d,e,f,g),return) |
| 45 | SDL_X11_SYM(Cursor,XCreateFontCursor,(Display* a,unsigned int b),(a,b),return) |
| 46 | SDL_X11_SYM(XFontSet,XCreateFontSet,(Display* a, _Xconst char* b, char*** c, int* d, char** e),(a,b,c,d,e),return) |
| 47 | SDL_X11_SYM(GC,XCreateGC,(Display* a,Drawable b,unsigned long c,XGCValues* d),(a,b,c,d),return) |
| 48 | SDL_X11_SYM(XImage*,XCreateImage,(Display* a,Visual* b,unsigned int c,int d,int e,char* f,unsigned int g,unsigned int h,int i,int j),(a,b,c,d,e,f,g,h,i,j),return) |
| 49 | SDL_X11_SYM(Window,XCreateWindow,(Display* a,Window b,int c,int d,unsigned int e,unsigned int f,unsigned int g,int h,unsigned int i,Visual* j,unsigned long k,XSetWindowAttributes* l),(a,b,c,d,e,f,g,h,i,j,k,l),return) |
| 50 | SDL_X11_SYM(int,XDefineCursor,(Display* a,Window b,Cursor c),(a,b,c),return) |
| 51 | SDL_X11_SYM(int,XDeleteProperty,(Display* a,Window b,Atom c),(a,b,c),return) |
| 52 | SDL_X11_SYM(int,XDestroyWindow,(Display* a,Window b),(a,b),return) |
| 53 | SDL_X11_SYM(int,XDisplayKeycodes,(Display* a,int* b,int* c),(a,b,c),return) |
| 54 | SDL_X11_SYM(int,XDrawRectangle,(Display* a,Drawable b,GC c,int d,int e,unsigned int f,unsigned int g),(a,b,c,d,e,f,g),return) |
| 55 | SDL_X11_SYM(char*,XDisplayName,(_Xconst char* a),(a),return) |
| 56 | SDL_X11_SYM(int,XDrawString,(Display* a,Drawable b,GC c,int d,int e,_Xconst char* f,int g),(a,b,c,d,e,f,g),return) |
| 57 | SDL_X11_SYM(int,XEventsQueued,(Display* a,int b),(a,b),return) |
| 58 | SDL_X11_SYM(int,XFillRectangle,(Display* a,Drawable b,GC c,int d,int e,unsigned int f,unsigned int g),(a,b,c,d,e,f,g),return) |
| 59 | SDL_X11_SYM(Bool,XFilterEvent,(XEvent *event,Window w),(event,w),return) |
| 60 | SDL_X11_SYM(int,XFlush,(Display* a),(a),return) |
| 61 | SDL_X11_SYM(int,XFree,(void*a),(a),return) |
| 62 | SDL_X11_SYM(int,XFreeCursor,(Display* a,Cursor b),(a,b),return) |
| 63 | SDL_X11_SYM(void,XFreeFontSet,(Display* a, XFontSet b),(a,b),) |
| 64 | SDL_X11_SYM(int,XFreeGC,(Display* a,GC b),(a,b),return) |
| 65 | SDL_X11_SYM(int,XFreeFont,(Display* a, XFontStruct* b),(a,b),return) |
| 66 | SDL_X11_SYM(int,XFreeModifiermap,(XModifierKeymap* a),(a),return) |
| 67 | SDL_X11_SYM(int,XFreePixmap,(Display* a,Pixmap b),(a,b),return) |
| 68 | SDL_X11_SYM(void,XFreeStringList,(char** a),(a),) |
| 69 | SDL_X11_SYM(char*,XGetAtomName,(Display *a,Atom b),(a,b),return) |
| 70 | SDL_X11_SYM(int,XGetInputFocus,(Display *a,Window *b,int *c),(a,b,c),return) |
| 71 | SDL_X11_SYM(int,XGetErrorDatabaseText,(Display* a,_Xconst char* b,_Xconst char* c,_Xconst char* d,char* e,int f),(a,b,c,d,e,f),return) |
| 72 | SDL_X11_SYM(XModifierKeymap*,XGetModifierMapping,(Display* a),(a),return) |
| 73 | SDL_X11_SYM(int,XGetPointerControl,(Display* a,int* b,int* c,int* d),(a,b,c,d),return) |
| 74 | SDL_X11_SYM(Window,XGetSelectionOwner,(Display* a,Atom b),(a,b),return) |
| 75 | SDL_X11_SYM(XVisualInfo*,XGetVisualInfo,(Display* a,long b,XVisualInfo* c,int* d),(a,b,c,d),return) |
| 76 | SDL_X11_SYM(Status,XGetWindowAttributes,(Display* a,Window b,XWindowAttributes* c),(a,b,c),return) |
| 77 | SDL_X11_SYM(int,XGetWindowProperty,(Display* a,Window b,Atom c,long d,long e,Bool f,Atom g,Atom* h,int* i,unsigned long* j,unsigned long *k,unsigned char **l),(a,b,c,d,e,f,g,h,i,j,k,l),return) |
| 78 | SDL_X11_SYM(XWMHints*,XGetWMHints,(Display* a,Window b),(a,b),return) |
| 79 | SDL_X11_SYM(Status,XGetWMNormalHints,(Display *a,Window b, XSizeHints *c, long *d),(a,b,c,d),return) |
| 80 | SDL_X11_SYM(int,XIfEvent,(Display* a,XEvent *b,Bool (*c)(Display*,XEvent*,XPointer),XPointer d),(a,b,c,d),return) |
| 81 | SDL_X11_SYM(int,XGrabKeyboard,(Display* a,Window b,Bool c,int d,int e,Time f),(a,b,c,d,e,f),return) |
| 82 | SDL_X11_SYM(int,XGrabPointer,(Display* a,Window b,Bool c,unsigned int d,int e,int f,Window g,Cursor h,Time i),(a,b,c,d,e,f,g,h,i),return) |
| 83 | SDL_X11_SYM(int,XGrabServer,(Display* a),(a),return) |
| 84 | SDL_X11_SYM(Status,XIconifyWindow,(Display* a,Window b,int c),(a,b,c),return) |
| 85 | SDL_X11_SYM(KeyCode,XKeysymToKeycode,(Display* a,KeySym b),(a,b),return) |
| 86 | SDL_X11_SYM(char*,XKeysymToString,(KeySym a),(a),return) |
| 87 | SDL_X11_SYM(int,XInstallColormap,(Display* a,Colormap b),(a,b),return) |
| 88 | SDL_X11_SYM(Atom,XInternAtom,(Display* a,_Xconst char* b,Bool c),(a,b,c),return) |
| 89 | SDL_X11_SYM(XPixmapFormatValues*,XListPixmapFormats,(Display* a,int* b),(a,b),return) |
| 90 | SDL_X11_SYM(XFontStruct*,XLoadQueryFont,(Display* a,_Xconst char* b),(a,b),return) |
| 91 | SDL_X11_SYM(KeySym,XLookupKeysym,(XKeyEvent* a,int b),(a,b),return) |
| 92 | SDL_X11_SYM(int,XLookupString,(XKeyEvent* a,char* b,int c,KeySym* d,XComposeStatus* e),(a,b,c,d,e),return) |
| 93 | SDL_X11_SYM(int,XMapRaised,(Display* a,Window b),(a,b),return) |
| 94 | SDL_X11_SYM(Status,XMatchVisualInfo,(Display* a,int b,int c,int d,XVisualInfo* e),(a,b,c,d,e),return) |
| 95 | SDL_X11_SYM(int,XMissingExtension,(Display* a,_Xconst char* b),(a,b),return) |
| 96 | SDL_X11_SYM(int,XMoveWindow,(Display* a,Window b,int c,int d),(a,b,c,d),return) |
| 97 | SDL_X11_SYM(Display*,XOpenDisplay,(_Xconst char* a),(a),return) |
| 98 | SDL_X11_SYM(Status,XInitThreads,(void),(),return) |
| 99 | SDL_X11_SYM(int,XPeekEvent,(Display* a,XEvent* b),(a,b),return) |
| 100 | SDL_X11_SYM(int,XPending,(Display* a),(a),return) |
| 101 | SDL_X11_SYM(int,XPutImage,(Display* a,Drawable b,GC c,XImage* d,int e,int f,int g,int h,unsigned int i,unsigned int j),(a,b,c,d,e,f,g,h,i,j),return) |
| 102 | SDL_X11_SYM(int,XQueryKeymap,(Display* a,char b[32]),(a,b),return) |
| 103 | SDL_X11_SYM(Bool,XQueryPointer,(Display* a,Window b,Window* c,Window* d,int* e,int* f,int* g,int* h,unsigned int* i),(a,b,c,d,e,f,g,h,i),return) |
| 104 | SDL_X11_SYM(int,XRaiseWindow,(Display* a,Window b),(a,b),return) |
| 105 | SDL_X11_SYM(int,XReparentWindow,(Display* a,Window b,Window c,int d,int e),(a,b,c,d,e),return) |
| 106 | SDL_X11_SYM(int,XResetScreenSaver,(Display* a),(a),return) |
| 107 | SDL_X11_SYM(int,XResizeWindow,(Display* a,Window b,unsigned int c,unsigned int d),(a,b,c,d),return) |
| 108 | SDL_X11_SYM(int,XScreenNumberOfScreen,(Screen* a),(a),return) |
| 109 | SDL_X11_SYM(int,XSelectInput,(Display* a,Window b,long c),(a,b,c),return) |
| 110 | SDL_X11_SYM(Status,XSendEvent,(Display* a,Window b,Bool c,long d,XEvent* e),(a,b,c,d,e),return) |
| 111 | SDL_X11_SYM(XErrorHandler,XSetErrorHandler,(XErrorHandler a),(a),return) |
| 112 | SDL_X11_SYM(int,XSetForeground,(Display* a,GC b,unsigned long c),(a,b,c),return) |
| 113 | SDL_X11_SYM(XIOErrorHandler,XSetIOErrorHandler,(XIOErrorHandler a),(a),return) |
| 114 | SDL_X11_SYM(int,XSetInputFocus,(Display *a,Window b,int c,Time d),(a,b,c,d),return) |
| 115 | SDL_X11_SYM(int,XSetSelectionOwner,(Display* a,Atom b,Window c,Time d),(a,b,c,d),return) |
| 116 | SDL_X11_SYM(int,XSetTransientForHint,(Display* a,Window b,Window c),(a,b,c),return) |
| 117 | SDL_X11_SYM(void,XSetTextProperty,(Display* a,Window b,XTextProperty* c,Atom d),(a,b,c,d),) |
| 118 | SDL_X11_SYM(int,XSetWindowBackground,(Display* a,Window b,unsigned long c),(a,b,c),return) |
| 119 | SDL_X11_SYM(void,XSetWMHints,(Display* a,Window b,XWMHints* c),(a,b,c),) |
| 120 | SDL_X11_SYM(void,XSetWMNormalHints,(Display* a,Window b,XSizeHints* c),(a,b,c),) |
| 121 | SDL_X11_SYM(void,XSetWMProperties,(Display* a,Window b,XTextProperty* c,XTextProperty* d,char** e,int f,XSizeHints* g,XWMHints* h,XClassHint* i),(a,b,c,d,e,f,g,h,i),) |
| 122 | SDL_X11_SYM(Status,XSetWMProtocols,(Display* a,Window b,Atom* c,int d),(a,b,c,d),return) |
| 123 | SDL_X11_SYM(int,XStoreColors,(Display* a,Colormap b,XColor* c,int d),(a,b,c,d),return) |
| 124 | SDL_X11_SYM(int,XStoreName,(Display* a,Window b,_Xconst char* c),(a,b,c),return) |
| 125 | SDL_X11_SYM(Status,XStringListToTextProperty,(char** a,int b,XTextProperty* c),(a,b,c),return) |
| 126 | SDL_X11_SYM(int,XSync,(Display* a,Bool b),(a,b),return) |
| 127 | SDL_X11_SYM(int,XTextExtents,(XFontStruct* a,_Xconst char* b,int c,int* d,int* e,int* f,XCharStruct* g),(a,b,c,d,e,f,g),return) |
| 128 | SDL_X11_SYM(Bool,XTranslateCoordinates,(Display *a,Window b,Window c,int d,int e,int* f,int* g,Window* h),(a,b,c,d,e,f,g,h),return) |
| 129 | SDL_X11_SYM(int,XUndefineCursor,(Display* a,Window b),(a,b),return) |
| 130 | SDL_X11_SYM(int,XUngrabKeyboard,(Display* a,Time b),(a,b),return) |
| 131 | SDL_X11_SYM(int,XUngrabPointer,(Display* a,Time b),(a,b),return) |
| 132 | SDL_X11_SYM(int,XUngrabServer,(Display* a),(a),return) |
| 133 | SDL_X11_SYM(int,XUninstallColormap,(Display* a,Colormap b),(a,b),return) |
| 134 | SDL_X11_SYM(int,XUnloadFont,(Display* a,Font b),(a,b),return) |
| 135 | SDL_X11_SYM(int,XWarpPointer,(Display* a,Window b,Window c,int d,int e,unsigned int f,unsigned int g,int h,int i),(a,b,c,d,e,f,g,h,i),return) |
| 136 | SDL_X11_SYM(int,XWindowEvent,(Display* a,Window b,long c,XEvent* d),(a,b,c,d),return) |
| 137 | SDL_X11_SYM(Status,XWithdrawWindow,(Display* a,Window b,int c),(a,b,c),return) |
| 138 | SDL_X11_SYM(VisualID,XVisualIDFromVisual,(Visual* a),(a),return) |
| 139 | SDL_X11_SYM(char*,XGetDefault,(Display* a,_Xconst char* b, _Xconst char* c),(a,b,c),return) |
| 140 | SDL_X11_SYM(Bool,XQueryExtension,(Display* a,_Xconst char* b,int* c,int* d,int* e),(a,b,c,d,e),return) |
| 141 | SDL_X11_SYM(char *,XDisplayString,(Display* a),(a),return) |
| 142 | SDL_X11_SYM(int,XGetErrorText,(Display* a,int b,char* c,int d),(a,b,c,d),return) |
| 143 | SDL_X11_SYM(void,_XEatData,(Display* a,unsigned long b),(a,b),) |
| 144 | SDL_X11_SYM(void,_XFlush,(Display* a),(a),) |
| 145 | SDL_X11_SYM(void,_XFlushGCCache,(Display* a,GC b),(a,b),) |
| 146 | SDL_X11_SYM(int,_XRead,(Display* a,char* b,long c),(a,b,c),return) |
| 147 | SDL_X11_SYM(void,_XReadPad,(Display* a,char* b,long c),(a,b,c),) |
| 148 | SDL_X11_SYM(void,_XSend,(Display* a,_Xconst char* b,long c),(a,b,c),) |
| 149 | SDL_X11_SYM(Status,_XReply,(Display* a,xReply* b,int c,Bool d),(a,b,c,d),return) |
| 150 | SDL_X11_SYM(unsigned long,_XSetLastRequestRead,(Display* a,xGenericReply* b),(a,b),return) |
| 151 | SDL_X11_SYM(SDL_X11_XSynchronizeRetType,XSynchronize,(Display* a,Bool b),(a,b),return) |
| 152 | SDL_X11_SYM(SDL_X11_XESetWireToEventRetType,XESetWireToEvent,(Display* a,int b,SDL_X11_XESetWireToEventRetType c),(a,b,c),return) |
| 153 | SDL_X11_SYM(SDL_X11_XESetEventToWireRetType,XESetEventToWire,(Display* a,int b,SDL_X11_XESetEventToWireRetType c),(a,b,c),return) |
| 154 | SDL_X11_SYM(void,XRefreshKeyboardMapping,(XMappingEvent *a),(a),) |
| 155 | SDL_X11_SYM(int,XQueryTree,(Display* a,Window b,Window* c,Window* d,Window** e,unsigned int* f),(a,b,c,d,e,f),return) |
| 156 | SDL_X11_SYM(Bool,XSupportsLocale,(void),(),return) |
| 157 | SDL_X11_SYM(Status,XmbTextListToTextProperty,(Display* a,char** b,int c,XICCEncodingStyle d,XTextProperty* e),(a,b,c,d,e),return) |
| 158 | SDL_X11_SYM(Region,XCreateRegion,(void),(),return) |
| 159 | SDL_X11_SYM(int,XUnionRectWithRegion,(XRectangle *a, Region b, Region c),(a,b,c), return) |
| 160 | SDL_X11_SYM(void,XDestroyRegion,(Region),(a),) |
| 161 | SDL_X11_SYM(void,XrmInitialize,(void),(),) |
| 162 | SDL_X11_SYM(char*,XResourceManagerString,(Display *display),(display),) |
| 163 | SDL_X11_SYM(XrmDatabase,XrmGetStringDatabase,(char *data),(data),) |
| 164 | SDL_X11_SYM(void,XrmDestroyDatabase,(XrmDatabase db),(db),) |
| 165 | SDL_X11_SYM(Bool,XrmGetResource,(XrmDatabase db, char* str_name, char* str_class, char **str_type_return, XrmValue *),(db, str_name, str_class,str_type_return,value_return),) |
| 166 | |
| 167 | #ifdef SDL_VIDEO_DRIVER_X11_XFIXES |
| 168 | SDL_X11_MODULE(XFIXES) |
| 169 | SDL_X11_SYM(PointerBarrier, XFixesCreatePointerBarrier, (Display* a, Window b, int c, int d, int e, int f, int g, int h, int *i),(a,b,c,d,e,f,g,h,i),return) |
| 170 | SDL_X11_SYM(void, XFixesDestroyPointerBarrier, (Display* a, PointerBarrier b), (a,b),) |
| 171 | SDL_X11_SYM(int, XIBarrierReleasePointer,(Display* a, int b, PointerBarrier c, BarrierEventID d), (a,b,c,d), return) // this is actually Xinput2 |
| 172 | SDL_X11_SYM(Status, XFixesQueryVersion,(Display* a, int* b, int* c), (a,b,c), return) |
| 173 | SDL_X11_SYM(Status, XFixesSelectSelectionInput, (Display* a, Window b, Atom c, unsigned long d), (a,b,c,d), return) |
| 174 | #endif |
| 175 | |
| 176 | #ifdef SDL_VIDEO_DRIVER_X11_XSYNC |
| 177 | SDL_X11_MODULE(XSYNC) |
| 178 | SDL_X11_SYM(Status, XSyncQueryExtension, (Display* a, int* b, int* c), (a, b, c), return) |
| 179 | SDL_X11_SYM(Status, XSyncInitialize, (Display* a, int* b, int* c), (a, b, c), return) |
| 180 | SDL_X11_SYM(XSyncCounter, XSyncCreateCounter, (Display* a, XSyncValue b), (a, b), return) |
| 181 | SDL_X11_SYM(Status, XSyncDestroyCounter, (Display* a, XSyncCounter b), (a, b), return) |
| 182 | SDL_X11_SYM(Status, XSyncSetCounter, (Display* a, XSyncCounter b, XSyncValue c), (a, b, c), return) |
| 183 | #endif |
| 184 | |
| 185 | #ifdef SDL_VIDEO_DRIVER_X11_XTEST |
| 186 | SDL_X11_MODULE(XTEST) |
| 187 | SDL_X11_SYM(Status, XTestQueryExtension, (Display* a, int* b, int* c), (a, b, c), return) |
| 188 | SDL_X11_SYM(int, XTestFakeMotionEvent, (Display* a, int b, int c, int d, unsigned long e), (a, b, c, d, e), return) |
| 189 | #endif |
| 190 | |
| 191 | #ifdef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS |
| 192 | SDL_X11_SYM(Bool,XGetEventData,(Display* a,XGenericEventCookie* b),(a,b),return) |
| 193 | SDL_X11_SYM(void,XFreeEventData,(Display* a,XGenericEventCookie* b),(a,b),) |
| 194 | #endif |
| 195 | |
| 196 | #ifdef SDL_VIDEO_DRIVER_X11_HAS_XKBLOOKUPKEYSYM |
| 197 | SDL_X11_SYM(Bool,XkbQueryExtension,(Display* a,int * b,int * c,int * d,int * e, int *f),(a,b,c,d,e,f),return) |
| 198 | #if NeedWidePrototypes |
| 199 | SDL_X11_SYM(Bool,XkbLookupKeySym,(Display* a, unsigned int b, unsigned int c, unsigned int* d, KeySym* e),(a,b,c,d,e),return) |
| 200 | #else |
| 201 | SDL_X11_SYM(Bool,XkbLookupKeySym,(Display* a, KeyCode b, unsigned int c, unsigned int* d, KeySym* e),(a,b,c,d,e),return) |
| 202 | #endif |
| 203 | SDL_X11_SYM(Status,XkbGetState,(Display* a,unsigned int b,XkbStatePtr c),(a,b,c),return) |
| 204 | SDL_X11_SYM(Status,XkbGetUpdatedMap,(Display* a,unsigned int b,XkbDescPtr c),(a,b,c),return) |
| 205 | SDL_X11_SYM(XkbDescPtr,XkbGetMap,(Display* a,unsigned int b,unsigned int c),(a,b,c),return) |
| 206 | SDL_X11_SYM(void,XkbFreeClientMap,(XkbDescPtr a,unsigned int b, Bool c),(a,b,c),) |
| 207 | SDL_X11_SYM(void,XkbFreeKeyboard,(XkbDescPtr a,unsigned int b, Bool c),(a,b,c),) |
| 208 | SDL_X11_SYM(Bool,XkbSetDetectableAutoRepeat,(Display* a, Bool b, Bool* c),(a,b,c),return) |
| 209 | #endif |
| 210 | |
| 211 | // XKeycodeToKeysym is a deprecated function |
| 212 | #ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA |
| 213 | #pragma GCC diagnostic push |
| 214 | #pragma GCC diagnostic ignored "-Wdeprecated-declarations" |
| 215 | #endif |
| 216 | #if NeedWidePrototypes |
| 217 | SDL_X11_SYM(KeySym,XKeycodeToKeysym,(Display* a,unsigned int b,int c),(a,b,c),return) |
| 218 | #else |
| 219 | SDL_X11_SYM(KeySym,XKeycodeToKeysym,(Display* a,KeyCode b,int c),(a,b,c),return) |
| 220 | #endif |
| 221 | #ifdef HAVE_GCC_DIAGNOSTIC_PRAGMA |
| 222 | #pragma GCC diagnostic pop |
| 223 | #endif |
| 224 | |
| 225 | #ifdef X_HAVE_UTF8_STRING |
| 226 | SDL_X11_MODULE(UTF8) |
| 227 | SDL_X11_SYM(int,Xutf8TextListToTextProperty,(Display* a,char** b,int c,XICCEncodingStyle d,XTextProperty* e),(a,b,c,d,e),return) |
| 228 | SDL_X11_SYM(int,Xutf8LookupString,(XIC a,XKeyPressedEvent* b,char* c,int d,KeySym* e,Status* f),(a,b,c,d,e,f),return) |
| 229 | // SDL_X11_SYM(XIC,XCreateIC,(XIM, ...),return) !!! ARGH! |
| 230 | SDL_X11_SYM(void,XDestroyIC,(XIC a),(a),) |
| 231 | /* SDL_X11_SYM(char*,XGetICValues,(XIC, ...),return) !!! ARGH! */ |
| 232 | /* SDL_X11_SYM(char*,XSetICValues,(XIC, ...),return) !!! ARGH! */ |
| 233 | /* SDL_X11_SYM(XVaNestedList,XVaCreateNestedList,(int, ...),return) !!! ARGH! */ |
| 234 | SDL_X11_SYM(void,XSetICFocus,(XIC a),(a),) |
| 235 | SDL_X11_SYM(void,XUnsetICFocus,(XIC a),(a),) |
| 236 | SDL_X11_SYM(XIM,XOpenIM,(Display* a,struct _XrmHashBucketRec* b,char* c,char* d),(a,b,c,d),return) |
| 237 | SDL_X11_SYM(Status,XCloseIM,(XIM a),(a),return) |
| 238 | SDL_X11_SYM(void,Xutf8DrawString,(Display *a, Drawable b, XFontSet c, GC d, int e, int f, _Xconst char *g, int h),(a,b,c,d,e,f,g,h),) |
| 239 | SDL_X11_SYM(int,Xutf8TextExtents,(XFontSet a, _Xconst char* b, int c, XRectangle* d, XRectangle* e),(a,b,c,d,e),return) |
| 240 | SDL_X11_SYM(char*,XSetLocaleModifiers,(const char *a),(a),return) |
| 241 | SDL_X11_SYM(char*,Xutf8ResetIC,(XIC a),(a),return) |
| 242 | #endif |
| 243 | |
| 244 | #ifndef NO_SHARED_MEMORY |
| 245 | SDL_X11_MODULE(SHM) |
| 246 | SDL_X11_SYM(Status,XShmAttach,(Display* a,XShmSegmentInfo* b),(a,b),return) |
| 247 | SDL_X11_SYM(Status,XShmDetach,(Display* a,XShmSegmentInfo* b),(a,b),return) |
| 248 | SDL_X11_SYM(Status,XShmPutImage,(Display* a,Drawable b,GC c,XImage* d,int e,int f,int g,int h,unsigned int i,unsigned int j,Bool k),(a,b,c,d,e,f,g,h,i,j,k),return) |
| 249 | SDL_X11_SYM(XImage*,XShmCreateImage,(Display* a,Visual* b,unsigned int c,int d,char* e,XShmSegmentInfo* f,unsigned int g,unsigned int h),(a,b,c,d,e,f,g,h),return) |
| 250 | SDL_X11_SYM(Pixmap,XShmCreatePixmap,(Display *a,Drawable b,char* c,XShmSegmentInfo* d, unsigned int e, unsigned int f, unsigned int g),(a,b,c,d,e,f,g),return) |
| 251 | SDL_X11_SYM(Bool,XShmQueryExtension,(Display* a),(a),return) |
| 252 | #endif |
| 253 | |
| 254 | /* |
| 255 | * Not required...these only exist in code in headers on some 64-bit platforms, |
| 256 | * and are removed via macros elsewhere, so it's safe for them to be missing. |
| 257 | */ |
| 258 | #ifdef LONG64 |
| 259 | SDL_X11_MODULE(IO_32BIT) |
| 260 | SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return) |
| 261 | SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),) |
| 262 | #endif |
| 263 | |
| 264 | /* |
| 265 | * These only show up on some variants of Unix. |
| 266 | */ |
| 267 | #ifdef SDL_PLATFORM_OSF |
| 268 | SDL_X11_MODULE(OSF_ENTRY_POINTS) |
| 269 | SDL_X11_SYM(void,_SmtBufferOverflow,(Display *dpy,register smtDisplayPtr p),(dpy,p),) |
| 270 | SDL_X11_SYM(void,_SmtIpError,(Display *dpy,register smtDisplayPtr p,int i),(dpy,p,i),) |
| 271 | SDL_X11_SYM(int,ipAllocateData,(ChannelPtr a,IPCard b,IPDataPtr * c),(a,b,c),return) |
| 272 | SDL_X11_SYM(int,ipUnallocateAndSendData,(ChannelPtr a,IPCard b),(a,b),return) |
| 273 | #endif |
| 274 | |
| 275 | // XCursor support |
| 276 | #ifdef SDL_VIDEO_DRIVER_X11_XCURSOR |
| 277 | SDL_X11_MODULE(XCURSOR) |
| 278 | SDL_X11_SYM(XcursorImage*,XcursorImageCreate,(int a,int b),(a,b),return) |
| 279 | SDL_X11_SYM(void,XcursorImageDestroy,(XcursorImage *a),(a),) |
| 280 | SDL_X11_SYM(Cursor,XcursorImageLoadCursor,(Display *a,const XcursorImage *b),(a,b),return) |
| 281 | SDL_X11_SYM(Cursor,XcursorLibraryLoadCursor,(Display *a, const char *b),(a,b),return) |
| 282 | #endif |
| 283 | |
| 284 | // Xdbe support |
| 285 | #ifdef SDL_VIDEO_DRIVER_X11_XDBE |
| 286 | SDL_X11_MODULE(XDBE) |
| 287 | SDL_X11_SYM(Status,XdbeQueryExtension,(Display *dpy,int *major_version_return,int *minor_version_return),(dpy,major_version_return,minor_version_return),return) |
| 288 | SDL_X11_SYM(XdbeBackBuffer,XdbeAllocateBackBufferName,(Display *dpy,Window window,XdbeSwapAction swap_action),(dpy,window,swap_action),return) |
| 289 | SDL_X11_SYM(Status,XdbeDeallocateBackBufferName,(Display *dpy,XdbeBackBuffer buffer),(dpy,buffer),return) |
| 290 | SDL_X11_SYM(Status,XdbeSwapBuffers,(Display *dpy,XdbeSwapInfo *swap_info,int num_windows),(dpy,swap_info,num_windows),return) |
| 291 | SDL_X11_SYM(Status,XdbeBeginIdiom,(Display *dpy),(dpy),return) |
| 292 | SDL_X11_SYM(Status,XdbeEndIdiom,(Display *dpy),(dpy),return) |
| 293 | SDL_X11_SYM(XdbeScreenVisualInfo*,XdbeGetVisualInfo,(Display *dpy,Drawable *screen_specifiers,int *num_screens),(dpy,screen_specifiers,num_screens),return) |
| 294 | SDL_X11_SYM(void,XdbeFreeVisualInfo,(XdbeScreenVisualInfo *visual_info),(visual_info),) |
| 295 | SDL_X11_SYM(XdbeBackBufferAttributes*,XdbeGetBackBufferAttributes,(Display *dpy,XdbeBackBuffer buffer),(dpy,buffer),return) |
| 296 | #endif |
| 297 | |
| 298 | // XInput2 support for multiple mice, tablets, etc. |
| 299 | #ifdef SDL_VIDEO_DRIVER_X11_XINPUT2 |
| 300 | SDL_X11_MODULE(XINPUT2) |
| 301 | SDL_X11_SYM(XIDeviceInfo*,XIQueryDevice,(Display *a,int b,int *c),(a,b,c),return) |
| 302 | SDL_X11_SYM(void,XIFreeDeviceInfo,(XIDeviceInfo *a),(a),) |
| 303 | SDL_X11_SYM(int,XISelectEvents,(Display *a,Window b,XIEventMask *c,int d),(a,b,c,d),return) |
| 304 | SDL_X11_SYM(int,XIGrabTouchBegin,(Display *a,int b,Window c,int d,XIEventMask *e,int f,XIGrabModifiers *g),(a,b,c,d,e,f,g),return) |
| 305 | SDL_X11_SYM(int,XIUngrabTouchBegin, (Display *a,int b,Window c, int d,XIGrabModifiers *e),(a, b, c, d, e),return) |
| 306 | SDL_X11_SYM(Status,XIQueryVersion,(Display *a,int *b,int *c),(a,b,c),return) |
| 307 | SDL_X11_SYM(XIEventMask*,XIGetSelectedEvents,(Display *a,Window b,int *c),(a,b,c),return) |
| 308 | SDL_X11_SYM(Bool,XIGetClientPointer,(Display *a,Window b,int *c),(a,b,c),return) |
| 309 | SDL_X11_SYM(Bool,XIWarpPointer,(Display *a,int b,Window c,Window d,double e,double f,int g,int h,double i,double j),(a,b,c,d,e,f,g,h,i,j),return) |
| 310 | SDL_X11_SYM(Status,XIGetProperty,(Display *a,int b,Atom c,long d,long e,Bool f, Atom g, Atom *h, int *i, unsigned long *j, unsigned long *k, unsigned char **l),(a,b,c,d,e,f,g,h,i,j,k,l),return) |
| 311 | #endif |
| 312 | |
| 313 | // XRandR support |
| 314 | #ifdef SDL_VIDEO_DRIVER_X11_XRANDR |
| 315 | SDL_X11_MODULE(XRANDR) |
| 316 | SDL_X11_SYM(Status,XRRQueryVersion,(Display *dpy,int *major_versionp,int *minor_versionp),(dpy,major_versionp,minor_versionp),return) |
| 317 | SDL_X11_SYM(Bool,XRRQueryExtension,(Display *dpy,int *event_base_return,int *error_base_return),(dpy,event_base_return,error_base_return),return) |
| 318 | SDL_X11_SYM(XRRScreenConfiguration *,XRRGetScreenInfo,(Display *dpy,Drawable draw),(dpy,draw),return) |
| 319 | SDL_X11_SYM(SizeID,XRRConfigCurrentConfiguration,(XRRScreenConfiguration *config,Rotation *rotation),(config,rotation),return) |
| 320 | SDL_X11_SYM(short,XRRConfigCurrentRate,(XRRScreenConfiguration *config),(config),return) |
| 321 | SDL_X11_SYM(short *,XRRConfigRates,(XRRScreenConfiguration *config,int sizeID,int *nrates),(config,sizeID,nrates),return) |
| 322 | SDL_X11_SYM(XRRScreenSize *,XRRConfigSizes,(XRRScreenConfiguration *config,int *nsizes),(config,nsizes),return) |
| 323 | SDL_X11_SYM(Status,XRRSetScreenConfigAndRate,(Display *dpy,XRRScreenConfiguration *config,Drawable draw,int size_index,Rotation rotation,short rate,Time timestamp),(dpy,config,draw,size_index,rotation,rate,timestamp),return) |
| 324 | SDL_X11_SYM(void,XRRFreeScreenConfigInfo,(XRRScreenConfiguration *config),(config),) |
| 325 | SDL_X11_SYM(void,XRRSetScreenSize,(Display *dpy, Window window,int width, int height,int mmWidth, int mmHeight),(dpy,window,width,height,mmWidth,mmHeight),) |
| 326 | SDL_X11_SYM(Status,XRRGetScreenSizeRange,(Display *dpy, Window window,int *minWidth, int *minHeight, int *maxWidth, int *maxHeight),(dpy,window,minWidth,minHeight,maxWidth,maxHeight),return) |
| 327 | SDL_X11_SYM(XRRScreenResources *,XRRGetScreenResources,(Display *dpy, Window window),(dpy, window),return) |
| 328 | SDL_X11_SYM(XRRScreenResources *,XRRGetScreenResourcesCurrent,(Display *dpy, Window window),(dpy, window),return) |
| 329 | SDL_X11_SYM(void,XRRFreeScreenResources,(XRRScreenResources *resources),(resources),) |
| 330 | SDL_X11_SYM(XRROutputInfo *,XRRGetOutputInfo,(Display *dpy, XRRScreenResources *resources, RROutput output),(dpy,resources,output),return) |
| 331 | SDL_X11_SYM(void,XRRFreeOutputInfo,(XRROutputInfo *outputInfo),(outputInfo),) |
| 332 | SDL_X11_SYM(XRRCrtcInfo *,XRRGetCrtcInfo,(Display *dpy, XRRScreenResources *resources, RRCrtc crtc),(dpy,resources,crtc),return) |
| 333 | SDL_X11_SYM(void,XRRFreeCrtcInfo,(XRRCrtcInfo *crtcInfo),(crtcInfo),) |
| 334 | SDL_X11_SYM(Status,XRRSetCrtcConfig,(Display *dpy, XRRScreenResources *resources, RRCrtc crtc, Time timestamp, int x, int y, RRMode mode, Rotation rotation, RROutput *outputs, int noutputs),(dpy,resources,crtc,timestamp,x,y,mode,rotation,outputs,noutputs),return) |
| 335 | SDL_X11_SYM(Atom*,XRRListOutputProperties,(Display *dpy, RROutput output, int *nprop),(dpy,output,nprop),return) |
| 336 | SDL_X11_SYM(XRRPropertyInfo*,XRRQueryOutputProperty,(Display *dpy,RROutput output, Atom property),(dpy,output,property),return) |
| 337 | SDL_X11_SYM(int,XRRGetOutputProperty,(Display *dpy,RROutput output, Atom property, long offset, long length, Bool _delete, Bool pending, Atom req_type, Atom *actual_type, int *actual_format, unsigned long *nitems, unsigned long *bytes_after, unsigned char **prop),(dpy,output,property,offset,length, _delete, pending, req_type, actual_type, actual_format, nitems, bytes_after, prop),return) |
| 338 | SDL_X11_SYM(RROutput,XRRGetOutputPrimary,(Display *dpy,Window window),(dpy,window),return) |
| 339 | SDL_X11_SYM(void,XRRSelectInput,(Display *dpy, Window window, int mask),(dpy,window,mask),) |
| 340 | SDL_X11_SYM(Status,XRRGetCrtcTransform,(Display *dpy,RRCrtc crtc,XRRCrtcTransformAttributes **attributes),(dpy,crtc,attributes),return) |
| 341 | #endif |
| 342 | |
| 343 | // MIT-SCREEN-SAVER support |
| 344 | #ifdef SDL_VIDEO_DRIVER_X11_XSCRNSAVER |
| 345 | SDL_X11_MODULE(XSS) |
| 346 | SDL_X11_SYM(Bool,XScreenSaverQueryExtension,(Display *dpy,int *event_base,int *error_base),(dpy,event_base,error_base),return) |
| 347 | SDL_X11_SYM(Status,XScreenSaverQueryVersion,(Display *dpy,int *major_versionp,int *minor_versionp),(dpy,major_versionp,minor_versionp),return) |
| 348 | SDL_X11_SYM(void,XScreenSaverSuspend,(Display *dpy,Bool suspend),(dpy,suspend),return) |
| 349 | #endif |
| 350 | |
| 351 | #ifdef SDL_VIDEO_DRIVER_X11_XSHAPE |
| 352 | SDL_X11_MODULE(XSHAPE) |
| 353 | SDL_X11_SYM(void,XShapeCombineMask,(Display *dpy,Window dest,int dest_kind,int x_off,int y_off,Pixmap src,int op),(dpy,dest,dest_kind,x_off,y_off,src,op),) |
| 354 | SDL_X11_SYM(void,XShapeCombineRegion,(Display *a,Window b,int c,int d,int e,Region f,int g),(a,b,c,d,e,f,g),) |
| 355 | #endif |
| 356 | |
| 357 | #undef SDL_X11_MODULE |
| 358 | #undef SDL_X11_SYM |
| 359 | |
| 360 | /* *INDENT-ON* */ // clang-format on |
| 361 | |