Mercurial > sdl-ios-xcode
diff src/video/SDL_sysvideo.h @ 5150:ad50b3db78bd
The rendering functions take a context so it's clear what window they're drawing to. This also potentially opens to the door to multi-threaded rendering in the future.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 01 Feb 2011 19:19:43 -0800 |
parents | 2f44e6969a59 |
children | 5429daf5e3f9 |
line wrap: on
line diff
--- a/src/video/SDL_sysvideo.h Tue Feb 01 19:15:42 2011 -0800 +++ b/src/video/SDL_sysvideo.h Tue Feb 01 19:19:43 2011 -0800 @@ -24,6 +24,7 @@ #ifndef _SDL_sysvideo_h #define _SDL_sysvideo_h +#include "SDL_events.h" #include "SDL_mouse.h" #include "SDL_keysym.h" #include "SDL_render.h" @@ -31,7 +32,6 @@ /* The SDL video driver */ -typedef struct SDL_Renderer SDL_Renderer; typedef struct SDL_RenderDriver SDL_RenderDriver; typedef struct SDL_WindowShaper SDL_WindowShaper; typedef struct SDL_ShapeDriver SDL_ShapeDriver; @@ -61,8 +61,9 @@ /* Define the SDL renderer structure */ struct SDL_Renderer { - int (*ActivateRenderer) (SDL_Renderer * renderer); - int (*DisplayModeChanged) (SDL_Renderer * renderer); + const void *magic; + + void (*WindowEvent) (SDL_Renderer * renderer, const SDL_WindowEvent *event); int (*CreateTexture) (SDL_Renderer * renderer, SDL_Texture * texture); int (*QueryTexturePixels) (SDL_Renderer * renderer, SDL_Texture * texture, void **pixels, int *pitch); @@ -168,7 +169,6 @@ Uint32 flags; SDL_VideoDisplay *display; - SDL_Renderer *renderer; SDL_DisplayMode fullscreen_mode; @@ -208,8 +208,6 @@ SDL_Window *windows; SDL_Window *fullscreen_window; - SDL_Renderer *current_renderer; - SDL_VideoDevice *device; void *driverdata; @@ -344,6 +342,7 @@ SDL_VideoDisplay *displays; int current_display; Uint8 window_magic; + Uint8 renderer_magic; Uint8 texture_magic; Uint32 next_object_id; char * clipboard_text; @@ -439,7 +438,6 @@ #endif #define SDL_CurrentDisplay (&_this->displays[_this->current_display]) -#define SDL_CurrentRenderer (SDL_CurrentDisplay->current_renderer) extern SDL_VideoDevice *SDL_GetVideoDevice(void); extern int SDL_AddBasicVideoDisplay(const SDL_DisplayMode * desktop_mode); @@ -461,7 +459,6 @@ extern void SDL_OnWindowShown(SDL_Window * window); extern void SDL_OnWindowHidden(SDL_Window * window); -extern void SDL_OnWindowResized(SDL_Window * window); extern void SDL_OnWindowMinimized(SDL_Window * window); extern void SDL_OnWindowRestored(SDL_Window * window); extern void SDL_OnWindowFocusGained(SDL_Window * window);