Mercurial > sdl-ios-xcode
annotate include/SDL_syswm.h @ 5004:0c72ae7b7cb2
Added native atomic operations for Windows, Mac OS X, and gcc compiler intrinsics.
Changed the CAS return value to bool, so it's efficient with OSAtomicCompareAndSwap32Barrier()
Added an atomic test adapted from code by Michael Davidsaver
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 16 Jan 2011 15:16:39 -0800 |
parents | f50c7996d925 |
children | 8b7988f42fcb |
rev | line source |
---|---|
0 | 1 /* |
2 SDL - Simple DirectMedia Layer | |
3697 | 3 Copyright (C) 1997-2010 Sam Lantinga |
0 | 4 |
5 This library is free software; you can redistribute it and/or | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1133
diff
changeset
|
6 modify it under the terms of the GNU Lesser General Public |
0 | 7 License as published by the Free Software Foundation; either |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1133
diff
changeset
|
8 version 2.1 of the License, or (at your option) any later version. |
0 | 9 |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1133
diff
changeset
|
13 Lesser General Public License for more details. |
0 | 14 |
1312
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1133
diff
changeset
|
15 You should have received a copy of the GNU Lesser General Public |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1133
diff
changeset
|
16 License along with this library; if not, write to the Free Software |
c9b51268668f
Updated copyright information and removed rcs id lines (problematic in branch merges)
Sam Lantinga <slouken@libsdl.org>
parents:
1133
diff
changeset
|
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
0 | 18 |
19 Sam Lantinga | |
251
b8688cfdc232
Updated the headers with the correct e-mail address
Sam Lantinga <slouken@libsdl.org>
parents:
94
diff
changeset
|
20 slouken@libsdl.org |
0 | 21 */ |
22 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
23 /** |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
24 * \file SDL_syswm.h |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
25 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
26 * Include file for SDL custom system window manager hooks. |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
27 */ |
0 | 28 |
29 #ifndef _SDL_syswm_h | |
30 #define _SDL_syswm_h | |
31 | |
1356
67114343400d
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
1330
diff
changeset
|
32 #include "SDL_stdinc.h" |
1358
c71e05b4dc2e
More header massaging... works great on Windows. ;-)
Sam Lantinga <slouken@libsdl.org>
parents:
1356
diff
changeset
|
33 #include "SDL_error.h" |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
34 #include "SDL_video.h" |
0 | 35 #include "SDL_version.h" |
36 | |
37 #include "begin_code.h" | |
38 /* Set up for C function definitions, even when using C++ */ | |
39 #ifdef __cplusplus | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
40 /* *INDENT-OFF* */ |
0 | 41 extern "C" { |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
42 /* *INDENT-ON* */ |
0 | 43 #endif |
44 | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
45 /** |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
46 * \file SDL_syswm.h |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
47 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
48 * Your application has access to a special type of event ::SDL_SYSWMEVENT, |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
49 * which contains window-manager specific information and arrives whenever |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
50 * an unhandled window event occurs. This event is ignored by default, but |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
51 * you can enable it with SDL_EventState(). |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
52 */ |
0 | 53 #ifdef SDL_PROTOTYPES_ONLY |
54 struct SDL_SysWMinfo; | |
55 #else | |
56 | |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
57 #if defined(SDL_VIDEO_DRIVER_WIN32) |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
58 #define WIN32_LEAN_AND_MEAN |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
59 #include <windows.h> |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
60 #endif |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
61 |
1361
19418e4422cb
New configure-based build system. Still work in progress, but much improved
Sam Lantinga <slouken@libsdl.org>
parents:
1358
diff
changeset
|
62 /* This is the structure for custom window manager events */ |
1626 | 63 #if defined(SDL_VIDEO_DRIVER_X11) |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
64 #if defined(__APPLE__) && defined(__MACH__) |
1487
dc6b59e925a2
Cleaning up warnings on MacOS X
Sam Lantinga <slouken@libsdl.org>
parents:
1433
diff
changeset
|
65 /* conflicts with Quickdraw.h */ |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
66 #define Cursor X11Cursor |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
67 #endif |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
68 |
0 | 69 #include <X11/Xlib.h> |
70 #include <X11/Xatom.h> | |
71 | |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
72 #if defined(__APPLE__) && defined(__MACH__) |
1487
dc6b59e925a2
Cleaning up warnings on MacOS X
Sam Lantinga <slouken@libsdl.org>
parents:
1433
diff
changeset
|
73 /* matches the re-define above */ |
1133
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
74 #undef Cursor |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
75 #endif |
609c060fd2a2
The MacOSX Carbon/Cocoa/X11 all in one library patch. Relevant emails:
Ryan C. Gordon <icculus@icculus.org>
parents:
1035
diff
changeset
|
76 |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
77 #endif /* defined(SDL_VIDEO_DRIVER_X11) */ |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
78 |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
79 #if defined(SDL_VIDEO_DRIVER_DIRECTFB) |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
80 #include <directfb/directfb.h> |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
81 #endif |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
82 |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
83 #if defined(SDL_VIDEO_DRIVER_COCOA) |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
84 #ifdef __OBJC__ |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
85 #include <Cocoa/Cocoa.h> |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
86 #else |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
87 typedef struct _NSWindow NSWindow; |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
88 #endif |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
89 #endif |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
90 |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
91 /** |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
92 * These are the various supported windowing subsystems |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
93 */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
94 typedef enum |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
95 { |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
96 SDL_SYSWM_UNKNOWN, |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
97 SDL_SYSWM_WINDOWS, |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
98 SDL_SYSWM_X11, |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
99 SDL_SYSWM_DIRECTFB, |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
100 SDL_SYSWM_COCOA, |
0 | 101 } SDL_SYSWM_TYPE; |
102 | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
103 /** |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
104 * The custom event structure. |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
105 */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
106 struct SDL_SysWMmsg |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
107 { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
108 SDL_version version; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
109 SDL_SYSWM_TYPE subsystem; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
110 union |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
111 { |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
112 #if defined(SDL_VIDEO_DRIVER_WIN32) |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
113 struct { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
114 HWND hwnd; /**< The window for the message */ |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
115 UINT msg; /**< The type of message */ |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
116 WPARAM wParam; /**< WORD message parameter */ |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
117 LPARAM lParam; /**< LONG message parameter */ |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
118 } win; |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
119 #endif |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
120 #if defined(SDL_VIDEO_DRIVER_X11) |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
121 struct { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
122 XEvent event; |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
123 } x11; |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
124 #endif |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
125 #if defined(SDL_VIDEO_DRIVER_DIRECTFB) |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
126 struct { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
127 DFBEvent event; |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
128 } dfb; |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
129 #endif |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
130 #if defined(SDL_VIDEO_DRIVER_COCOA) |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
131 struct |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
132 { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
133 /* No Cocoa window events yet */ |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
134 } cocoa; |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
135 #endif |
4902
50d0bff24d81
Make the union nameless to reduce the complexity of the API.
Sam Lantinga <slouken@libsdl.org>
parents:
4900
diff
changeset
|
136 } /*msg*/; |
0 | 137 }; |
138 | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
139 /** |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
140 * The custom window manager information structure. |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
141 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
142 * When this structure is returned, it holds information about which |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
143 * low level system it is using, and will be one of SDL_SYSWM_TYPE. |
0 | 144 */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
145 struct SDL_SysWMinfo |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
146 { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
147 SDL_version version; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
148 SDL_SYSWM_TYPE subsystem; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
149 union |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
150 { |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
151 #if defined(SDL_VIDEO_DRIVER_WIN32) |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
152 struct |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
153 { |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
154 HWND window; /**< The window handle */ |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
155 } win; |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
156 #endif |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
157 #if defined(SDL_VIDEO_DRIVER_X11) |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
158 struct |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
159 { |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
160 Display *display; /**< The X11 display */ |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
161 Window window; /**< The X11 window */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
162 } x11; |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
163 #endif |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
164 #if defined(SDL_VIDEO_DRIVER_DIRECTFB) |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
165 struct |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
166 { |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
167 IDirectFB *dfb; /**< The directfb main interface */ |
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
168 IDirectFBWindow *window; /**< The directfb window handle */ |
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
169 IDirectFBSurface *surface; /**< The directfb client surface */ |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
170 } dfb; |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
171 #endif |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
172 #if defined(SDL_VIDEO_DRIVER_COCOA) |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
173 struct |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
174 { |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
175 NSWindow *window; /* The Cocoa window */ |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
176 } cocoa; |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
177 #endif |
4902
50d0bff24d81
Make the union nameless to reduce the complexity of the API.
Sam Lantinga <slouken@libsdl.org>
parents:
4900
diff
changeset
|
178 } /*info*/; |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
179 }; |
0 | 180 |
181 #endif /* SDL_PROTOTYPES_ONLY */ | |
182 | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
183 typedef struct SDL_SysWMinfo SDL_SysWMinfo; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
184 |
0 | 185 /* Function prototypes */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
186 /** |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
187 * \brief This function allows access to driver-dependent window information. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
188 * |
4530
4069c65b01f2
Fixed typo in the documentation
Sam Lantinga <slouken@libsdl.org>
parents:
4510
diff
changeset
|
189 * \param window The window about which information is being requested |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
190 * \param info This structure must be initialized with the SDL version, and is |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
191 * then filled in with information about the given window. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
192 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
193 * \return SDL_TRUE if the function is implemented and the version member of |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
194 * the \c info struct is valid, SDL_FALSE otherwise. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
195 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
196 * You typically use this function like this: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
197 * \code |
4895
fd27410a5db0
Fixed documentation typo
Sam Lantinga <slouken@libsdl.org>
parents:
4530
diff
changeset
|
198 * SDL_SysWMinfo info; |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
199 * SDL_VERSION(&info.version); |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
200 * if ( SDL_GetWindowWMInfo(&info) ) { ... } |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
201 * \endcode |
0 | 202 */ |
3685
64ce267332c6
Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
Sam Lantinga <slouken@libsdl.org>
parents:
3407
diff
changeset
|
203 extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window, |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
204 SDL_SysWMinfo * info); |
0 | 205 |
206 | |
207 /* Ends C function definitions when using C++ */ | |
208 #ifdef __cplusplus | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
209 /* *INDENT-OFF* */ |
0 | 210 } |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
211 /* *INDENT-ON* */ |
0 | 212 #endif |
213 #include "close_code.h" | |
214 | |
215 #endif /* _SDL_syswm_h */ | |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
216 |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1760
diff
changeset
|
217 /* vi: set ts=4 sw=4 expandtab: */ |