Mercurial > sdl-ios-xcode
diff include/SDL_syswm.h @ 4899:5d529386db73
attached is a patch to support DirectFB in include/SDL_syswm.h. It
defines SDL_SYSWM_DIRECTFB as a subsystem.
This allows developers to e.g. access DirectFB's video and picture
providers.
Kind regards,
André
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 27 Sep 2010 00:50:46 -0700 |
parents | fd27410a5db0 |
children | 69d9db65f248 |
line wrap: on
line diff
--- a/include/SDL_syswm.h Mon Sep 27 00:49:56 2010 -0700 +++ b/include/SDL_syswm.h Mon Sep 27 00:50:46 2010 -0700 @@ -55,6 +55,7 @@ #else /* This is the structure for custom window manager events */ +#if defined(SDL_VIDEO_DRIVER_X11) || defined(SDL_VIDEO_DRIVER_DIRECTFB) #if defined(SDL_VIDEO_DRIVER_X11) #if defined(__APPLE__) && defined(__MACH__) /* conflicts with Quickdraw.h */ @@ -69,12 +70,22 @@ #undef Cursor #endif +#endif /* defined(SDL_VIDEO_DRIVER_X11) */ + +#if defined(SDL_VIDEO_DRIVER_DIRECTFB) +#include <directfb/directfb.h> +#endif /** * These are the various supported subsystems under UNIX. */ typedef enum { - SDL_SYSWM_X11 +#if defined(SDL_VIDEO_DRIVER_X11) + SDL_SYSWM_X11, +#endif +#if defined(SDL_VIDEO_DRIVER_DIRECTFB) + SDL_SYSWM_DIRECTFB, +#endif } SDL_SYSWM_TYPE; /** @@ -86,7 +97,12 @@ SDL_SYSWM_TYPE subsystem; union { +#if defined(SDL_VIDEO_DRIVER_X11) XEvent xevent; +#endif +#if defined(SDL_VIDEO_DRIVER_DIRECTFB) + DFBEvent dfb_event; +#endif } event; }; @@ -102,11 +118,21 @@ SDL_SYSWM_TYPE subsystem; union { +#if defined(SDL_VIDEO_DRIVER_X11) struct { Display *display; /**< The X11 display */ Window window; /**< The X11 display window */ } x11; +#endif +#if defined(SDL_VIDEO_DRIVER_DIRECTFB) + struct + { + IDirectFB *dfb; /**< The directfb main interface */ + IDirectFBWindow *window; /**< The directfb window handle */ + IDirectFBSurface *surface; /**< The directfb client surface */ + } directfb; +#endif } info; };