Mercurial > sdl-ios-xcode
diff include/SDL_syswm.h @ 1662:782fd950bd46 SDL-1.3
Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API.
WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid.
The code is now run through a consistent indent format:
indent -i4 -nut -nsc -br -ce
The headers are being converted to automatically generate doxygen documentation.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 28 May 2006 13:04:16 +0000 |
parents | 14717b52abc0 |
children | 4da1ee79c9af |
line wrap: on
line diff
--- a/include/SDL_syswm.h Sun May 21 17:27:13 2006 +0000 +++ b/include/SDL_syswm.h Sun May 28 13:04:16 2006 +0000 @@ -20,19 +20,26 @@ slouken@libsdl.org */ -/* Include file for SDL custom system window manager hooks */ +/** + * \file SDL_syswm.h + * + * Include file for SDL custom system window manager hooks + */ #ifndef _SDL_syswm_h #define _SDL_syswm_h #include "SDL_stdinc.h" #include "SDL_error.h" +#include "SDL_video.h" #include "SDL_version.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ extern "C" { +/* *INDENT-ON* */ #endif /* Your application has access to a special type of event 'SDL_SYSWMEVENT', @@ -42,7 +49,6 @@ */ #ifdef SDL_PROTOTYPES_ONLY struct SDL_SysWMinfo; -typedef struct SDL_SysWMinfo SDL_SysWMinfo; #else /* This is the structure for custom window manager events */ @@ -61,150 +67,179 @@ #endif /* These are the various supported subsystems under UNIX */ -typedef enum { - SDL_SYSWM_X11 +typedef enum +{ + SDL_SYSWM_X11 } SDL_SYSWM_TYPE; /* The UNIX custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - SDL_SYSWM_TYPE subsystem; - union { - XEvent xevent; - } event; +struct SDL_SysWMmsg +{ + SDL_version version; + SDL_SYSWM_TYPE subsystem; + union + { + XEvent xevent; + } event; }; /* The UNIX custom window manager information structure. When this structure is returned, it holds information about which low level system it is using, and will be one of SDL_SYSWM_TYPE. */ -typedef struct SDL_SysWMinfo { - SDL_version version; - SDL_SYSWM_TYPE subsystem; - union { - struct { - Display *display; /* The X11 display */ - Window window; /* The X11 display window */ - /* These locking functions should be called around - any X11 functions using the display variable. - They lock the event thread, so should not be - called around event functions or from event filters. - */ - void (*lock_func)(void); - void (*unlock_func)(void); +struct SDL_SysWMinfo +{ + SDL_version version; + SDL_SYSWM_TYPE subsystem; + union + { + struct + { + Display *display; /* The X11 display */ + Window window; /* The X11 display window */ + /* These locking functions should be called around + any X11 functions using the display variable. + They lock the event thread, so should not be + called around event functions or from event filters. + */ + void (*lock_func) (void); + void (*unlock_func) (void); - /* Introduced in SDL 1.0.2 */ - Window fswindow; /* The X11 fullscreen window */ - Window wmwindow; /* The X11 managed input window */ - } x11; - } info; -} SDL_SysWMinfo; + /* Introduced in SDL 1.0.2 */ + Window fswindow; /* The X11 fullscreen window */ + Window wmwindow; /* The X11 managed input window */ + } x11; + } info; +}; #elif defined(SDL_VIDEO_DRIVER_NANOX) #include <microwin/nano-X.h> /* The generic custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int data; +struct SDL_SysWMmsg +{ + SDL_version version; + int data; }; /* The windows custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version ; - GR_WINDOW_ID window ; /* The display window */ -} SDL_SysWMinfo; +struct SDL_SysWMinfo +{ + SDL_version version; + GR_WINDOW_ID window; /* The display window */ +}; #elif defined(SDL_VIDEO_DRIVER_WINDIB) || defined(SDL_VIDEO_DRIVER_DDRAW) || defined(SDL_VIDEO_DRIVER_GAPI) #define WIN32_LEAN_AND_MEAN #include <windows.h> /* The windows custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - HWND hwnd; /* The window for the message */ - UINT msg; /* The type of message */ - WPARAM wParam; /* WORD message parameter */ - LPARAM lParam; /* LONG message parameter */ +struct SDL_SysWMmsg +{ + SDL_version version; + HWND hwnd; /* The window for the message */ + UINT msg; /* The type of message */ + WPARAM wParam; /* WORD message parameter */ + LPARAM lParam; /* LONG message parameter */ }; /* The windows custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - HWND window; /* The Win32 display window */ - HGLRC hglrc; /* The OpenGL context, if any */ -} SDL_SysWMinfo; +struct SDL_SysWMinfo +{ + SDL_version version; + HWND window; /* The Win32 display window */ + HGLRC hglrc; /* The OpenGL context, if any */ +}; #elif defined(SDL_VIDEO_DRIVER_RISCOS) /* RISC OS custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int eventCode; /* The window for the message */ - int pollBlock[64]; +struct SDL_SysWMmsg +{ + SDL_version version; + int eventCode; /* The window for the message */ + int pollBlock[64]; }; /* The RISC OS custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - int wimpVersion; /* Wimp version running under */ - int taskHandle; /* The RISC OS task handle */ - int window; /* The RISC OS display window */ -} SDL_SysWMinfo; +struct SDL_SysWMinfo +{ + SDL_version version; + int wimpVersion; /* Wimp version running under */ + int taskHandle; /* The RISC OS task handle */ + int window; /* The RISC OS display window */ +}; #elif defined(SDL_VIDEO_DRIVER_PHOTON) #include <sys/neutrino.h> #include <Ph.h> /* The QNX custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int data; +struct SDL_SysWMmsg +{ + SDL_version version; + int data; }; /* The QNX custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - int data; -} SDL_SysWMinfo; +struct SDL_SysWMinfo +{ + SDL_version version; + int data; +}; #else /* The generic custom event structure */ -struct SDL_SysWMmsg { - SDL_version version; - int data; +struct SDL_SysWMmsg +{ + SDL_version version; + int data; }; /* The generic custom window manager information structure */ -typedef struct SDL_SysWMinfo { - SDL_version version; - int data; -} SDL_SysWMinfo; +struct SDL_SysWMinfo +{ + SDL_version version; + int data; +}; #endif /* video driver type */ #endif /* SDL_PROTOTYPES_ONLY */ +typedef struct SDL_SysWMinfo SDL_SysWMinfo; + /* Function prototypes */ -/* - * This function gives you custom hooks into the window manager information. - * It fills the structure pointed to by 'info' with custom information and - * returns 1 if the function is implemented. If it's not implemented, or - * the version member of the 'info' structure is invalid, it returns 0. +/** + * \fn SDL_bool SDL_GetWindowWMInfo (SDL_WindowID windowID, SDL_SysWMinfo * info) + * + * \brief This function allows access to driver-dependent window information. + * + * \param windowID The window about which information is being requested + * \param info This structure must be initialized with the SDL version, and is then filled in with information about the given window. + * + * \return SDL_TRUE if the function is implemented and the version member of the 'info' struct is valid, SDL_FALSE otherwise. * * You typically use this function like this: + * \code * SDL_SysWMInfo info; * SDL_VERSION(&info.version); - * if ( SDL_GetWMInfo(&info) ) { ... } + * if ( SDL_GetWindowWMInfo(&info) ) { ... } + * \endcode */ -extern DECLSPEC int SDLCALL SDL_GetWMInfo(SDL_SysWMinfo *info); +extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo (SDL_WindowID windowID, + SDL_SysWMinfo * info); /* Ends C function definitions when using C++ */ #ifdef __cplusplus +/* *INDENT-OFF* */ } +/* *INDENT-ON* */ #endif #include "close_code.h" #endif /* _SDL_syswm_h */ + +/* vi: set ts=4 sw=4 expandtab: */