Mercurial > sdl-ios-xcode
annotate include/SDL_syswm.h @ 5067:61d53410eb41
Fixed bug #859
CREATE_SUBDIRS helps a lot if browsing HTML documentation in a file browser.
ALWAYS_DETAILED_SEC makes sure everything has at least the automatic
documentation like function prototype and source references.
STRIP_FROM_PATH allows you to include only the relevant portions of the files'
paths, cleaning up both the file list and directory tree, though you need to
change the path listed here to match wherever you put SDL.
ALIASES avoids some warnings generated by
C:\source\svn.libsdl.org\trunk\SDL\src\joystick\darwin\10.3.9-FIX\IOHIDLib.h.
It seems Apple uses a few commands which are not normally supported by Doxygen.
BUILTIN_STL_SUPPORT adds support for parsing code which makes use of the
standard template library. There isn't a lot of C++ in SDL (some in bwindow at
least), but this still seems like a good idea.
TYPEDEF_HIDES_STRUCT means that for code like this:
typedef struct A {int B;} C;
C is documented as a structure containing B instead of a typedef mapped to A.
EXTRACT_ALL, EXTRACT_PRIVATE, EXTRACT_STATIC, EXTRACT_LOCAL_METHODS,
EXTRACT_ANON_NSPACES and INTERNAL_DOCS make sure that _everything_ is
documented.
CASE_SENSE_NAMES = NO avoids potential conflicts when building documentation on
case insensitive file systems like NTFS and FAT32.
WARN_NO_PARAMDOC lets you know when you have documented some, but not all, of
the parameters of a function. This is useful when you're working on adding
such documentation since it makes partially documented functions easier to
spot.
WARN_LOGFILE writes warnings to a seperate file instead of mixing them in with
stdout. When not running in quiet mode, these warnings can be hard to spot
without this flag.
I added *.h.in and *.h.default to FILE_PATTERNS to generate documentation for
config.h.in and config.h.default.
RECURSIVE tells doxygen to look not only in the input directory, but also in
subfolders.
EXCLUDE avoids documenting things like test programs, examples and templates
which need to be documented separately.
I've used EXCLUDE_PATTERNS to exclude non-source subdirectories that often find
their way into source folders (such as obj or .svn).
EXAMPLE_PATH lists directories doxygen will search to find included example
code. So far, SDL doesn't really use this feature, but I've listed some likely
locations.
SOURCE_BROWSER adds syntax highlighted source code to the HTML output.
USE_HTAGS is nice, but not available on Windows.
INLINE_SOURCES adds the body of a function to it's documentation so you can
quickly see exactly what it does.
ALPHABETICAL_INDEX generates an alphabetical list of all structures, functions,
etc., which makes it much easier to find what you're looking for.
IGNORE_PREFIX skips the SDL_ prefix when deciding which index page to place an
item on so you don't have everything show up under "S".
HTML_DYNAMIC_SECTIONS hides the includes/included by diagrams by default and
adds JavaScript to allow the user to show and hide them by clicking a link.
ENUM_VALUES_PER_LINE = 1 makes enums easier to read by placing each value on
it's own line.
GENERATE_TREEVIEW produces a two frame index page with a navigation tree on the
left.
I have LaTeX and man pages turned off to speed up doxygen, you may want to turn
them back on yourself.
I added _WIN32=1 to PREDEFINED to cause SDL to output documentation related to
Win32 builds of SDL. Normally, doxygen gets confused since there are multiple
definitions for various structures and formats that vary by platform. Without
this doxygen can produce broken documentation or, if you're lucky, output
documentation only for the dummy drivers, which isn't very useful. You need to
pick a platform.
GENERATE_TAGFILE produces a file which can be used to link other doxygen
documentation to the SDL documentation.
CLASS_DIAGRAMS turns on class diagrams even when dot is not available.
HAVE_DOT tells doxygen to try to use dot to generate diagrams.
TEMPLATE_RELATIONS and INCLUDE_GRAPH add additional diagrams to the
documentation.
DOT_MULTI_TARGETS speeds up dot.
OUTPUT_DIRECTORY, INPUT and other paths reflect the fact that this Doxyfile is
intended to process src as well as include and is being run from a separate
subdirectory. Doxygen produces several temporary files while it's running and
if interrupted, can leave those files behind. It's easier to clean up if there
aren't a hundred or so files in the same folder. I typically run doxygen in
SDL/doxy and set the output directory to '.'. Since doxygen puts it's output
in subfolders by type, this keeps things pretty well organised. You could use
'../doc' instead and get the same results.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Fri, 21 Jan 2011 12:57:01 -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: */ |