Commit ef7cdd91 authored by Holmes Futrell's avatar Holmes Futrell

Added retained backing attribute, reference to UIKit renderer

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403195
parent a4d2b489
...@@ -37,15 +37,14 @@ typedef struct SDL_VideoDisplay SDL_VideoDisplay; ...@@ -37,15 +37,14 @@ typedef struct SDL_VideoDisplay SDL_VideoDisplay;
typedef struct SDL_VideoDevice SDL_VideoDevice; typedef struct SDL_VideoDevice SDL_VideoDevice;
/* Define the SDL texture structure */ /* Define the SDL texture structure */
struct SDL_Texture struct SDL_Texture {
{
Uint32 id; Uint32 id;
Uint32 format; /**< The pixel format of the texture */ Uint32 format; /**< The pixel format of the texture */
int access; /**< SDL_TextureAccess */ int access; /**< SDL_TextureAccess */
int w; /**< The width of the texture */ int w; /**< The width of the texture */
int h; /**< The height of the texture */ int h; /**< The height of the texture */
int modMode; /**< The texture modulation mode */ int modMode;/**< The texture modulation mode */
int blendMode; /**< The texture blend mode */ int blendMode; /**< The texture blend mode */
int scaleMode; /**< The texture scale mode */ int scaleMode; /**< The texture scale mode */
Uint8 r, g, b, a; /**< Texture modulation values */ Uint8 r, g, b, a; /**< Texture modulation values */
...@@ -58,8 +57,7 @@ struct SDL_Texture ...@@ -58,8 +57,7 @@ struct SDL_Texture
}; };
/* Define the SDL renderer structure */ /* Define the SDL renderer structure */
struct SDL_Renderer struct SDL_Renderer {
{
int (*ActivateRenderer) (SDL_Renderer * renderer); int (*ActivateRenderer) (SDL_Renderer * renderer);
int (*DisplayModeChanged) (SDL_Renderer * renderer); int (*DisplayModeChanged) (SDL_Renderer * renderer);
int (*CreateTexture) (SDL_Renderer * renderer, SDL_Texture * texture); int (*CreateTexture) (SDL_Renderer * renderer, SDL_Texture * texture);
...@@ -107,8 +105,7 @@ struct SDL_Renderer ...@@ -107,8 +105,7 @@ struct SDL_Renderer
}; };
/* Define the SDL render driver structure */ /* Define the SDL render driver structure */
struct SDL_RenderDriver struct SDL_RenderDriver {
{
SDL_Renderer *(*CreateRenderer) (SDL_Window * window, Uint32 flags); SDL_Renderer *(*CreateRenderer) (SDL_Window * window, Uint32 flags);
/* Info about the renderer capabilities */ /* Info about the renderer capabilities */
...@@ -116,8 +113,7 @@ struct SDL_RenderDriver ...@@ -116,8 +113,7 @@ struct SDL_RenderDriver
}; };
/* Define the SDL window structure, corresponding to toplevel windows */ /* Define the SDL window structure, corresponding to toplevel windows */
struct SDL_Window struct SDL_Window {
{
Uint32 id; Uint32 id;
char *title; char *title;
...@@ -136,11 +132,11 @@ struct SDL_Window ...@@ -136,11 +132,11 @@ struct SDL_Window
((W)->flags & SDL_WINDOW_SHOWN) && \ ((W)->flags & SDL_WINDOW_SHOWN) && \
!((W)->flags & SDL_WINDOW_MINIMIZED)) !((W)->flags & SDL_WINDOW_MINIMIZED))
/* Define the SDL display structure /*
This corresponds to physical monitors attached to the system. * Define the SDL display structure This corresponds to physical monitors
* attached to the system.
*/ */
struct SDL_VideoDisplay struct SDL_VideoDisplay {
{
int max_display_modes; int max_display_modes;
int num_display_modes; int num_display_modes;
SDL_DisplayMode *display_modes; SDL_DisplayMode *display_modes;
...@@ -171,8 +167,7 @@ struct SDL_VideoDisplay ...@@ -171,8 +167,7 @@ struct SDL_VideoDisplay
/* Define the SDL video driver structure */ /* Define the SDL video driver structure */
#define _THIS SDL_VideoDevice *_this #define _THIS SDL_VideoDevice *_this
struct SDL_VideoDevice struct SDL_VideoDevice {
{
/* * * */ /* * * */
/* The name of this video driver */ /* The name of this video driver */
const char *name; const char *name;
...@@ -180,29 +175,34 @@ struct SDL_VideoDevice ...@@ -180,29 +175,34 @@ struct SDL_VideoDevice
/* * * */ /* * * */
/* Initialization/Query functions */ /* Initialization/Query functions */
/* Initialize the native video subsystem, filling in the list /*
of displays for this driver, returning 0 or -1 if there's an error. * Initialize the native video subsystem, filling in the list of
* displays for this driver, returning 0 or -1 if there's an error.
*/ */
int (*VideoInit) (_THIS); int (*VideoInit) (_THIS);
/* Reverse the effects VideoInit() -- called if VideoInit() fails /*
or if the application is shutting down the video subsystem. * Reverse the effects VideoInit() -- called if VideoInit() fails or
* if the application is shutting down the video subsystem.
*/ */
void (*VideoQuit) (_THIS); void (*VideoQuit) (_THIS);
/* * * */ /* * * */
/* Display functions /*
* Display functions
*/ */
/* Get a list of the available display modes. /*
* e.g. SDL_AddDisplayMode(_this->current_display, mode) * Get a list of the available display modes. e.g.
* SDL_AddDisplayMode(_this->current_display, mode)
*/ */
void (*GetDisplayModes) (_THIS); void (*GetDisplayModes) (_THIS);
/* Setting the display mode is independent of creating windows, /*
* so when the display mode is changed, all existing windows * Setting the display mode is independent of creating windows, so
* should have their data updated accordingly, including the * when the display mode is changed, all existing windows should have
* display surfaces associated with them. * their data updated accordingly, including the display surfaces
* associated with them.
*/ */
int (*SetDisplayMode) (_THIS, SDL_DisplayMode * mode); int (*SetDisplayMode) (_THIS, SDL_DisplayMode * mode);
...@@ -219,7 +219,8 @@ struct SDL_VideoDevice ...@@ -219,7 +219,8 @@ struct SDL_VideoDevice
int (*GetDisplayGammaRamp) (_THIS, Uint16 * ramp); int (*GetDisplayGammaRamp) (_THIS, Uint16 * ramp);
/* * * */ /* * * */
/* Window functions /*
* Window functions
*/ */
int (*CreateWindow) (_THIS, SDL_Window * window); int (*CreateWindow) (_THIS, SDL_Window * window);
int (*CreateWindowFrom) (_THIS, SDL_Window * window, const void *data); int (*CreateWindowFrom) (_THIS, SDL_Window * window, const void *data);
...@@ -240,7 +241,8 @@ struct SDL_VideoDevice ...@@ -240,7 +241,8 @@ struct SDL_VideoDevice
struct SDL_SysWMinfo * info); struct SDL_SysWMinfo * info);
/* * * */ /* * * */
/* OpenGL support /*
* OpenGL support
*/ */
int (*GL_LoadLibrary) (_THIS, const char *path); int (*GL_LoadLibrary) (_THIS, const char *path);
void *(*GL_GetProcAddress) (_THIS, const char *proc); void *(*GL_GetProcAddress) (_THIS, const char *proc);
...@@ -252,7 +254,8 @@ struct SDL_VideoDevice ...@@ -252,7 +254,8 @@ struct SDL_VideoDevice
void (*GL_DeleteContext) (_THIS, SDL_GLContext context); void (*GL_DeleteContext) (_THIS, SDL_GLContext context);
/* * * */ /* * * */
/* Event manager functions /*
* Event manager functions
*/ */
void (*PumpEvents) (_THIS); void (*PumpEvents) (_THIS);
...@@ -265,8 +268,7 @@ struct SDL_VideoDevice ...@@ -265,8 +268,7 @@ struct SDL_VideoDevice
/* * * */ /* * * */
/* Data used by the GL drivers */ /* Data used by the GL drivers */
struct struct {
{
int red_size; int red_size;
int green_size; int green_size;
int blue_size; int blue_size;
...@@ -283,6 +285,7 @@ struct SDL_VideoDevice ...@@ -283,6 +285,7 @@ struct SDL_VideoDevice
int multisamplebuffers; int multisamplebuffers;
int multisamplesamples; int multisamplesamples;
int accelerated; int accelerated;
int retained_backing;
int driver_loaded; int driver_loaded;
char driver_path[256]; char driver_path[256];
void *dll_handle; void *dll_handle;
...@@ -298,8 +301,7 @@ struct SDL_VideoDevice ...@@ -298,8 +301,7 @@ struct SDL_VideoDevice
void (*free) (_THIS); void (*free) (_THIS);
}; };
typedef struct VideoBootStrap typedef struct VideoBootStrap {
{
const char *name; const char *name;
const char *desc; const char *desc;
int (*available) (void); int (*available) (void);
...@@ -366,6 +368,9 @@ extern VideoBootStrap RISCOS_bootstrap; ...@@ -366,6 +368,9 @@ extern VideoBootStrap RISCOS_bootstrap;
#if SDL_VIDEO_DRIVER_OS2FS #if SDL_VIDEO_DRIVER_OS2FS
extern VideoBootStrap OS2FSLib_bootstrap; extern VideoBootStrap OS2FSLib_bootstrap;
#endif #endif
#if SDL_VIDEO_DRIVER_UIKIT
extern VideoBootStrap UIKIT_bootstrap;
#endif
#if SDL_VIDEO_DRIVER_DUMMY #if SDL_VIDEO_DRIVER_DUMMY
extern VideoBootStrap DUMMY_bootstrap; extern VideoBootStrap DUMMY_bootstrap;
#endif #endif
...@@ -378,9 +383,11 @@ extern VideoBootStrap NDS_bootstrap; ...@@ -378,9 +383,11 @@ extern VideoBootStrap NDS_bootstrap;
extern SDL_VideoDevice *SDL_GetVideoDevice(); extern SDL_VideoDevice *SDL_GetVideoDevice();
extern int SDL_AddBasicVideoDisplay(const SDL_DisplayMode * desktop_mode); extern int SDL_AddBasicVideoDisplay(const SDL_DisplayMode * desktop_mode);
extern int SDL_AddVideoDisplay(const SDL_VideoDisplay * display); extern int SDL_AddVideoDisplay(const SDL_VideoDisplay * display);
extern SDL_bool SDL_AddDisplayMode(int displayIndex, extern SDL_bool
SDL_AddDisplayMode(int displayIndex,
const SDL_DisplayMode * mode); const SDL_DisplayMode * mode);
extern void SDL_AddRenderDriver(int displayIndex, extern void
SDL_AddRenderDriver(int displayIndex,
const SDL_RenderDriver * driver); const SDL_RenderDriver * driver);
extern int SDL_RecreateWindow(SDL_Window * window, Uint32 flags); extern int SDL_RecreateWindow(SDL_Window * window, Uint32 flags);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment