Mercurial > sdl-ios-xcode
annotate include/SDL_syswm.h @ 5166:d72793305335
Making the API simpler, moved the surface drawing functions to the software renderer.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 03 Feb 2011 02:45:29 -0800 |
parents | 7e4c7790700e |
children | 164f20ba08eb |
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 | |
5062 | 57 #if defined(SDL_VIDEO_DRIVER_WINDOWS) |
4900
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 |
5056
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
91 #if defined(SDL_VIDEO_DRIVER_UIKIT) |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
92 #ifdef __OBJC__ |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
93 #include <UIKit/UIKit.h> |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
94 #else |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
95 typedef struct _UIWindow UIWindow; |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
96 #endif |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
97 #endif |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
98 |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
99 /** |
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 * These are the various supported windowing subsystems |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
101 */ |
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
|
102 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
|
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 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
|
105 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
|
106 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
|
107 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
|
108 SDL_SYSWM_COCOA, |
5056
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
109 SDL_SYSWM_UIKIT, |
0 | 110 } SDL_SYSWM_TYPE; |
111 | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
112 /** |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
113 * The custom event structure. |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
114 */ |
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
|
115 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
|
116 { |
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
|
117 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
|
118 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
|
119 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
|
120 { |
5062 | 121 #if defined(SDL_VIDEO_DRIVER_WINDOWS) |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
122 struct { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
123 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
|
124 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
|
125 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
|
126 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
|
127 } win; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
128 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
129 #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
|
130 struct { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
131 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
|
132 } x11; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
133 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
134 #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
|
135 struct { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
136 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
|
137 } dfb; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
138 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
139 #if defined(SDL_VIDEO_DRIVER_COCOA) |
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 struct |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
141 { |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
142 /* 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
|
143 } cocoa; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
144 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
145 #if defined(SDL_VIDEO_DRIVER_UIKIT) |
5056
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
146 struct |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
147 { |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
148 /* No UIKit window events yet */ |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
149 } uikit; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
150 #endif |
5063
5680976fb37a
You can't have an empty union in the structure...
Sam Lantinga <slouken@libsdl.org>
parents:
5062
diff
changeset
|
151 /* Can't have an empty union */ |
5680976fb37a
You can't have an empty union in the structure...
Sam Lantinga <slouken@libsdl.org>
parents:
5062
diff
changeset
|
152 int dummy; |
5056
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
153 } msg; |
0 | 154 }; |
155 | |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
156 /** |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
157 * The custom window manager information structure. |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
158 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
159 * 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
|
160 * low level system it is using, and will be one of SDL_SYSWM_TYPE. |
0 | 161 */ |
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 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
|
163 { |
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
|
164 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
|
165 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
|
166 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
|
167 { |
5062 | 168 #if defined(SDL_VIDEO_DRIVER_WINDOWS) |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
169 struct |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
170 { |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
171 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
|
172 } win; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
173 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
174 #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
|
175 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
|
176 { |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
177 Display *display; /**< The X11 display */ |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
178 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
|
179 } x11; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
180 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
181 #if defined(SDL_VIDEO_DRIVER_DIRECTFB) |
4899
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
182 struct |
5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
Sam Lantinga <slouken@libsdl.org>
parents:
4895
diff
changeset
|
183 { |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
184 IDirectFB *dfb; /**< The directfb main interface */ |
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
185 IDirectFBWindow *window; /**< The directfb window handle */ |
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
186 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
|
187 } dfb; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
188 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
189 #if defined(SDL_VIDEO_DRIVER_COCOA) |
4900
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
190 struct |
69d9db65f248
Merged the Windows custom window system hooks into the union used by X11.
Sam Lantinga <slouken@libsdl.org>
parents:
4899
diff
changeset
|
191 { |
4903
f50c7996d925
Documentation clarification
Sam Lantinga <slouken@libsdl.org>
parents:
4902
diff
changeset
|
192 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
|
193 } cocoa; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
194 #endif |
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
195 #if defined(SDL_VIDEO_DRIVER_UIKIT) |
5056
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
196 struct |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
197 { |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
198 UIWindow *window; /* The UIKit window */ |
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
199 } uikit; |
5065
7e4c7790700e
Fixed compile error on Mac OS X
Sam Lantinga <slouken@libsdl.org>
parents:
5063
diff
changeset
|
200 #endif |
5063
5680976fb37a
You can't have an empty union in the structure...
Sam Lantinga <slouken@libsdl.org>
parents:
5062
diff
changeset
|
201 /* Can't have an empty union */ |
5680976fb37a
You can't have an empty union in the structure...
Sam Lantinga <slouken@libsdl.org>
parents:
5062
diff
changeset
|
202 int dummy; |
5056
8b7988f42fcb
Added the ability to get the UIKit window through the SDL API.
Sam Lantinga <slouken@libsdl.org>
parents:
4903
diff
changeset
|
203 } 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
|
204 }; |
0 | 205 |
206 #endif /* SDL_PROTOTYPES_ONLY */ | |
207 | |
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
|
208 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
|
209 |
0 | 210 /* 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
|
211 /** |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
212 * \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
|
213 * |
4530
4069c65b01f2
Fixed typo in the documentation
Sam Lantinga <slouken@libsdl.org>
parents:
4510
diff
changeset
|
214 * \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
|
215 * \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
|
216 * then filled in with information about the given window. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
217 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
218 * \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
|
219 * the \c info struct is valid, SDL_FALSE otherwise. |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
220 * |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
221 * You typically use this function like this: |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
222 * \code |
4895
fd27410a5db0
Fixed documentation typo
Sam Lantinga <slouken@libsdl.org>
parents:
4530
diff
changeset
|
223 * SDL_SysWMinfo info; |
3407
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
224 * SDL_VERSION(&info.version); |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
225 * if ( SDL_GetWindowWMInfo(&info) ) { ... } |
d3baf5ac4e37
Partial fix for bug #859
Sam Lantinga <slouken@libsdl.org>
parents:
3274
diff
changeset
|
226 * \endcode |
0 | 227 */ |
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
|
228 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
|
229 SDL_SysWMinfo * info); |
0 | 230 |
231 | |
232 /* Ends C function definitions when using C++ */ | |
233 #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
|
234 /* *INDENT-OFF* */ |
0 | 235 } |
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
|
236 /* *INDENT-ON* */ |
0 | 237 #endif |
238 #include "close_code.h" | |
239 | |
240 #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
|
241 |
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
|
242 /* vi: set ts=4 sw=4 expandtab: */ |