Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

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?
  • Loading branch information
slouken committed Sep 27, 2010
1 parent b909eb7 commit 3aaeb3cf096f756fb03f4b647f89274bca70e617
Showing with 27 additions and 1 deletion.
  1. +27 −1 include/SDL_syswm.h
@@ -55,6 +55,7 @@ struct SDL_SysWMinfo;
#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 @@ struct SDL_SysWMinfo;
#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 @@ struct SDL_SysWMmsg
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 @@ struct SDL_SysWMinfo
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;
};

0 comments on commit 3aaeb3c

Please sign in to comment.