annotate src/video/x11/SDL_x11sym.h @ 1287:15a89a0c52bf

Date: Tue, 15 Feb 2005 21:28:48 +0900 (JST) From: "Michael Leonhard" Subject: [SDL] resize bug on Win32 and patch This is my first post to this mailing list. In this email I will detail a bug in the behavior of resizable SDL windows on Win32. Then I will explain the solution and provide a patch. Symptoms: Under Windows, an SDL display created with the SDL_RESIZABLE flag exhibits quirky behavior when being maximized. The window is resized to the proper size, but it is shifted upwards about half the height of the title bar. Similarly, a window whose origin is above the top of the screen will spontaneously move its upper-left origin upon being resized. After two such resize-induced moves, the title bar will be entirely off the top edge of the screen. Subsequently, when the mouse is clicked and released on the window border, the window will shrink its height spontaneously. This height shrinkage occurs even if the user did not resize the border. To observe this curious situation, please invoke: SDL-1.2.8/test/testwm.exe -resize Cause: A pair of integers, SDL_windowX and SDL_windowY, are defined in video/wincommon/SDL_sysevents.c. They are used by the DirectX video driver and the DIB video driver: video/windx5/SDL_dx5video.c video/windib/SDL_dibvideo.c As I understand the source code, the primary use of these variables is to create a rectangle that represents the surface area in CLIENT SPACE. Client space refers to a coordinate system that originates at the upper left corner of a Win32 Window's drawable area. This is just inside the window border and title bar. This client space rectangle, called bounds, is subsequently converted to screen space with a call to AdjustWindowRectEx. The problem is found in SDL's handling of the WM_WINDOWPOSCHANGED message. According to MSDN, "The WM_WINDOWPOSCHANGED message is sent to a window whose size, position, or place in the Z order has changed as a result of a call to the SetWindowPos function or another window-management function." I have confirmed that this message is indeed being sent to the SDL window when the mouse is clicked on the window border, even if the window border is not dragged. In video/wincommon/SDL_sysevents.c, on line 464, in response to the WM_WINDOWPOSCHANGED message, the (potentially) new client rectangle is obtained. This rectangle is translated into screen coordinates and THEN assigned to the SDL_windowX and Y variables. Thus screen coordinates are being assigned to client coordinate variables. Once this is understood, the solution is apparent: assign SDL_windowX and Y before translating the rectangle to screen coordinates. This is accomplished by the following patch. -Mike_L
author Sam Lantinga <slouken@libsdl.org>
date Sun, 29 Jan 2006 08:50:06 +0000
parents d2c6881935be
children 2bf9dda618e5
rev   line source
1168
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
1 /*
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
2 SDL - Simple DirectMedia Layer
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
3 Copyright (C) 1997-2004 Sam Lantinga
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
4
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
5 This library is free software; you can redistribute it and/or
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
6 modify it under the terms of the GNU Library General Public
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
7 License as published by the Free Software Foundation; either
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
8 version 2 of the License, or (at your option) any later version.
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
9
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
10 This library is distributed in the hope that it will be useful,
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
13 Library General Public License for more details.
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
14
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
15 You should have received a copy of the GNU Library General Public
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
16 License along with this library; if not, write to the Free
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
18
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
19 Sam Lantinga
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
20 slouken@libsdl.org
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
21 */
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
22
1235
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
23 SDL_X11_SYM(1,XClassHint*,XAllocClassHint,(void))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
24 SDL_X11_SYM(1,Status,XAllocColor,(Display*,Colormap,XColor*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
25 SDL_X11_SYM(1,XSizeHints*,XAllocSizeHints,(void))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
26 SDL_X11_SYM(1,XWMHints*,XAllocWMHints,(void))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
27 SDL_X11_SYM(1,int,XChangePointerControl,(Display*,Bool,Bool,int,int,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
28 SDL_X11_SYM(1,int,XChangeProperty,(Display*,Window,Atom,Atom,int,int,_Xconst unsigned char*,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
29 SDL_X11_SYM(1,int,XChangeWindowAttributes,(Display*,Window,unsigned long,XSetWindowAttributes*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
30 SDL_X11_SYM(1,Bool,XCheckTypedEvent,(Display*,int,XEvent*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
31 SDL_X11_SYM(1,int,XClearWindow,(Display*,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
32 SDL_X11_SYM(1,int,XCloseDisplay,(Display*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
33 SDL_X11_SYM(1,Colormap,XCreateColormap,(Display*,Window,Visual*,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
34 SDL_X11_SYM(1,Cursor,XCreatePixmapCursor,(Display*,Pixmap,Pixmap,XColor*,XColor*,unsigned int,unsigned int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
35 SDL_X11_SYM(1,GC,XCreateGC,(Display*,Drawable,unsigned long,XGCValues*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
36 SDL_X11_SYM(1,XImage*,XCreateImage,(Display*,Visual*,unsigned int,int,int,char*,unsigned int,unsigned int,int,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
37 SDL_X11_SYM(1,Pixmap,XCreatePixmap,(Display*,Drawable,unsigned int,unsigned int,unsigned int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
38 SDL_X11_SYM(1,Pixmap,XCreatePixmapFromBitmapData,(Display*,Drawable,char*,unsigned int,unsigned int,unsigned long,unsigned long,unsigned int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
39 SDL_X11_SYM(1,Window,XCreateSimpleWindow,(Display*,Window,int,int,unsigned int,unsigned int,unsigned int,unsigned long,unsigned long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
40 SDL_X11_SYM(1,Window,XCreateWindow,(Display*,Window,int,int,unsigned int,unsigned int,unsigned int,int,unsigned int,Visual*,unsigned long,XSetWindowAttributes*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
41 SDL_X11_SYM(1,int,XDefineCursor,(Display*,Window,Cursor))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
42 SDL_X11_SYM(1,int,XDeleteProperty,(Display*,Window,Atom))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
43 SDL_X11_SYM(1,int,XDestroyWindow,(Display*,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
44 SDL_X11_SYM(1,char*,XDisplayName,(_Xconst char*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
45 SDL_X11_SYM(1,int,XEventsQueued,(Display*,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
46 SDL_X11_SYM(1,int,XFlush,(Display*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
47 SDL_X11_SYM(1,int,XFree,(void*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
48 SDL_X11_SYM(1,int,XFreeColormap,(Display*,Colormap))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
49 SDL_X11_SYM(1,int,XFreeColors,(Display*,Colormap,unsigned long*,int,unsigned long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
50 SDL_X11_SYM(1,int,XFreeCursor,(Display*,Cursor))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
51 SDL_X11_SYM(1,int,XFreeGC,(Display*,GC))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
52 SDL_X11_SYM(1,int,XFreeModifiermap,(XModifierKeymap*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
53 SDL_X11_SYM(1,int,XFreePixmap,(Display*,Pixmap))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
54 SDL_X11_SYM(1,int,XGetErrorDatabaseText,(Display*,_Xconst char*,_Xconst char*,_Xconst char*,char*,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
55 SDL_X11_SYM(1,XModifierKeymap*,XGetModifierMapping,(Display*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
56 SDL_X11_SYM(1,int,XGetPointerControl,(Display*,int*,int*,int*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
57 SDL_X11_SYM(1,XVisualInfo*,XGetVisualInfo,(Display*,long,XVisualInfo*,int*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
58 SDL_X11_SYM(1,XWMHints*,XGetWMHints,(Display*,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
59 SDL_X11_SYM(1,Status,XGetWMIconName,(Display*,Window,XTextProperty*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
60 SDL_X11_SYM(1,Status,XGetWMName,(Display*,Window,XTextProperty*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
61 SDL_X11_SYM(1,Status,XGetWindowAttributes,(Display*,Window,XWindowAttributes*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
62 SDL_X11_SYM(1,int,XGrabKeyboard,(Display*,Window,Bool,int,int,Time))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
63 SDL_X11_SYM(1,int,XGrabPointer,(Display*,Window,Bool,unsigned int,int,int,Window,Cursor,Time))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
64 SDL_X11_SYM(1,Status,XIconifyWindow,(Display*,Window,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
65 SDL_X11_SYM(1,int,XInstallColormap,(Display*,Colormap))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
66 SDL_X11_SYM(1,KeyCode,XKeysymToKeycode,(Display*,KeySym))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
67 SDL_X11_SYM(1,Atom,XInternAtom,(Display*,_Xconst char*,Bool))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
68 SDL_X11_SYM(1,XPixmapFormatValues*,XListPixmapFormats,(Display*,int*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
69 SDL_X11_SYM(1,int,XLookupString,(XKeyEvent*,char*,int,KeySym*,XComposeStatus*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
70 SDL_X11_SYM(1,int,XMapRaised,(Display*,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
71 SDL_X11_SYM(1,int,XMapWindow,(Display*,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
72 SDL_X11_SYM(1,int,XMaskEvent,(Display*,long,XEvent*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
73 SDL_X11_SYM(1,Status,XMatchVisualInfo,(Display*,int,int,int,XVisualInfo*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
74 SDL_X11_SYM(1,int,XMissingExtension,(Display*,_Xconst char*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
75 SDL_X11_SYM(1,int,XMoveResizeWindow,(Display*,Window,int,int,unsigned int,unsigned int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
76 SDL_X11_SYM(1,int,XMoveWindow,(Display*,Window,int,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
77 SDL_X11_SYM(1,int,XNextEvent,(Display*,XEvent*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
78 SDL_X11_SYM(1,Display*,XOpenDisplay,(_Xconst char*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
79 SDL_X11_SYM(1,int,XPeekEvent,(Display*,XEvent*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
80 SDL_X11_SYM(1,int,XPending,(Display*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
81 SDL_X11_SYM(1,int,XPutImage,(Display*,Drawable,GC,XImage*,int,int,int,int,unsigned int,unsigned int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
82 SDL_X11_SYM(1,int,XQueryColors,(Display*,Colormap,XColor*,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
83 SDL_X11_SYM(1,int,XQueryKeymap,(Display*,char [32]))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
84 SDL_X11_SYM(1,Bool,XQueryPointer,(Display*,Window,Window*,Window*,int*,int*,int*,int*,unsigned int*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
85 SDL_X11_SYM(1,int,XRaiseWindow,(Display*,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
86 SDL_X11_SYM(1,int,XReparentWindow,(Display*,Window,Window,int,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
87 SDL_X11_SYM(1,int,XResizeWindow,(Display*,Window,unsigned int,unsigned int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
88 SDL_X11_SYM(1,int,XSelectInput,(Display*,Window,long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
89 SDL_X11_SYM(1,Status,XSendEvent,(Display*,Window,Bool,long,XEvent*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
90 SDL_X11_SYM(1,int,XSetClassHint,(Display*,Window,XClassHint*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
91 SDL_X11_SYM(1,XErrorHandler,XSetErrorHandler,(XErrorHandler))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
92 SDL_X11_SYM(1,XIOErrorHandler,XSetIOErrorHandler,(XIOErrorHandler))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
93 SDL_X11_SYM(1,int,XSetTransientForHint,(Display*,Window,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
94 SDL_X11_SYM(1,int,XSetWMHints,(Display*,Window,XWMHints*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
95 SDL_X11_SYM(1,void,XSetWMIconName,(Display*,Window,XTextProperty*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
96 SDL_X11_SYM(1,void,XSetWMName,(Display*,Window,XTextProperty*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
97 SDL_X11_SYM(1,void,XSetWMNormalHints,(Display*,Window,XSizeHints*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
98 SDL_X11_SYM(1,Status,XSetWMProtocols,(Display*,Window,Atom*,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
99 SDL_X11_SYM(1,int,XSetWindowBackground,(Display*,Window,unsigned long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
100 SDL_X11_SYM(1,int,XSetWindowBackgroundPixmap,(Display*,Window,Pixmap))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
101 SDL_X11_SYM(1,int,XSetWindowColormap,(Display*,Window,Colormap))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
102 SDL_X11_SYM(1,int,XStoreColors,(Display*,Colormap,XColor*,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
103 SDL_X11_SYM(1,Status,XStringListToTextProperty,(char**,int,XTextProperty*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
104 SDL_X11_SYM(1,int,XSync,(Display*,Bool))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
105 SDL_X11_SYM(1,int,XUngrabKeyboard,(Display*,Time))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
106 SDL_X11_SYM(1,int,XUngrabPointer,(Display*,Time))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
107 SDL_X11_SYM(1,int,XUnmapWindow,(Display*,Window))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
108 SDL_X11_SYM(1,int,XWarpPointer,(Display*,Window,Window,int,int,unsigned int,unsigned int,int,int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
109 SDL_X11_SYM(1,VisualID,XVisualIDFromVisual,(Visual*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
110 SDL_X11_SYM(1,XExtDisplayInfo*,XextAddDisplay,(XExtensionInfo*,Display*,char*,XExtensionHooks*,int,XPointer))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
111 SDL_X11_SYM(1,XExtensionInfo*,XextCreateExtension,(void))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
112 SDL_X11_SYM(1,void,XextDestroyExtension,(XExtensionInfo*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
113 SDL_X11_SYM(1,XExtDisplayInfo*,XextFindDisplay,(XExtensionInfo*,Display*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
114 SDL_X11_SYM(1,int,XextRemoveDisplay,(XExtensionInfo*,Display*))
1244
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
115 SDL_X11_SYM(1,Bool,XQueryExtension,(Display*,_Xconst char*,int*,int*,int*))
1248
d2c6881935be Catch X11 extension errors...since most of these are notifications that we
Ryan C. Gordon <icculus@icculus.org>
parents: 1244
diff changeset
116 SDL_X11_SYM(1,char *,XDisplayString,(Display*))
d2c6881935be Catch X11 extension errors...since most of these are notifications that we
Ryan C. Gordon <icculus@icculus.org>
parents: 1244
diff changeset
117 SDL_X11_SYM(1,int,XGetErrorText,(Display*,int,char*,int))
1244
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
118
1169
4b3e2294782d Date: Sun, 06 Nov 2005 18:23:03 +0900
Ryan C. Gordon <icculus@icculus.org>
parents: 1168
diff changeset
119 #ifdef X_HAVE_UTF8_STRING
1235
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
120 SDL_X11_SYM(1,int,Xutf8TextListToTextProperty,(Display*,char**,int,XICCEncodingStyle,XTextProperty*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
121 SDL_X11_SYM(1,int,Xutf8LookupString,(XIC,XKeyPressedEvent*,char*,int,KeySym*,Status*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
122 SDL_X11_SYM(1,XIC,XCreateIC,(XIM, ...))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
123 SDL_X11_SYM(1,void,XDestroyIC,(XIC))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
124 SDL_X11_SYM(1,void,XSetICFocus,(XIC))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
125 SDL_X11_SYM(1,void,XUnsetICFocus,(XIC))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
126 SDL_X11_SYM(1,XIM,XOpenIM,(Display*,struct _XrmHashBucketRec*,char*,char*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
127 SDL_X11_SYM(1,Status,XCloseIM,(XIM))
1169
4b3e2294782d Date: Sun, 06 Nov 2005 18:23:03 +0900
Ryan C. Gordon <icculus@icculus.org>
parents: 1168
diff changeset
128 #endif
1235
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
129 SDL_X11_SYM(1,void,_XEatData,(Display*,unsigned long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
130 SDL_X11_SYM(1,void,_XFlush,(Display*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
131 SDL_X11_SYM(1,void,_XFlushGCCache,(Display*,GC))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
132 SDL_X11_SYM(1,int,_XRead,(Display*,char*,long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
133 SDL_X11_SYM(1,void,_XReadPad,(Display*,char*,long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
134 SDL_X11_SYM(1,void,_XSend,(Display*,_Xconst char*,long))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
135 SDL_X11_SYM(1,Status,_XReply,(Display*,xReply*,int,Bool))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
136 SDL_X11_SYM(1,unsigned long,_XSetLastRequestRead,(Display*,xGenericReply*))
1244
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
137
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
138 /*
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
139 * These don't exist in 32-bit versions and are removed by Xlib macros, but
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
140 * 64+ bit systems will use them.
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
141 */
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
142 #ifdef LONG64
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
143 SDL_X11_SYM(1,int,_XData32,(Display *dpy,register long *data,unsigned len))
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
144 SDL_X11_SYM(1,void,_XRead32,(Display *dpy,register long *data,long len))
a388f2b59044 More dynamic X11 work.
Ryan C. Gordon <icculus@icculus.org>
parents: 1235
diff changeset
145 #endif
1168
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
146
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
147 #if NeedWidePrototypes
1235
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
148 SDL_X11_SYM(1,KeySym,XKeycodeToKeysym,(Display*,unsigned int,int))
1168
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
149 #else
1235
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
150 SDL_X11_SYM(1,KeySym,XKeycodeToKeysym,(Display*,KeyCode,int))
1168
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
151 #endif
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
152
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
153 #ifndef NO_SHARED_MEMORY
1235
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
154 SDL_X11_SYM(1,Status,XShmAttach,(Display*,XShmSegmentInfo*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
155 SDL_X11_SYM(1,Status,XShmDetach,(Display*,XShmSegmentInfo*))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
156 SDL_X11_SYM(1,Status,XShmPutImage,(Display*,Drawable,GC,XImage*,int,int,int,int,unsigned int,unsigned int,Bool))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
157 SDL_X11_SYM(1,XImage*,XShmCreateImage,(Display*,Visual*,unsigned int,int,char*,XShmSegmentInfo*,unsigned int,unsigned int))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
158 SDL_X11_SYM(1,Bool,XShmQueryExtension,(Display*))
1168
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
159 #endif
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
160
1235
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
161 SDL_X11_SYM(1,SDL_X11_XSynchronizeRetType,XSynchronize,(Display*,Bool))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
162 SDL_X11_SYM(1,SDL_X11_XESetWireToEventRetType,XESetWireToEvent,(Display*,int,SDL_X11_XESetWireToEventRetType))
f60f6f4ffc6f Make some dynamic X11 symbols option. _XData32 and _XRead32 are only available
Ryan C. Gordon <icculus@icculus.org>
parents: 1226
diff changeset
163 SDL_X11_SYM(1,SDL_X11_XESetEventToWireRetType,XESetEventToWire,(Display*,int,SDL_X11_XESetEventToWireRetType))
1248
d2c6881935be Catch X11 extension errors...since most of these are notifications that we
Ryan C. Gordon <icculus@icculus.org>
parents: 1244
diff changeset
164 SDL_X11_SYM(1,SDL_X11_XSetExtensionErrorHandlerType,XSetExtensionErrorHandler,(SDL_X11_XSetExtensionErrorHandlerType))
1168
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
165
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
166 /* end of SDL_x11sym.h ... */
045f186426e1 Dynamically load X11 libraries like we currently do for alsa, esd, etc.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
167