Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404438
This commit is contained in:
Sam Lantinga 2010-01-21 06:21:52 +00:00
parent d7496843fc
commit a0e019f786
73 changed files with 854 additions and 1068 deletions

View file

@ -67,13 +67,13 @@ Notes -- Keyboard
SDL for iPhone contains several additional functions related to keyboard visibility. These functions are not part of the SDL standard API, but are necessary for revealing and hiding the iPhone's virtual onscreen keyboard. You can use them in your own applications by including a copy of the SDL_uikitkeyboard.h header (located in src/video/uikit) in your project. SDL for iPhone contains several additional functions related to keyboard visibility. These functions are not part of the SDL standard API, but are necessary for revealing and hiding the iPhone's virtual onscreen keyboard. You can use them in your own applications by including a copy of the SDL_uikitkeyboard.h header (located in src/video/uikit) in your project.
int SDL_iPhoneKeyboardShow(SDL_WindowID windowID) int SDL_iPhoneKeyboardShow(SDL_Window * window)
-- reveals the onscreen keyboard. Returns 0 on success and -1 on error. -- reveals the onscreen keyboard. Returns 0 on success and -1 on error.
int SDL_iPhoneKeyboardHide(SDL_WindowID windowID) int SDL_iPhoneKeyboardHide(SDL_Window * window)
-- hides the onscreen keyboard. Returns 0 on success and -1 on error. -- hides the onscreen keyboard. Returns 0 on success and -1 on error.
SDL_bool SDL_iPhoneKeyboardIsShown(SDL_WindowID windowID) SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window)
-- returns whether or not the onscreen keyboard is currently visible. -- returns whether or not the onscreen keyboard is currently visible.
int SDL_iPhoneKeyboardToggle(SDL_WindowID windowID) int SDL_iPhoneKeyboardToggle(SDL_Window * window)
-- toggles the visibility of the onscreen keyboard. Returns 0 on success and -1 on error. -- toggles the visibility of the onscreen keyboard. Returns 0 on success and -1 on error.
============================================================================== ==============================================================================

View file

@ -27,8 +27,8 @@ static struct
SDL_Rect rect; /* (drawn) position and size of ship */ SDL_Rect rect; /* (drawn) position and size of ship */
} ship; } ship;
static SDL_TextureID shipID = 0; /* texture for spaceship */ static SDL_Texture *ship = 0; /* texture for spaceship */
static SDL_TextureID spaceID = 0; /* texture for space (background */ static SDL_Texture *space = 0; /* texture for space (background */
void void
render(void) render(void)
@ -97,13 +97,13 @@ render(void)
} }
/* draw the background */ /* draw the background */
SDL_RenderCopy(spaceID, NULL, NULL); SDL_RenderCopy(space, NULL, NULL);
/* draw the ship */ /* draw the ship */
ship.rect.x = ship.x; ship.rect.x = ship.x;
ship.rect.y = ship.y; ship.rect.y = ship.y;
SDL_RenderCopy(shipID, NULL, &ship.rect); SDL_RenderCopy(ship, NULL, &ship.rect);
/* update screen */ /* update screen */
SDL_RenderPresent(); SDL_RenderPresent();
@ -141,11 +141,11 @@ initializeTextures()
SDL_BlitSurface(bmp_surface, NULL, bmp_surface_rgba, NULL); SDL_BlitSurface(bmp_surface, NULL, bmp_surface_rgba, NULL);
/* create ship texture from surface */ /* create ship texture from surface */
shipID = SDL_CreateTextureFromSurface(format, bmp_surface_rgba); ship = SDL_CreateTextureFromSurface(format, bmp_surface_rgba);
if (shipID == 0) { if (ship == 0) {
fatalError("could not create ship texture"); fatalError("could not create ship texture");
} }
SDL_SetTextureBlendMode(shipID, SDL_BLENDMODE_BLEND); SDL_SetTextureBlendMode(ship, SDL_BLENDMODE_BLEND);
/* set the width and height of the ship from the surface dimensions */ /* set the width and height of the ship from the surface dimensions */
ship.rect.w = bmp_surface->w; ship.rect.w = bmp_surface->w;
@ -160,8 +160,8 @@ initializeTextures()
fatalError("could not load space.bmp"); fatalError("could not load space.bmp");
} }
/* create space texture from surface */ /* create space texture from surface */
spaceID = SDL_CreateTextureFromSurface(format, bmp_surface); space = SDL_CreateTextureFromSurface(format, bmp_surface);
if (spaceID == 0) { if (space == 0) {
fatalError("could not create space texture"); fatalError("could not create space texture");
} }
SDL_FreeSurface(bmp_surface); SDL_FreeSurface(bmp_surface);
@ -174,7 +174,7 @@ int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
SDL_WindowID windowID; /* ID of main window */ SDL_Window *window; /* main window */
Uint32 startFrame; /* time frame began to process */ Uint32 startFrame; /* time frame began to process */
Uint32 endFrame; /* time frame ended processing */ Uint32 endFrame; /* time frame ended processing */
Uint32 delay; /* time to pause waiting to draw next frame */ Uint32 delay; /* time to pause waiting to draw next frame */
@ -186,10 +186,10 @@ main(int argc, char *argv[])
} }
/* create main window and renderer */ /* create main window and renderer */
windowID = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN |
SDL_WINDOW_BORDERLESS); SDL_WINDOW_BORDERLESS);
SDL_CreateRenderer(windowID, 0, 0); SDL_CreateRenderer(window, 0, 0);
/* print out some info about joysticks and try to open accelerometer for use */ /* print out some info about joysticks and try to open accelerometer for use */
printf("There are %d joysticks available\n", SDL_NumJoysticks()); printf("There are %d joysticks available\n", SDL_NumJoysticks());
@ -240,8 +240,8 @@ main(int argc, char *argv[])
} }
/* delete textures */ /* delete textures */
SDL_DestroyTexture(shipID); SDL_DestroyTexture(ship);
SDL_DestroyTexture(spaceID); SDL_DestroyTexture(space);
/* shutdown SDL */ /* shutdown SDL */
SDL_Quit(); SDL_Quit();

View file

@ -363,8 +363,7 @@ initializeTexture()
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
SDL_Window *window; /* main window */
SDL_WindowID windowID; /* ID of main window */
Uint32 startFrame; /* time frame began to process */ Uint32 startFrame; /* time frame began to process */
Uint32 endFrame; /* time frame ended processing */ Uint32 endFrame; /* time frame ended processing */
Uint32 delay; /* time to pause waiting to draw next frame */ Uint32 delay; /* time to pause waiting to draw next frame */
@ -389,10 +388,10 @@ main(int argc, char *argv[])
SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1); SDL_GL_SetAttribute(SDL_GL_ACCELERATED_VISUAL, 1);
/* create main window and renderer */ /* create main window and renderer */
windowID = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN |
SDL_WINDOW_BORDERLESS); SDL_WINDOW_BORDERLESS);
SDL_CreateRenderer(windowID, 0, 0); SDL_CreateRenderer(window, 0, 0);
/* load the particle texture */ /* load the particle texture */
initializeTexture(); initializeTexture();

View file

@ -11,7 +11,7 @@
#define MILLESECONDS_PER_FRAME 16 /* about 60 frames per second */ #define MILLESECONDS_PER_FRAME 16 /* about 60 frames per second */
#define HAPPY_FACE_SIZE 32 /* width and height of happyface (pixels) */ #define HAPPY_FACE_SIZE 32 /* width and height of happyface (pixels) */
static SDL_TextureID texture_id = 0; /* reference to texture holding happyface */ static SDL_Texture *texture = 0; /* reference to texture holding happyface */
static struct static struct
{ {
@ -86,7 +86,7 @@ render(void)
} }
dstRect.x = faces[i].x; dstRect.x = faces[i].x;
dstRect.y = faces[i].y; dstRect.y = faces[i].y;
SDL_RenderCopy(texture_id, &srcRect, &dstRect); SDL_RenderCopy(texture, &srcRect, &dstRect);
} }
/* update screen */ /* update screen */
SDL_RenderPresent(); SDL_RenderPresent();
@ -124,11 +124,11 @@ initializeTexture()
SDL_BlitSurface(bmp_surface, NULL, bmp_surface_rgba, NULL); SDL_BlitSurface(bmp_surface, NULL, bmp_surface_rgba, NULL);
/* convert RGBA surface to texture */ /* convert RGBA surface to texture */
texture_id = SDL_CreateTextureFromSurface(format, bmp_surface_rgba); texture = SDL_CreateTextureFromSurface(format, bmp_surface_rgba);
if (texture_id == 0) { if (texture == 0) {
fatalError("could not create texture"); fatalError("could not create texture");
} }
SDL_SetTextureBlendMode(texture_id, SDL_BLENDMODE_BLEND); SDL_SetTextureBlendMode(texture, SDL_BLENDMODE_BLEND);
/* free up allocated memory */ /* free up allocated memory */
SDL_FreeSurface(bmp_surface_rgba); SDL_FreeSurface(bmp_surface_rgba);
@ -139,7 +139,7 @@ int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
SDL_WindowID windowID; SDL_Window *window;
Uint32 startFrame; Uint32 startFrame;
Uint32 endFrame; Uint32 endFrame;
Uint32 delay; Uint32 delay;
@ -149,11 +149,11 @@ main(int argc, char *argv[])
if (SDL_Init(SDL_INIT_VIDEO) < 0) { if (SDL_Init(SDL_INIT_VIDEO) < 0) {
fatalError("Could not initialize SDL"); fatalError("Could not initialize SDL");
} }
windowID = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN |
SDL_WINDOW_BORDERLESS); SDL_WINDOW_BORDERLESS);
SDL_CreateRenderer(windowID, -1, 0); SDL_CreateRenderer(window, -1, 0);
initializeTexture(); initializeTexture();
initializeHappyFaces(); initializeHappyFaces();
@ -182,7 +182,7 @@ main(int argc, char *argv[])
} }
/* cleanup */ /* cleanup */
SDL_DestroyTexture(texture_id); SDL_DestroyTexture(texture);
/* shutdown SDL */ /* shutdown SDL */
SDL_Quit(); SDL_Quit();

View file

@ -10,14 +10,14 @@
#define GLYPH_SIZE_IMAGE 16 /* size of glyphs (characters) in the bitmap font file */ #define GLYPH_SIZE_IMAGE 16 /* size of glyphs (characters) in the bitmap font file */
#define GLYPH_SIZE_SCREEN 32 /* size of glyphs (characters) as shown on the screen */ #define GLYPH_SIZE_SCREEN 32 /* size of glyphs (characters) as shown on the screen */
static SDL_TextureID textureID; /* texture where we'll hold our font */ static SDL_Texture *texture; /* texture where we'll hold our font */
/* iPhone SDL addition keyboard related function definitions */ /* iPhone SDL addition keyboard related function definitions */
extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardShow(SDL_WindowID windowID); extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardShow(SDL_Window * window);
extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardHide(SDL_WindowID windowID); extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardHide(SDL_Window * window);
extern DECLSPEC SDL_bool SDLCALL SDL_iPhoneKeyboardIsShown(SDL_WindowID extern DECLSPEC SDL_bool SDLCALL SDL_iPhoneKeyboardIsShown(SDL_Window *
windowID); window);
extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardToggle(SDL_WindowID windowID); extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardToggle(SDL_Window * window);
/* function declarations */ /* function declarations */
void cleanup(void); void cleanup(void);
@ -157,7 +157,7 @@ drawIndex(int index)
{ GLYPH_SIZE_IMAGE * index, 0, GLYPH_SIZE_IMAGE, GLYPH_SIZE_IMAGE }; { GLYPH_SIZE_IMAGE * index, 0, GLYPH_SIZE_IMAGE, GLYPH_SIZE_IMAGE };
SDL_Rect dstRect = { x, y, GLYPH_SIZE_SCREEN, GLYPH_SIZE_SCREEN }; SDL_Rect dstRect = { x, y, GLYPH_SIZE_SCREEN, GLYPH_SIZE_SCREEN };
drawBlank(x, y); drawBlank(x, y);
SDL_RenderCopy(textureID, &srcRect, &dstRect); SDL_RenderCopy(texture, &srcRect, &dstRect);
} }
/* draws the cursor icon at the current end position of the text */ /* draws the cursor icon at the current end position of the text */
@ -194,8 +194,8 @@ backspace(void)
} }
} }
/* this function loads our font into an SDL_Texture and returns the SDL_TextureID */ /* this function loads our font into an SDL_Texture and returns the SDL_Texture */
SDL_TextureID SDL_Texture*
loadFont(void) loadFont(void)
{ {
@ -218,17 +218,17 @@ loadFont(void)
Bmask, Amask); Bmask, Amask);
SDL_BlitSurface(surface, NULL, converted, NULL); SDL_BlitSurface(surface, NULL, converted, NULL);
/* create our texture */ /* create our texture */
textureID = texture =
SDL_CreateTextureFromSurface(SDL_PIXELFORMAT_ABGR8888, converted); SDL_CreateTextureFromSurface(SDL_PIXELFORMAT_ABGR8888, converted);
if (textureID == 0) { if (texture == 0) {
printf("texture creation failed: %s\n", SDL_GetError()); printf("texture creation failed: %s\n", SDL_GetError());
} else { } else {
/* set blend mode for our texture */ /* set blend mode for our texture */
SDL_SetTextureBlendMode(textureID, SDL_BLENDMODE_BLEND); SDL_SetTextureBlendMode(texture, SDL_BLENDMODE_BLEND);
} }
SDL_FreeSurface(surface); SDL_FreeSurface(surface);
SDL_FreeSurface(converted); SDL_FreeSurface(converted);
return textureID; return texture;
} }
} }
@ -237,6 +237,7 @@ main(int argc, char *argv[])
{ {
int index; /* index of last key we pushed in the bitmap font */ int index; /* index of last key we pushed in the bitmap font */
SDL_Window *window;
SDL_Event event; /* last event received */ SDL_Event event; /* last event received */
SDLMod mod; /* key modifiers of last key we pushed */ SDLMod mod; /* key modifiers of last key we pushed */
SDL_scancode scancode; /* scancode of last key we pushed */ SDL_scancode scancode; /* scancode of last key we pushed */
@ -245,11 +246,9 @@ main(int argc, char *argv[])
printf("Error initializing SDL: %s", SDL_GetError()); printf("Error initializing SDL: %s", SDL_GetError());
} }
/* create window */ /* create window */
SDL_WindowID windowID = window = SDL_CreateWindow("iPhone keyboard test", 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, 0);
SDL_CreateWindow("iPhone keyboard test", 0, 0, SCREEN_WIDTH,
SCREEN_HEIGHT, 0);
/* create renderer */ /* create renderer */
SDL_CreateRenderer(windowID, 0, 0); SDL_CreateRenderer(window, 0, 0);
/* load up our font */ /* load up our font */
loadFont(); loadFont();
@ -301,7 +300,7 @@ main(int argc, char *argv[])
/* mouse up toggles onscreen keyboard visibility /* mouse up toggles onscreen keyboard visibility
this function is available ONLY on iPhone OS this function is available ONLY on iPhone OS
*/ */
SDL_iPhoneKeyboardToggle(windowID); SDL_iPhoneKeyboardToggle(window);
break; break;
#endif #endif
} }
@ -314,6 +313,6 @@ main(int argc, char *argv[])
void void
cleanup(void) cleanup(void)
{ {
SDL_DestroyTexture(textureID); SDL_DestroyTexture(texture);
SDL_Quit(); SDL_Quit();
} }

View file

@ -274,7 +274,7 @@ main(int argc, char *argv[])
{ {
int done; /* has user tried to quit ? */ int done; /* has user tried to quit ? */
SDL_WindowID windowID; /* our main window */ SDL_Window *window; /* main window */
SDL_Event event; SDL_Event event;
Uint32 startFrame; /* holds when frame started processing */ Uint32 startFrame; /* holds when frame started processing */
Uint32 endFrame; /* holds when frame ended processing */ Uint32 endFrame; /* holds when frame ended processing */
@ -283,10 +283,10 @@ main(int argc, char *argv[])
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0) { if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0) {
fatalError("could not initialize SDL"); fatalError("could not initialize SDL");
} }
windowID = window =
SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS); SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS);
SDL_CreateRenderer(windowID, 0, 0); SDL_CreateRenderer(window, 0, 0);
/* initialize the mixer */ /* initialize the mixer */
SDL_memset(&mixer, 0, sizeof(mixer)); SDL_memset(&mixer, 0, sizeof(mixer));

View file

@ -38,7 +38,7 @@ int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
SDL_WindowID windowID; SDL_Window *window;
int done; int done;
SDL_Event event; SDL_Event event;
@ -51,13 +51,13 @@ main(int argc, char *argv[])
srand(time(NULL)); srand(time(NULL));
/* create window and renderer */ /* create window and renderer */
windowID = window =
SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
SDL_WINDOW_SHOWN); SDL_WINDOW_SHOWN);
if (windowID == 0) { if (window == 0) {
fatalError("Could not initialize Window"); fatalError("Could not initialize Window");
} }
if (SDL_CreateRenderer(windowID, -1, 0) != 0) { if (SDL_CreateRenderer(window, -1, 0) != 0) {
fatalError("Could not create renderer"); fatalError("Could not create renderer");
} }

View file

@ -11,7 +11,7 @@
#define BRUSH_SIZE 32 /* width and height of the brush */ #define BRUSH_SIZE 32 /* width and height of the brush */
#define PIXELS_PER_ITERATION 5 /* number of pixels between brush blots when forming a line */ #define PIXELS_PER_ITERATION 5 /* number of pixels between brush blots when forming a line */
static SDL_TextureID brushID = 0; /* texture for the brush */ static SDL_Texture *brush = 0; /* texture for the brush */
/* /*
draws a line from (startx, starty) to (startx + dx, starty + dy) draws a line from (startx, starty) to (startx + dx, starty + dy)
@ -43,7 +43,7 @@ drawLine(float startx, float starty, float dx, float dy)
x += dx_prime; x += dx_prime;
y += dy_prime; y += dy_prime;
/* draw brush blot */ /* draw brush blot */
SDL_RenderCopy(brushID, NULL, &dstRect); SDL_RenderCopy(brush, NULL, &dstRect);
} }
} }
@ -58,16 +58,16 @@ initializeTexture()
if (bmp_surface == NULL) { if (bmp_surface == NULL) {
fatalError("could not load stroke.bmp"); fatalError("could not load stroke.bmp");
} }
brushID = brush =
SDL_CreateTextureFromSurface(SDL_PIXELFORMAT_ABGR8888, bmp_surface); SDL_CreateTextureFromSurface(SDL_PIXELFORMAT_ABGR8888, bmp_surface);
SDL_FreeSurface(bmp_surface); SDL_FreeSurface(bmp_surface);
if (brushID == 0) { if (brush == 0) {
fatalError("could not create brush texture"); fatalError("could not create brush texture");
} }
/* additive blending -- laying strokes on top of eachother makes them brighter */ /* additive blending -- laying strokes on top of eachother makes them brighter */
SDL_SetTextureBlendMode(brushID, SDL_BLENDMODE_ADD); SDL_SetTextureBlendMode(brush, SDL_BLENDMODE_ADD);
/* set brush color (red) */ /* set brush color (red) */
SDL_SetTextureColorMod(brushID, 255, 100, 100); SDL_SetTextureColorMod(brush, 255, 100, 100);
} }
int int
@ -77,7 +77,7 @@ main(int argc, char *argv[])
int x, y, dx, dy; /* mouse location */ int x, y, dx, dy; /* mouse location */
Uint8 state; /* mouse (touch) state */ Uint8 state; /* mouse (touch) state */
SDL_Event event; SDL_Event event;
SDL_WindowID windowID; /* main window */ SDL_Window *window; /* main window */
int done; /* does user want to quit? */ int done; /* does user want to quit? */
/* initialize SDL */ /* initialize SDL */
@ -86,10 +86,10 @@ main(int argc, char *argv[])
} }
/* create main window and renderer */ /* create main window and renderer */
windowID = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT, window = SDL_CreateWindow(NULL, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT,
SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN |
SDL_WINDOW_BORDERLESS); SDL_WINDOW_BORDERLESS);
SDL_CreateRenderer(windowID, 0, 0); SDL_CreateRenderer(window, 0, 0);
/*load brush texture */ /*load brush texture */
initializeTexture(); initializeTexture();
@ -118,7 +118,7 @@ main(int argc, char *argv[])
} }
/* cleanup */ /* cleanup */
SDL_DestroyTexture(brushID); SDL_DestroyTexture(brush);
SDL_Quit(); SDL_Quit();
return 0; return 0;

View file

@ -295,6 +295,8 @@ extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval);
extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval); extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval);
extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable); extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable);
#define SDL_TextureID SDL_Texture*
#define SDL_WindowID SDL_Window*
#define SDL_RenderPoint SDL_RenderDrawPoint #define SDL_RenderPoint SDL_RenderDrawPoint
#define SDL_RenderLine SDL_RenderDrawLine #define SDL_RenderLine SDL_RenderDrawLine
#define SDL_RenderFill(X) (X) ? SDL_RenderFillRect(X) : SDL_RenderClear() #define SDL_RenderFill(X) (X) ? SDL_RenderFillRect(X) : SDL_RenderClear()

View file

@ -127,7 +127,7 @@ typedef enum
typedef struct SDL_WindowEvent typedef struct SDL_WindowEvent
{ {
Uint8 type; /**< ::SDL_WINDOWEVENT */ Uint8 type; /**< ::SDL_WINDOWEVENT */
SDL_WindowID windowID; /**< The associated window */ Uint32 windowID; /**< The associated window */
Uint8 event; /**< ::SDL_WindowEventID */ Uint8 event; /**< ::SDL_WindowEventID */
int data1; /**< event dependent data */ int data1; /**< event dependent data */
int data2; /**< event dependent data */ int data2; /**< event dependent data */
@ -139,7 +139,7 @@ typedef struct SDL_WindowEvent
typedef struct SDL_KeyboardEvent typedef struct SDL_KeyboardEvent
{ {
Uint8 type; /**< ::SDL_KEYDOWN or ::SDL_KEYUP */ Uint8 type; /**< ::SDL_KEYDOWN or ::SDL_KEYUP */
SDL_WindowID windowID; /**< The window with keyboard focus, if any */ Uint32 windowID; /**< The window with keyboard focus, if any */
Uint8 which; /**< The keyboard device index */ Uint8 which; /**< The keyboard device index */
Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */ Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */
SDL_keysym keysym; /**< The key that was pressed or released */ SDL_keysym keysym; /**< The key that was pressed or released */
@ -165,7 +165,7 @@ typedef struct SDL_TextEditingEvent
typedef struct SDL_TextInputEvent typedef struct SDL_TextInputEvent
{ {
Uint8 type; /**< ::SDL_TEXTINPUT */ Uint8 type; /**< ::SDL_TEXTINPUT */
SDL_WindowID windowID; /**< The window with keyboard focus, if any */ Uint32 windowID; /**< The window with keyboard focus, if any */
Uint8 which; /**< The keyboard device index */ Uint8 which; /**< The keyboard device index */
char text[SDL_TEXTINPUTEVENT_TEXT_SIZE]; /**< The input text */ char text[SDL_TEXTINPUTEVENT_TEXT_SIZE]; /**< The input text */
} SDL_TextInputEvent; } SDL_TextInputEvent;
@ -176,7 +176,7 @@ typedef struct SDL_TextInputEvent
typedef struct SDL_MouseMotionEvent typedef struct SDL_MouseMotionEvent
{ {
Uint8 type; /**< ::SDL_MOUSEMOTION */ Uint8 type; /**< ::SDL_MOUSEMOTION */
SDL_WindowID windowID; /**< The window with mouse focus, if any */ Uint32 windowID; /**< The window with mouse focus, if any */
Uint8 which; /**< The mouse device index */ Uint8 which; /**< The mouse device index */
Uint8 state; /**< The current button state */ Uint8 state; /**< The current button state */
int x; /**< X coordinate, relative to window */ int x; /**< X coordinate, relative to window */
@ -199,7 +199,7 @@ typedef struct SDL_MouseMotionEvent
typedef struct SDL_MouseButtonEvent typedef struct SDL_MouseButtonEvent
{ {
Uint8 type; /**< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP */ Uint8 type; /**< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP */
SDL_WindowID windowID; /**< The window with mouse focus, if any */ Uint32 windowID; /**< The window with mouse focus, if any */
Uint8 which; /**< The mouse device index */ Uint8 which; /**< The mouse device index */
Uint8 button; /**< The mouse button index */ Uint8 button; /**< The mouse button index */
Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */ Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */
@ -213,7 +213,7 @@ typedef struct SDL_MouseButtonEvent
typedef struct SDL_MouseWheelEvent typedef struct SDL_MouseWheelEvent
{ {
Uint8 type; /**< ::SDL_MOUSEWHEEL */ Uint8 type; /**< ::SDL_MOUSEWHEEL */
SDL_WindowID windowID; /**< The window with mouse focus, if any */ Uint32 windowID; /**< The window with mouse focus, if any */
Uint8 which; /**< The mouse device index */ Uint8 which; /**< The mouse device index */
int x; /**< The amount scrolled horizontally */ int x; /**< The amount scrolled horizontally */
int y; /**< The amount scrolled vertically */ int y; /**< The amount scrolled vertically */
@ -284,7 +284,7 @@ typedef struct SDL_QuitEvent
typedef struct SDL_UserEvent typedef struct SDL_UserEvent
{ {
Uint8 type; /**< ::SDL_USEREVENT through ::SDL_NUMEVENTS-1 */ Uint8 type; /**< ::SDL_USEREVENT through ::SDL_NUMEVENTS-1 */
SDL_WindowID windowID; /**< The associated window if any*/ Uint32 windowID; /**< The associated window if any*/
int code; /**< User defined event code */ int code; /**< User defined event code */
void *data1; /**< User defined data pointer */ void *data1; /**< User defined data pointer */
void *data2; /**< User defined data pointer */ void *data2; /**< User defined data pointer */
@ -307,7 +307,7 @@ typedef struct SDL_SysWMEvent
typedef struct SDL_ProximityEvent typedef struct SDL_ProximityEvent
{ {
Uint8 type; Uint8 type;
SDL_WindowID windowID; /**< The associated window */ Uint32 windowID; /**< The associated window */
Uint8 which; Uint8 which;
int cursor; int cursor;
int x; int x;

View file

@ -75,7 +75,7 @@ extern DECLSPEC int SDLCALL SDL_SelectMouse(int index);
/** /**
* \brief Get the window which currently has focus for the specified mouse. * \brief Get the window which currently has focus for the specified mouse.
*/ */
extern DECLSPEC SDL_WindowID SDLCALL SDL_GetMouseFocusWindow(int index); extern DECLSPEC SDL_Window * SDLCALL SDL_GetMouseFocusWindow(int index);
/** /**
* \brief Set relative mouse mode for the specified mouse. * \brief Set relative mouse mode for the specified mouse.
@ -126,13 +126,13 @@ extern DECLSPEC Uint8 SDLCALL SDL_GetRelativeMouseState(int index, int *x,
/** /**
* \brief Moves the currently selected mouse to the given position within the window. * \brief Moves the currently selected mouse to the given position within the window.
* *
* \param windowID The window to move the mouse into, or 0 for the current mouse focus * \param window The window to move the mouse into, or NULL for the current mouse focus
* \param x The x coordinate within the window * \param x The x coordinate within the window
* \param y The y coordinate within the window * \param y The y coordinate within the window
* *
* \note This function generates a mouse motion event * \note This function generates a mouse motion event
*/ */
extern DECLSPEC void SDLCALL SDL_WarpMouseInWindow(SDL_WindowID windowID, extern DECLSPEC void SDLCALL SDL_WarpMouseInWindow(SDL_Window * window,
int x, int y); int x, int y);
/** /**

View file

@ -245,7 +245,7 @@ typedef struct SDL_SysWMinfo SDL_SysWMinfo;
* if ( SDL_GetWindowWMInfo(&info) ) { ... } * if ( SDL_GetWindowWMInfo(&info) ) { ... }
* \endcode * \endcode
*/ */
extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_WindowID windowID, extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window,
SDL_SysWMinfo * info); SDL_SysWMinfo * info);

View file

@ -88,7 +88,8 @@ typedef struct
* \sa SDL_SetWindowTitle() * \sa SDL_SetWindowTitle()
* \sa SDL_ShowWindow() * \sa SDL_ShowWindow()
*/ */
typedef Uint32 SDL_WindowID; struct SDL_Window;
typedef struct SDL_Window SDL_Window;
/** /**
* \brief The flags on a window * \brief The flags on a window
@ -248,7 +249,8 @@ typedef enum
/** /**
* \brief An efficient driver-specific representation of pixel data * \brief An efficient driver-specific representation of pixel data
*/ */
typedef Uint32 SDL_TextureID; struct SDL_Texture;
typedef struct SDL_Texture SDL_Texture;
/** /**
* \brief An opaque handle to an OpenGL context. * \brief An opaque handle to an OpenGL context.
@ -449,7 +451,7 @@ extern DECLSPEC SDL_DisplayMode *SDLCALL SDL_GetClosestDisplayMode(const
* \sa SDL_GetWindowDisplayMode() * \sa SDL_GetWindowDisplayMode()
* \sa SDL_SetWindowFullscreen() * \sa SDL_SetWindowFullscreen()
*/ */
extern DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_WindowID windowID, extern DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_Window * window,
const SDL_DisplayMode const SDL_DisplayMode
* mode); * mode);
@ -460,7 +462,7 @@ extern DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_WindowID windowID,
* \sa SDL_SetWindowDisplayMode() * \sa SDL_SetWindowDisplayMode()
* \sa SDL_SetWindowFullscreen() * \sa SDL_SetWindowFullscreen()
*/ */
extern DECLSPEC int SDLCALL SDL_GetWindowDisplayMode(SDL_WindowID windowID, extern DECLSPEC int SDLCALL SDL_GetWindowDisplayMode(SDL_Window * window,
SDL_DisplayMode * mode); SDL_DisplayMode * mode);
/** /**
@ -551,7 +553,7 @@ extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 * red, Uint16 * green,
* *
* \sa SDL_DestroyWindow() * \sa SDL_DestroyWindow()
*/ */
extern DECLSPEC SDL_WindowID SDLCALL SDL_CreateWindow(const char *title, extern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindow(const char *title,
int x, int y, int w, int x, int y, int w,
int h, Uint32 flags); int h, Uint32 flags);
@ -564,19 +566,29 @@ extern DECLSPEC SDL_WindowID SDLCALL SDL_CreateWindow(const char *title,
* *
* \sa SDL_DestroyWindow() * \sa SDL_DestroyWindow()
*/ */
extern DECLSPEC SDL_WindowID SDLCALL SDL_CreateWindowFrom(const void *data); extern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindowFrom(const void *data);
/**
* \brief Get the numeric ID of the window, for logging purposes.
*/
extern DECLSPEC Uint32 SDLCALL SDL_GetWindowID(SDL_Window * window);
/**
* \brief Get a window from a stored ID, or NULL if it doesn't exist.
*/
extern DECLSPEC SDL_Window * SDLCALL SDL_GetWindowFromID(Uint32 id);
/** /**
* \brief Get the window flags. * \brief Get the window flags.
*/ */
extern DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_WindowID windowID); extern DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_Window * window);
/** /**
* \brief Set the title of the window, in UTF-8 format. * \brief Set the title of the window, in UTF-8 format.
* *
* \sa SDL_GetWindowTitle() * \sa SDL_GetWindowTitle()
*/ */
extern DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_WindowID windowID, extern DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_Window * window,
const char *title); const char *title);
/** /**
@ -584,14 +596,14 @@ extern DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_WindowID windowID,
* *
* \sa SDL_SetWindowTitle() * \sa SDL_SetWindowTitle()
*/ */
extern DECLSPEC const char *SDLCALL SDL_GetWindowTitle(SDL_WindowID windowID); extern DECLSPEC const char *SDLCALL SDL_GetWindowTitle(SDL_Window * window);
/** /**
* \brief Set the icon of the window. * \brief Set the icon of the window.
* *
* \param icon The icon for the window. * \param icon The icon for the window.
*/ */
extern DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_WindowID windowID, extern DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_Window * window,
SDL_Surface * icon); SDL_Surface * icon);
/** /**
@ -599,7 +611,7 @@ extern DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_WindowID windowID,
* *
* \sa SDL_GetWindowData() * \sa SDL_GetWindowData()
*/ */
extern DECLSPEC void SDLCALL SDL_SetWindowData(SDL_WindowID windowID, extern DECLSPEC void SDLCALL SDL_SetWindowData(SDL_Window * window,
void *userdata); void *userdata);
/** /**
@ -607,12 +619,12 @@ extern DECLSPEC void SDLCALL SDL_SetWindowData(SDL_WindowID windowID,
* *
* \sa SDL_SetWindowData() * \sa SDL_SetWindowData()
*/ */
extern DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_WindowID windowID); extern DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_Window * window);
/** /**
* \brief Set the position of the window. * \brief Set the position of the window.
* *
* \param windowID The window to reposition. * \param window The window to reposition.
* \param x The x coordinate of the window, ::SDL_WINDOWPOS_CENTERED, or * \param x The x coordinate of the window, ::SDL_WINDOWPOS_CENTERED, or
::SDL_WINDOWPOS_UNDEFINED. ::SDL_WINDOWPOS_UNDEFINED.
* \param y The y coordinate of the window, ::SDL_WINDOWPOS_CENTERED, or * \param y The y coordinate of the window, ::SDL_WINDOWPOS_CENTERED, or
@ -622,7 +634,7 @@ extern DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_WindowID windowID);
* *
* \sa SDL_GetWindowPosition() * \sa SDL_GetWindowPosition()
*/ */
extern DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_WindowID windowID, extern DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_Window * window,
int x, int y); int x, int y);
/** /**
@ -630,7 +642,7 @@ extern DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_WindowID windowID,
* *
* \sa SDL_SetWindowPosition() * \sa SDL_SetWindowPosition()
*/ */
extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_WindowID windowID, extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window,
int *x, int *y); int *x, int *y);
/** /**
@ -641,7 +653,7 @@ extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_WindowID windowID,
* *
* \sa SDL_GetWindowSize() * \sa SDL_GetWindowSize()
*/ */
extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_WindowID windowID, int w, extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window * window, int w,
int h); int h);
/** /**
@ -649,7 +661,7 @@ extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_WindowID windowID, int w,
* *
* \sa SDL_SetWindowSize() * \sa SDL_SetWindowSize()
*/ */
extern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_WindowID windowID, int *w, extern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_Window * window, int *w,
int *h); int *h);
/** /**
@ -657,33 +669,33 @@ extern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_WindowID windowID, int *w,
* *
* \sa SDL_HideWindow() * \sa SDL_HideWindow()
*/ */
extern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window * window);
/** /**
* \brief Hide the window. * \brief Hide the window.
* *
* \sa SDL_ShowWindow() * \sa SDL_ShowWindow()
*/ */
extern DECLSPEC void SDLCALL SDL_HideWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_HideWindow(SDL_Window * window);
/** /**
* \brief Raise the window above other windows and set the input focus. * \brief Raise the window above other windows and set the input focus.
*/ */
extern DECLSPEC void SDLCALL SDL_RaiseWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_RaiseWindow(SDL_Window * window);
/** /**
* \brief Make the window as large as possible. * \brief Make the window as large as possible.
* *
* \sa SDL_RestoreWindow() * \sa SDL_RestoreWindow()
*/ */
extern DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_Window * window);
/** /**
* \brief Minimize the window to an iconic representation. * \brief Minimize the window to an iconic representation.
* *
* \sa SDL_RestoreWindow() * \sa SDL_RestoreWindow()
*/ */
extern DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_Window * window);
/** /**
* \brief Restore the size and position of a minimized or maximized window. * \brief Restore the size and position of a minimized or maximized window.
@ -691,7 +703,7 @@ extern DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_WindowID windowID);
* \sa SDL_MaximizeWindow() * \sa SDL_MaximizeWindow()
* \sa SDL_MinimizeWindow() * \sa SDL_MinimizeWindow()
*/ */
extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window * window);
/** /**
* \brief Set the window's fullscreen state. * \brief Set the window's fullscreen state.
@ -701,7 +713,7 @@ extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_WindowID windowID);
* \sa SDL_SetWindowDisplayMode() * \sa SDL_SetWindowDisplayMode()
* \sa SDL_GetWindowDisplayMode() * \sa SDL_GetWindowDisplayMode()
*/ */
extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_WindowID windowID, extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window,
int fullscreen); int fullscreen);
/** /**
@ -711,7 +723,7 @@ extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_WindowID windowID,
* *
* \sa SDL_GetWindowGrab() * \sa SDL_GetWindowGrab()
*/ */
extern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_WindowID windowID, extern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_Window * window,
int mode); int mode);
/** /**
@ -721,7 +733,7 @@ extern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_WindowID windowID,
* *
* \sa SDL_SetWindowGrab() * \sa SDL_SetWindowGrab()
*/ */
extern DECLSPEC int SDLCALL SDL_GetWindowGrab(SDL_WindowID windowID); extern DECLSPEC int SDLCALL SDL_GetWindowGrab(SDL_Window * window);
/** /**
* \brief Get driver specific information about a window. * \brief Get driver specific information about a window.
@ -729,14 +741,14 @@ extern DECLSPEC int SDLCALL SDL_GetWindowGrab(SDL_WindowID windowID);
* \note Include SDL_syswm.h for the declaration of SDL_SysWMinfo. * \note Include SDL_syswm.h for the declaration of SDL_SysWMinfo.
*/ */
struct SDL_SysWMinfo; struct SDL_SysWMinfo;
extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_WindowID windowID, extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowWMInfo(SDL_Window * window,
struct SDL_SysWMinfo struct SDL_SysWMinfo
*info); *info);
/** /**
* \brief Destroy a window. * \brief Destroy a window.
*/ */
extern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_Window * window);
/** /**
* \brief Get the number of 2D rendering drivers available for the current * \brief Get the number of 2D rendering drivers available for the current
@ -769,7 +781,7 @@ extern DECLSPEC int SDLCALL SDL_GetRenderDriverInfo(int index,
/** /**
* \brief Create and make active a 2D rendering context for a window. * \brief Create and make active a 2D rendering context for a window.
* *
* \param windowID The window where rendering is displayed. * \param window The window where rendering is displayed.
* \param index The index of the rendering driver to initialize, or -1 to * \param index The index of the rendering driver to initialize, or -1 to
* initialize the first one supporting the requested flags. * initialize the first one supporting the requested flags.
* \param flags ::SDL_RendererFlags. * \param flags ::SDL_RendererFlags.
@ -780,7 +792,7 @@ extern DECLSPEC int SDLCALL SDL_GetRenderDriverInfo(int index,
* \sa SDL_GetRendererInfo() * \sa SDL_GetRendererInfo()
* \sa SDL_DestroyRenderer() * \sa SDL_DestroyRenderer()
*/ */
extern DECLSPEC int SDLCALL SDL_CreateRenderer(SDL_WindowID windowID, extern DECLSPEC int SDLCALL SDL_CreateRenderer(SDL_Window * window,
int index, Uint32 flags); int index, Uint32 flags);
/** /**
@ -789,7 +801,7 @@ extern DECLSPEC int SDLCALL SDL_CreateRenderer(SDL_WindowID windowID,
* \return 0 on success, -1 if the selected window doesn't have a * \return 0 on success, -1 if the selected window doesn't have a
* rendering context. * rendering context.
*/ */
extern DECLSPEC int SDLCALL SDL_SelectRenderer(SDL_WindowID windowID); extern DECLSPEC int SDLCALL SDL_SelectRenderer(SDL_Window * window);
/** /**
* \brief Get information about the current rendering context. * \brief Get information about the current rendering context.
@ -811,7 +823,7 @@ extern DECLSPEC int SDLCALL SDL_GetRendererInfo(SDL_RendererInfo * info);
* \sa SDL_QueryTexture() * \sa SDL_QueryTexture()
* \sa SDL_DestroyTexture() * \sa SDL_DestroyTexture()
*/ */
extern DECLSPEC SDL_TextureID SDLCALL SDL_CreateTexture(Uint32 format, extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTexture(Uint32 format,
int access, int w, int access, int w,
int h); int h);
@ -830,7 +842,7 @@ extern DECLSPEC SDL_TextureID SDLCALL SDL_CreateTexture(Uint32 format,
* \sa SDL_QueryTexture() * \sa SDL_QueryTexture()
* \sa SDL_DestroyTexture() * \sa SDL_DestroyTexture()
*/ */
extern DECLSPEC SDL_TextureID SDLCALL SDL_CreateTextureFromSurface(Uint32 extern DECLSPEC SDL_Texture * SDLCALL SDL_CreateTextureFromSurface(Uint32
format, format,
SDL_Surface SDL_Surface
* surface); * surface);
@ -838,7 +850,7 @@ extern DECLSPEC SDL_TextureID SDLCALL SDL_CreateTextureFromSurface(Uint32
/** /**
* \brief Query the attributes of a texture * \brief Query the attributes of a texture
* *
* \param textureID A texture to be queried. * \param texture A texture to be queried.
* \param format A pointer filled in with the raw format of the texture. The * \param format A pointer filled in with the raw format of the texture. The
* actual format may differ, but pixel transfers will use this * actual format may differ, but pixel transfers will use this
* format. * format.
@ -848,7 +860,7 @@ extern DECLSPEC SDL_TextureID SDLCALL SDL_CreateTextureFromSurface(Uint32
* *
* \return 0 on success, or -1 if the texture is not valid. * \return 0 on success, or -1 if the texture is not valid.
*/ */
extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_Texture * texture,
Uint32 * format, int *access, Uint32 * format, int *access,
int *w, int *h); int *w, int *h);
@ -856,7 +868,7 @@ extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_TextureID textureID,
* \brief Query the pixels of a texture, if the texture does not need to be * \brief Query the pixels of a texture, if the texture does not need to be
* locked for pixel access. * locked for pixel access.
* *
* \param textureID A texture to be queried, which was created with * \param texture A texture to be queried, which was created with
* ::SDL_TEXTUREACCESS_STREAMING. * ::SDL_TEXTUREACCESS_STREAMING.
* \param pixels A pointer filled with a pointer to the pixels for the * \param pixels A pointer filled with a pointer to the pixels for the
* texture. * texture.
@ -865,13 +877,13 @@ extern DECLSPEC int SDLCALL SDL_QueryTexture(SDL_TextureID textureID,
* \return 0 on success, or -1 if the texture is not valid, or must be locked * \return 0 on success, or -1 if the texture is not valid, or must be locked
* for pixel access. * for pixel access.
*/ */
extern DECLSPEC int SDLCALL SDL_QueryTexturePixels(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_QueryTexturePixels(SDL_Texture * texture,
void **pixels, int *pitch); void **pixels, int *pitch);
/** /**
* \brief Set the color palette of an indexed texture. * \brief Set the color palette of an indexed texture.
* *
* \param textureID The texture to update. * \param texture The texture to update.
* \param colors The array of RGB color data. * \param colors The array of RGB color data.
* \param firstcolor The first index to update. * \param firstcolor The first index to update.
* \param ncolors The number of palette entries to fill with the color data. * \param ncolors The number of palette entries to fill with the color data.
@ -879,7 +891,7 @@ extern DECLSPEC int SDLCALL SDL_QueryTexturePixels(SDL_TextureID textureID,
* \return 0 on success, or -1 if the texture is not valid or not an indexed * \return 0 on success, or -1 if the texture is not valid or not an indexed
* texture. * texture.
*/ */
extern DECLSPEC int SDLCALL SDL_SetTexturePalette(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_SetTexturePalette(SDL_Texture * texture,
const SDL_Color * colors, const SDL_Color * colors,
int firstcolor, int firstcolor,
int ncolors); int ncolors);
@ -887,7 +899,7 @@ extern DECLSPEC int SDLCALL SDL_SetTexturePalette(SDL_TextureID textureID,
/** /**
* \brief Get the color palette from an indexed texture if it has one. * \brief Get the color palette from an indexed texture if it has one.
* *
* \param textureID The texture to update. * \param texture The texture to update.
* \param colors The array to fill with RGB color data. * \param colors The array to fill with RGB color data.
* \param firstcolor The first index to retrieve. * \param firstcolor The first index to retrieve.
* \param ncolors The number of palette entries to retrieve. * \param ncolors The number of palette entries to retrieve.
@ -895,7 +907,7 @@ extern DECLSPEC int SDLCALL SDL_SetTexturePalette(SDL_TextureID textureID,
* \return 0 on success, or -1 if the texture is not valid or not an indexed * \return 0 on success, or -1 if the texture is not valid or not an indexed
* texture. * texture.
*/ */
extern DECLSPEC int SDLCALL SDL_GetTexturePalette(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_GetTexturePalette(SDL_Texture * texture,
SDL_Color * colors, SDL_Color * colors,
int firstcolor, int firstcolor,
int ncolors); int ncolors);
@ -903,7 +915,7 @@ extern DECLSPEC int SDLCALL SDL_GetTexturePalette(SDL_TextureID textureID,
/** /**
* \brief Set an additional color value used in render copy operations. * \brief Set an additional color value used in render copy operations.
* *
* \param textureID The texture to update. * \param texture The texture to update.
* \param r The red source color value multiplied into copy operations. * \param r The red source color value multiplied into copy operations.
* \param g The green source color value multiplied into copy operations. * \param g The green source color value multiplied into copy operations.
* \param b The blue source color value multiplied into copy operations. * \param b The blue source color value multiplied into copy operations.
@ -913,14 +925,14 @@ extern DECLSPEC int SDLCALL SDL_GetTexturePalette(SDL_TextureID textureID,
* *
* \sa SDL_GetTextureColorMod() * \sa SDL_GetTextureColorMod()
*/ */
extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_Texture * texture,
Uint8 r, Uint8 g, Uint8 b); Uint8 r, Uint8 g, Uint8 b);
/** /**
* \brief Get the additional color value used in render copy operations. * \brief Get the additional color value used in render copy operations.
* *
* \param textureID The texture to query. * \param texture The texture to query.
* \param r A pointer filled in with the source red color value. * \param r A pointer filled in with the source red color value.
* \param g A pointer filled in with the source green color value. * \param g A pointer filled in with the source green color value.
* \param b A pointer filled in with the source blue color value. * \param b A pointer filled in with the source blue color value.
@ -929,14 +941,14 @@ extern DECLSPEC int SDLCALL SDL_SetTextureColorMod(SDL_TextureID textureID,
* *
* \sa SDL_SetTextureColorMod() * \sa SDL_SetTextureColorMod()
*/ */
extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_Texture * texture,
Uint8 * r, Uint8 * g, Uint8 * r, Uint8 * g,
Uint8 * b); Uint8 * b);
/** /**
* \brief Set an additional alpha value used in render copy operations. * \brief Set an additional alpha value used in render copy operations.
* *
* \param textureID The texture to update. * \param texture The texture to update.
* \param alpha The source alpha value multiplied into copy operations. * \param alpha The source alpha value multiplied into copy operations.
* *
* \return 0 on success, or -1 if the texture is not valid or alpha modulation * \return 0 on success, or -1 if the texture is not valid or alpha modulation
@ -944,26 +956,26 @@ extern DECLSPEC int SDLCALL SDL_GetTextureColorMod(SDL_TextureID textureID,
* *
* \sa SDL_GetTextureAlphaMod() * \sa SDL_GetTextureAlphaMod()
*/ */
extern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_SetTextureAlphaMod(SDL_Texture * texture,
Uint8 alpha); Uint8 alpha);
/** /**
* \brief Get the additional alpha value used in render copy operations. * \brief Get the additional alpha value used in render copy operations.
* *
* \param textureID The texture to query. * \param texture The texture to query.
* \param alpha A pointer filled in with the source alpha value. * \param alpha A pointer filled in with the source alpha value.
* *
* \return 0 on success, or -1 if the texture is not valid. * \return 0 on success, or -1 if the texture is not valid.
* *
* \sa SDL_SetTextureAlphaMod() * \sa SDL_SetTextureAlphaMod()
*/ */
extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_Texture * texture,
Uint8 * alpha); Uint8 * alpha);
/** /**
* \brief Set the blend mode used for texture copy operations. * \brief Set the blend mode used for texture copy operations.
* *
* \param textureID The texture to update. * \param texture The texture to update.
* \param blendMode ::SDL_BlendMode to use for texture blending. * \param blendMode ::SDL_BlendMode to use for texture blending.
* *
* \return 0 on success, or -1 if the texture is not valid or the blend mode is * \return 0 on success, or -1 if the texture is not valid or the blend mode is
@ -974,26 +986,26 @@ extern DECLSPEC int SDLCALL SDL_GetTextureAlphaMod(SDL_TextureID textureID,
* *
* \sa SDL_GetTextureBlendMode() * \sa SDL_GetTextureBlendMode()
*/ */
extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_SetTextureBlendMode(SDL_Texture * texture,
int blendMode); int blendMode);
/** /**
* \brief Get the blend mode used for texture copy operations. * \brief Get the blend mode used for texture copy operations.
* *
* \param textureID The texture to query. * \param texture The texture to query.
* \param blendMode A pointer filled in with the current blend mode. * \param blendMode A pointer filled in with the current blend mode.
* *
* \return 0 on success, or -1 if the texture is not valid. * \return 0 on success, or -1 if the texture is not valid.
* *
* \sa SDL_SetTextureBlendMode() * \sa SDL_SetTextureBlendMode()
*/ */
extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_Texture * texture,
int *blendMode); int *blendMode);
/** /**
* \brief Set the scale mode used for texture copy operations. * \brief Set the scale mode used for texture copy operations.
* *
* \param textureID The texture to update. * \param texture The texture to update.
* \param scaleMode ::SDL_TextureScaleMode to use for texture scaling. * \param scaleMode ::SDL_TextureScaleMode to use for texture scaling.
* *
* \return 0 on success, or -1 if the texture is not valid or the scale mode is * \return 0 on success, or -1 if the texture is not valid or the scale mode is
@ -1004,26 +1016,26 @@ extern DECLSPEC int SDLCALL SDL_GetTextureBlendMode(SDL_TextureID textureID,
* *
* \sa SDL_GetTextureScaleMode() * \sa SDL_GetTextureScaleMode()
*/ */
extern DECLSPEC int SDLCALL SDL_SetTextureScaleMode(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_SetTextureScaleMode(SDL_Texture * texture,
int scaleMode); int scaleMode);
/** /**
* \brief Get the scale mode used for texture copy operations. * \brief Get the scale mode used for texture copy operations.
* *
* \param textureID The texture to query. * \param texture The texture to query.
* \param scaleMode A pointer filled in with the current scale mode. * \param scaleMode A pointer filled in with the current scale mode.
* *
* \return 0 on success, or -1 if the texture is not valid. * \return 0 on success, or -1 if the texture is not valid.
* *
* \sa SDL_SetTextureScaleMode() * \sa SDL_SetTextureScaleMode()
*/ */
extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_Texture * texture,
int *scaleMode); int *scaleMode);
/** /**
* \brief Update the given texture rectangle with new pixel data. * \brief Update the given texture rectangle with new pixel data.
* *
* \param textureID The texture to update * \param texture The texture to update
* \param rect A pointer to the rectangle of pixels to update, or NULL to * \param rect A pointer to the rectangle of pixels to update, or NULL to
* update the entire texture. * update the entire texture.
* \param pixels The raw pixel data. * \param pixels The raw pixel data.
@ -1033,14 +1045,14 @@ extern DECLSPEC int SDLCALL SDL_GetTextureScaleMode(SDL_TextureID textureID,
* *
* \note This is a fairly slow function. * \note This is a fairly slow function.
*/ */
extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_Texture * texture,
const SDL_Rect * rect, const SDL_Rect * rect,
const void *pixels, int pitch); const void *pixels, int pitch);
/** /**
* \brief Lock a portion of the texture for pixel access. * \brief Lock a portion of the texture for pixel access.
* *
* \param textureID The texture to lock for access, which was created with * \param texture The texture to lock for access, which was created with
* ::SDL_TEXTUREACCESS_STREAMING. * ::SDL_TEXTUREACCESS_STREAMING.
* \param rect A pointer to the rectangle to lock for access. If the rect * \param rect A pointer to the rectangle to lock for access. If the rect
* is NULL, the entire texture will be locked. * is NULL, the entire texture will be locked.
@ -1056,7 +1068,7 @@ extern DECLSPEC int SDLCALL SDL_UpdateTexture(SDL_TextureID textureID,
* \sa SDL_DirtyTexture() * \sa SDL_DirtyTexture()
* \sa SDL_UnlockTexture() * \sa SDL_UnlockTexture()
*/ */
extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_Texture * texture,
const SDL_Rect * rect, const SDL_Rect * rect,
int markDirty, void **pixels, int markDirty, void **pixels,
int *pitch); int *pitch);
@ -1067,12 +1079,12 @@ extern DECLSPEC int SDLCALL SDL_LockTexture(SDL_TextureID textureID,
* \sa SDL_LockTexture() * \sa SDL_LockTexture()
* \sa SDL_DirtyTexture() * \sa SDL_DirtyTexture()
*/ */
extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_TextureID textureID); extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_Texture * texture);
/** /**
* \brief Mark the specified rectangles of the texture as dirty. * \brief Mark the specified rectangles of the texture as dirty.
* *
* \param textureID The texture to mark dirty, which was created with * \param texture The texture to mark dirty, which was created with
* ::SDL_TEXTUREACCESS_STREAMING. * ::SDL_TEXTUREACCESS_STREAMING.
* \param numrects The number of rectangles pointed to by rects. * \param numrects The number of rectangles pointed to by rects.
* \param rects The pointer to an array of dirty rectangles. * \param rects The pointer to an array of dirty rectangles.
@ -1080,7 +1092,7 @@ extern DECLSPEC void SDLCALL SDL_UnlockTexture(SDL_TextureID textureID);
* \sa SDL_LockTexture() * \sa SDL_LockTexture()
* \sa SDL_UnlockTexture() * \sa SDL_UnlockTexture()
*/ */
extern DECLSPEC void SDLCALL SDL_DirtyTexture(SDL_TextureID textureID, extern DECLSPEC void SDLCALL SDL_DirtyTexture(SDL_Texture * texture,
int numrects, int numrects,
const SDL_Rect * rects); const SDL_Rect * rects);
@ -1228,7 +1240,7 @@ extern DECLSPEC int SDLCALL SDL_RenderFillRects(const SDL_Rect ** rect, int coun
/** /**
* \brief Copy a portion of the texture to the current rendering target. * \brief Copy a portion of the texture to the current rendering target.
* *
* \param textureID The source texture. * \param texture The source texture.
* \param srcrect A pointer to the source rectangle, or NULL for the entire * \param srcrect A pointer to the source rectangle, or NULL for the entire
* texture. * texture.
* \param dstrect A pointer to the destination rectangle, or NULL for the * \param dstrect A pointer to the destination rectangle, or NULL for the
@ -1237,7 +1249,7 @@ extern DECLSPEC int SDLCALL SDL_RenderFillRects(const SDL_Rect ** rect, int coun
* \return 0 on success, or -1 if there is no rendering context current, or the * \return 0 on success, or -1 if there is no rendering context current, or the
* driver doesn't support the requested operation. * driver doesn't support the requested operation.
*/ */
extern DECLSPEC int SDLCALL SDL_RenderCopy(SDL_TextureID textureID, extern DECLSPEC int SDLCALL SDL_RenderCopy(SDL_Texture * texture,
const SDL_Rect * srcrect, const SDL_Rect * srcrect,
const SDL_Rect * dstrect); const SDL_Rect * dstrect);
@ -1289,7 +1301,7 @@ extern DECLSPEC void SDLCALL SDL_RenderPresent(void);
* \sa SDL_CreateTexture() * \sa SDL_CreateTexture()
* \sa SDL_CreateTextureFromSurface() * \sa SDL_CreateTextureFromSurface()
*/ */
extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_TextureID textureID); extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture);
/** /**
* \brief Destroy the rendering context for a window and free associated * \brief Destroy the rendering context for a window and free associated
@ -1297,7 +1309,7 @@ extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_TextureID textureID);
* *
* \sa SDL_CreateRenderer() * \sa SDL_CreateRenderer()
*/ */
extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_DestroyRenderer(SDL_Window * window);
/** /**
* \brief Returns whether the screensaver is currently enabled (default off). * \brief Returns whether the screensaver is currently enabled (default off).
@ -1384,15 +1396,15 @@ extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
* *
* \sa SDL_GL_DeleteContext() * \sa SDL_GL_DeleteContext()
*/ */
extern DECLSPEC SDL_GLContext SDLCALL SDL_GL_CreateContext(SDL_WindowID extern DECLSPEC SDL_GLContext SDLCALL SDL_GL_CreateContext(SDL_Window *
windowID); window);
/** /**
* \brief Set up an OpenGL context for rendering into an OpenGL window. * \brief Set up an OpenGL context for rendering into an OpenGL window.
* *
* \note The context must have been created with a compatible window. * \note The context must have been created with a compatible window.
*/ */
extern DECLSPEC int SDLCALL SDL_GL_MakeCurrent(SDL_WindowID windowID, extern DECLSPEC int SDLCALL SDL_GL_MakeCurrent(SDL_Window * window,
SDL_GLContext context); SDL_GLContext context);
/** /**
@ -1422,7 +1434,7 @@ extern DECLSPEC int SDLCALL SDL_GL_GetSwapInterval(void);
* \brief Swap the OpenGL buffers for the window, if double-buffering is * \brief Swap the OpenGL buffers for the window, if double-buffering is
* supported. * supported.
*/ */
extern DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_WindowID windowID); extern DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_Window * window);
/** /**
* \brief Delete an OpenGL context. * \brief Delete an OpenGL context.

View file

@ -265,7 +265,7 @@ SDL_PromptAssertion(const SDL_assert_data *data, void *userdata)
{ {
const char *envr; const char *envr;
SDL_assert_state state = SDL_ASSERTION_ABORT; SDL_assert_state state = SDL_ASSERTION_ABORT;
SDL_WindowID window; SDL_Window *window;
(void) userdata; /* unused in default handler. */ (void) userdata; /* unused in default handler. */

View file

@ -30,9 +30,9 @@
#include "video/SDL_pixels_c.h" #include "video/SDL_pixels_c.h"
#include "video/SDL_yuv_sw_c.h" #include "video/SDL_yuv_sw_c.h"
static SDL_WindowID SDL_VideoWindow = 0; static SDL_Window *SDL_VideoWindow = NULL;
static SDL_RendererInfo SDL_VideoRendererInfo; static SDL_RendererInfo SDL_VideoRendererInfo;
static SDL_TextureID SDL_VideoTexture = 0; static SDL_Texture *SDL_VideoTexture = NULL;
static SDL_Surface *SDL_VideoSurface = NULL; static SDL_Surface *SDL_VideoSurface = NULL;
static SDL_Surface *SDL_ShadowSurface = NULL; static SDL_Surface *SDL_ShadowSurface = NULL;
static SDL_Surface *SDL_PublicSurface = NULL; static SDL_Surface *SDL_PublicSurface = NULL;
@ -294,7 +294,7 @@ SDL_CompatEventFilter(void *userdata, SDL_Event * event)
button = SDL_BUTTON_WHEELDOWN; button = SDL_BUTTON_WHEELDOWN;
} }
fake.button.which = event->wheel.windowID; fake.button.which = event->wheel.which;
fake.button.button = button; fake.button.button = button;
fake.button.x = x; fake.button.x = x;
fake.button.y = y; fake.button.y = y;
@ -357,7 +357,7 @@ GetEnvironmentWindowPosition(int w, int h, int *x, int *y)
} }
static SDL_Surface * static SDL_Surface *
CreateVideoSurface(SDL_TextureID textureID) CreateVideoSurface(SDL_Texture * texture)
{ {
SDL_Surface *surface; SDL_Surface *surface;
Uint32 format; Uint32 format;
@ -367,7 +367,7 @@ CreateVideoSurface(SDL_TextureID textureID)
void *pixels; void *pixels;
int pitch; int pitch;
if (SDL_QueryTexture(textureID, &format, NULL, &w, &h) < 0) { if (SDL_QueryTexture(texture, &format, NULL, &w, &h) < 0) {
return NULL; return NULL;
} }
@ -377,7 +377,7 @@ CreateVideoSurface(SDL_TextureID textureID)
return NULL; return NULL;
} }
if (SDL_QueryTexturePixels(textureID, &pixels, &pitch) == 0) { if (SDL_QueryTexturePixels(texture, &pixels, &pitch) == 0) {
surface = surface =
SDL_CreateRGBSurfaceFrom(pixels, w, h, bpp, pitch, Rmask, Gmask, SDL_CreateRGBSurfaceFrom(pixels, w, h, bpp, pitch, Rmask, Gmask,
Bmask, Amask); Bmask, Amask);
@ -1504,7 +1504,7 @@ struct private_yuvhwdata
SDL_SW_YUVTexture *sw; SDL_SW_YUVTexture *sw;
SDL_TextureID textureID; SDL_Texture *texture;
Uint32 texture_format; Uint32 texture_format;
}; };
@ -1585,9 +1585,9 @@ SDL_CreateYUVOverlay(int w, int h, Uint32 format, SDL_Surface * display)
break; break;
} }
overlay->hwdata->textureID = overlay->hwdata->texture =
SDL_CreateTexture(texture_format, SDL_TEXTUREACCESS_STREAMING, w, h); SDL_CreateTexture(texture_format, SDL_TEXTUREACCESS_STREAMING, w, h);
if (overlay->hwdata->textureID) { if (overlay->hwdata->texture) {
overlay->hwdata->sw = NULL; overlay->hwdata->sw = NULL;
} else { } else {
SDL_DisplayMode current_mode; SDL_DisplayMode current_mode;
@ -1601,11 +1601,11 @@ SDL_CreateYUVOverlay(int w, int h, Uint32 format, SDL_Surface * display)
/* Create a supported RGB format texture for display */ /* Create a supported RGB format texture for display */
SDL_GetCurrentDisplayMode(&current_mode); SDL_GetCurrentDisplayMode(&current_mode);
texture_format = current_mode.format; texture_format = current_mode.format;
overlay->hwdata->textureID = overlay->hwdata->texture =
SDL_CreateTexture(texture_format, SDL_CreateTexture(texture_format,
SDL_TEXTUREACCESS_STREAMING, w, h); SDL_TEXTUREACCESS_STREAMING, w, h);
} }
if (!overlay->hwdata->textureID) { if (!overlay->hwdata->texture) {
SDL_FreeYUVOverlay(overlay); SDL_FreeYUVOverlay(overlay);
return NULL; return NULL;
} }
@ -1631,7 +1631,7 @@ SDL_LockYUVOverlay(SDL_Overlay * overlay)
} }
} else { } else {
if (SDL_LockTexture if (SDL_LockTexture
(overlay->hwdata->textureID, NULL, 1, &pixels, &pitch) (overlay->hwdata->texture, NULL, 1, &pixels, &pitch)
< 0) { < 0) {
return -1; return -1;
} }
@ -1666,7 +1666,7 @@ SDL_UnlockYUVOverlay(SDL_Overlay * overlay)
void *pixels; void *pixels;
int pitch; int pitch;
if (SDL_LockTexture if (SDL_LockTexture
(overlay->hwdata->textureID, NULL, 1, &pixels, &pitch) == 0) { (overlay->hwdata->texture, NULL, 1, &pixels, &pitch) == 0) {
SDL_Rect srcrect; SDL_Rect srcrect;
srcrect.x = 0; srcrect.x = 0;
@ -1676,10 +1676,10 @@ SDL_UnlockYUVOverlay(SDL_Overlay * overlay)
SDL_SW_CopyYUVToRGB(overlay->hwdata->sw, &srcrect, SDL_SW_CopyYUVToRGB(overlay->hwdata->sw, &srcrect,
overlay->hwdata->texture_format, overlay->hwdata->texture_format,
overlay->w, overlay->h, pixels, pitch); overlay->w, overlay->h, pixels, pitch);
SDL_UnlockTexture(overlay->hwdata->textureID); SDL_UnlockTexture(overlay->hwdata->texture);
} }
} else { } else {
SDL_UnlockTexture(overlay->hwdata->textureID); SDL_UnlockTexture(overlay->hwdata->texture);
} }
} }
@ -1690,7 +1690,7 @@ SDL_DisplayYUVOverlay(SDL_Overlay * overlay, SDL_Rect * dstrect)
SDL_SetError("Passed a NULL overlay or dstrect"); SDL_SetError("Passed a NULL overlay or dstrect");
return -1; return -1;
} }
if (SDL_RenderCopy(overlay->hwdata->textureID, NULL, dstrect) < 0) { if (SDL_RenderCopy(overlay->hwdata->texture, NULL, dstrect) < 0) {
return -1; return -1;
} }
SDL_RenderPresent(); SDL_RenderPresent();
@ -1704,8 +1704,8 @@ SDL_FreeYUVOverlay(SDL_Overlay * overlay)
return; return;
} }
if (overlay->hwdata) { if (overlay->hwdata) {
if (overlay->hwdata->textureID) { if (overlay->hwdata->texture) {
SDL_DestroyTexture(overlay->hwdata->textureID); SDL_DestroyTexture(overlay->hwdata->texture);
} }
SDL_free(overlay->hwdata); SDL_free(overlay->hwdata);
} }

View file

@ -646,7 +646,7 @@ SDL_SetScancodeName(SDL_scancode scancode, const char *name)
} }
void void
SDL_SetKeyboardFocus(int index, SDL_WindowID windowID) SDL_SetKeyboardFocus(int index, SDL_Window * window)
{ {
SDL_Keyboard *keyboard = SDL_GetKeyboard(index); SDL_Keyboard *keyboard = SDL_GetKeyboard(index);
int i; int i;
@ -657,7 +657,7 @@ SDL_SetKeyboardFocus(int index, SDL_WindowID windowID)
} }
/* See if the current window has lost focus */ /* See if the current window has lost focus */
if (keyboard->focus && keyboard->focus != windowID) { if (keyboard->focus && keyboard->focus != window) {
focus = SDL_FALSE; focus = SDL_FALSE;
for (i = 0; i < SDL_num_keyboards; ++i) { for (i = 0; i < SDL_num_keyboards; ++i) {
if (i != index) { if (i != index) {
@ -674,7 +674,7 @@ SDL_SetKeyboardFocus(int index, SDL_WindowID windowID)
} }
} }
keyboard->focus = windowID; keyboard->focus = window;
if (keyboard->focus) { if (keyboard->focus) {
SDL_SendWindowEvent(keyboard->focus, SDL_WINDOWEVENT_FOCUS_GAINED, SDL_SendWindowEvent(keyboard->focus, SDL_WINDOWEVENT_FOCUS_GAINED,
@ -809,7 +809,7 @@ SDL_SendKeyboardKey(int index, Uint8 state, SDL_scancode scancode)
event.key.keysym.sym = keyboard->keymap[scancode]; event.key.keysym.sym = keyboard->keymap[scancode];
event.key.keysym.mod = modstate; event.key.keysym.mod = modstate;
event.key.keysym.unicode = 0; event.key.keysym.unicode = 0;
event.key.windowID = keyboard->focus; event.key.windowID = keyboard->focus->id;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);
} }
return (posted); return (posted);
@ -832,7 +832,7 @@ SDL_SendKeyboardText(int index, const char *text)
event.text.type = SDL_TEXTINPUT; event.text.type = SDL_TEXTINPUT;
event.text.which = (Uint8) index; event.text.which = (Uint8) index;
SDL_strlcpy(event.text.text, text, SDL_arraysize(event.text.text)); SDL_strlcpy(event.text.text, text, SDL_arraysize(event.text.text));
event.text.windowID = keyboard->focus; event.text.windowID = keyboard->focus->id;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);
} }
return (posted); return (posted);

View file

@ -35,7 +35,7 @@ struct SDL_Keyboard
void (*FreeKeyboard) (SDL_Keyboard * keyboard); void (*FreeKeyboard) (SDL_Keyboard * keyboard);
/* Data common to all keyboards */ /* Data common to all keyboards */
SDL_WindowID focus; SDL_Window *focus;
Uint16 modstate; Uint16 modstate;
Uint8 keystate[SDL_NUM_SCANCODES]; Uint8 keystate[SDL_NUM_SCANCODES];
SDLKey keymap[SDL_NUM_SCANCODES]; SDLKey keymap[SDL_NUM_SCANCODES];
@ -73,7 +73,7 @@ extern void SDL_SetKeymap(int index, int start, SDLKey * keys, int length);
extern void SDL_SetScancodeName(SDL_scancode scancode, const char *name); extern void SDL_SetScancodeName(SDL_scancode scancode, const char *name);
/* Set the keyboard focus window */ /* Set the keyboard focus window */
extern void SDL_SetKeyboardFocus(int index, SDL_WindowID windowID); extern void SDL_SetKeyboardFocus(int index, SDL_Window * window);
/* Send a keyboard event for a keyboard at an index */ /* Send a keyboard event for a keyboard at an index */
extern int SDL_SendKeyboardKey(int index, Uint8 state, SDL_scancode scancode); extern int SDL_SendKeyboardKey(int index, Uint8 state, SDL_scancode scancode);

View file

@ -26,6 +26,7 @@
#include "SDL_events.h" #include "SDL_events.h"
#include "SDL_events_c.h" #include "SDL_events_c.h"
#include "default_cursor.h" #include "default_cursor.h"
#include "../video/SDL_sysvideo.h"
static int SDL_num_mice = 0; static int SDL_num_mice = 0;
@ -190,7 +191,7 @@ SDL_SelectMouse(int index)
return SDL_current_mouse; return SDL_current_mouse;
} }
SDL_WindowID SDL_Window *
SDL_GetMouseFocusWindow(int index) SDL_GetMouseFocusWindow(int index)
{ {
SDL_Mouse *mouse = SDL_GetMouse(index); SDL_Mouse *mouse = SDL_GetMouse(index);
@ -302,14 +303,14 @@ SDL_GetRelativeMouseState(int index, int *x, int *y)
} }
void void
SDL_SetMouseFocus(int id, SDL_WindowID windowID) SDL_SetMouseFocus(int id, SDL_Window * window)
{ {
int index = SDL_GetMouseIndexId(id); int index = SDL_GetMouseIndexId(id);
SDL_Mouse *mouse = SDL_GetMouse(index); SDL_Mouse *mouse = SDL_GetMouse(index);
int i; int i;
SDL_bool focus; SDL_bool focus;
if (!mouse || (mouse->focus == windowID)) { if (!mouse || (mouse->focus == window)) {
return; return;
} }
@ -331,7 +332,7 @@ SDL_SetMouseFocus(int id, SDL_WindowID windowID)
} }
} }
mouse->focus = windowID; mouse->focus = window;
if (mouse->focus) { if (mouse->focus) {
focus = SDL_FALSE; focus = SDL_FALSE;
@ -372,7 +373,7 @@ SDL_SendProximity(int id, int x, int y, int type)
event.proximity.cursor = mouse->current_end; event.proximity.cursor = mouse->current_end;
event.proximity.type = type; event.proximity.type = type;
/* FIXME: is this right? */ /* FIXME: is this right? */
event.proximity.windowID = mouse->focus; event.proximity.windowID = mouse->focus->id;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);
if (type == SDL_PROXIMITYIN) { if (type == SDL_PROXIMITYIN) {
mouse->proximity = SDL_TRUE; mouse->proximity = SDL_TRUE;
@ -478,7 +479,7 @@ SDL_SendMouseMotion(int id, int relative, int x, int y, int pressure)
event.motion.cursor = mouse->current_end; event.motion.cursor = mouse->current_end;
event.motion.xrel = xrel; event.motion.xrel = xrel;
event.motion.yrel = yrel; event.motion.yrel = yrel;
event.motion.windowID = mouse->focus; event.motion.windowID = mouse->focus->id;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);
} }
mouse->last_x = mouse->x; mouse->last_x = mouse->x;
@ -531,7 +532,7 @@ SDL_SendMouseButton(int id, Uint8 state, Uint8 button)
event.button.button = button; event.button.button = button;
event.button.x = mouse->x; event.button.x = mouse->x;
event.button.y = mouse->y; event.button.y = mouse->y;
event.button.windowID = mouse->focus; event.button.windowID = mouse->focus->id;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);
} }
return posted; return posted;
@ -555,14 +556,14 @@ SDL_SendMouseWheel(int index, int x, int y)
event.wheel.which = (Uint8) index; event.wheel.which = (Uint8) index;
event.wheel.x = x; event.wheel.x = x;
event.wheel.y = y; event.wheel.y = y;
event.wheel.windowID = mouse->focus; event.wheel.windowID = mouse->focus->id;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);
} }
return posted; return posted;
} }
void void
SDL_WarpMouseInWindow(SDL_WindowID windowID, int x, int y) SDL_WarpMouseInWindow(SDL_Window * window, int x, int y)
{ {
SDL_Mouse *mouse = SDL_GetMouse(SDL_current_mouse); SDL_Mouse *mouse = SDL_GetMouse(SDL_current_mouse);
@ -571,9 +572,9 @@ SDL_WarpMouseInWindow(SDL_WindowID windowID, int x, int y)
} }
if (mouse->WarpMouse) { if (mouse->WarpMouse) {
mouse->WarpMouse(mouse, windowID, x, y); mouse->WarpMouse(mouse, window, x, y);
} else { } else {
SDL_SetMouseFocus(SDL_current_mouse, windowID); SDL_SetMouseFocus(SDL_current_mouse, window);
SDL_SendMouseMotion(SDL_current_mouse, 0, x, y, 0); SDL_SendMouseMotion(SDL_current_mouse, 0, x, y, 0);
} }
} }

View file

@ -48,7 +48,7 @@ struct SDL_Mouse
void (*FreeCursor) (SDL_Cursor * cursor); void (*FreeCursor) (SDL_Cursor * cursor);
/* Warp the mouse to (x,y) */ /* Warp the mouse to (x,y) */
void (*WarpMouse) (SDL_Mouse * mouse, SDL_WindowID windowID, int x, void (*WarpMouse) (SDL_Mouse * mouse, SDL_Window * window, int x,
int y); int y);
/* Free the mouse when it's time */ /* Free the mouse when it's time */
@ -65,7 +65,7 @@ struct SDL_Mouse
/* Data common to all mice */ /* Data common to all mice */
int id; int id;
SDL_WindowID focus; SDL_Window *focus;
int which; int which;
int x; int x;
int y; int y;
@ -106,7 +106,7 @@ extern void SDL_DelMouse(int index);
extern void SDL_ResetMouse(int index); extern void SDL_ResetMouse(int index);
/* Set the mouse focus window */ /* Set the mouse focus window */
extern void SDL_SetMouseFocus(int id, SDL_WindowID windowID); extern void SDL_SetMouseFocus(int id, SDL_Window * window);
/* Send a mouse motion event for a mouse */ /* Send a mouse motion event for a mouse */
extern int SDL_SendMouseMotion(int id, int relative, int x, int y, int z); extern int SDL_SendMouseMotion(int id, int relative, int x, int y, int z);

View file

@ -44,13 +44,11 @@ RemovePendingSizeEvents(void * userdata, SDL_Event *event)
} }
int int
SDL_SendWindowEvent(SDL_WindowID windowID, Uint8 windowevent, int data1, SDL_SendWindowEvent(SDL_Window * window, Uint8 windowevent, int data1,
int data2) int data2)
{ {
int posted; int posted;
SDL_Window *window;
window = SDL_GetWindowFromID(windowID);
if (!window) { if (!window) {
return 0; return 0;
} }
@ -152,7 +150,7 @@ SDL_SendWindowEvent(SDL_WindowID windowID, Uint8 windowevent, int data1,
event.window.event = windowevent; event.window.event = windowevent;
event.window.data1 = data1; event.window.data1 = data1;
event.window.data2 = data2; event.window.data2 = data2;
event.window.windowID = windowID; event.window.windowID = window->id;
/* Fixes queue overflow with resize events that aren't processed */ /* Fixes queue overflow with resize events that aren't processed */
if (windowevent == SDL_WINDOWEVENT_RESIZED) { if (windowevent == SDL_WINDOWEVENT_RESIZED) {

View file

@ -24,7 +24,7 @@
#ifndef _SDL_windowevents_c_h #ifndef _SDL_windowevents_c_h
#define _SDL_windowevents_c_h #define _SDL_windowevents_c_h
extern int SDL_SendWindowEvent(SDL_WindowID windowID, Uint8 windowevent, extern int SDL_SendWindowEvent(SDL_Window * window, Uint8 windowevent,
int data1, int data2); int data1, int data2);
#endif /* _SDL_windowevents_c_h */ #endif /* _SDL_windowevents_c_h */

View file

@ -171,7 +171,7 @@ SDL_SetGammaRamp(const Uint16 * red, const Uint16 * green, const Uint16 * blue)
SDL_UninitializedVideo(); SDL_UninitializedVideo();
return -1; return -1;
} }
return SDL_SetGammaRampForDisplay(&SDL_CurrentDisplay, red, green, blue); return SDL_SetGammaRampForDisplay(SDL_CurrentDisplay, red, green, blue);
} }
int int
@ -230,7 +230,7 @@ SDL_GetGammaRamp(Uint16 * red, Uint16 * green, Uint16 * blue)
SDL_UninitializedVideo(); SDL_UninitializedVideo();
return -1; return -1;
} }
return SDL_GetGammaRampForDisplay(&SDL_CurrentDisplay, red, green, blue); return SDL_GetGammaRampForDisplay(SDL_CurrentDisplay, red, green, blue);
} }
/* vi: set ts=4 sw=4 expandtab: */ /* vi: set ts=4 sw=4 expandtab: */

View file

@ -321,7 +321,7 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = GL_DestroyTexture; renderer->DestroyTexture = GL_DestroyTexture;
renderer->DestroyRenderer = GL_DestroyRenderer; renderer->DestroyRenderer = GL_DestroyRenderer;
renderer->info = GL_RenderDriver.info; renderer->info = GL_RenderDriver.info;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
renderer->info.flags = renderer->info.flags =
@ -332,12 +332,12 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)
return NULL; return NULL;
} }
data->context = SDL_GL_CreateContext(window->id); data->context = SDL_GL_CreateContext(window);
if (!data->context) { if (!data->context) {
GL_DestroyRenderer(renderer); GL_DestroyRenderer(renderer);
return NULL; return NULL;
} }
if (SDL_GL_MakeCurrent(window->id, data->context) < 0) { if (SDL_GL_MakeCurrent(window, data->context) < 0) {
GL_DestroyRenderer(renderer); GL_DestroyRenderer(renderer);
return NULL; return NULL;
} }
@ -442,9 +442,9 @@ static int
GL_ActivateRenderer(SDL_Renderer * renderer) GL_ActivateRenderer(SDL_Renderer * renderer)
{ {
GL_RenderData *data = (GL_RenderData *) renderer->driverdata; GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
if (SDL_GL_MakeCurrent(window->id, data->context) < 0) { if (SDL_GL_MakeCurrent(window, data->context) < 0) {
return -1; return -1;
} }
if (data->updateSize) { if (data->updateSize) {
@ -752,7 +752,7 @@ static int
GL_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) GL_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
GL_RenderData *renderdata = (GL_RenderData *) renderer->driverdata; GL_RenderData *renderdata = (GL_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
GL_TextureData *data; GL_TextureData *data;
GLint internalFormat; GLint internalFormat;
GLenum format, type; GLenum format, type;
@ -1407,7 +1407,7 @@ GL_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect,
Uint32 pixel_format, void * pixels, int pitch) Uint32 pixel_format, void * pixels, int pitch)
{ {
GL_RenderData *data = (GL_RenderData *) renderer->driverdata; GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
GLint internalFormat; GLint internalFormat;
GLenum format, type; GLenum format, type;
Uint8 *src, *dst, *tmp; Uint8 *src, *dst, *tmp;
@ -1454,7 +1454,7 @@ GL_RenderWritePixels(SDL_Renderer * renderer, const SDL_Rect * rect,
Uint32 pixel_format, const void * pixels, int pitch) Uint32 pixel_format, const void * pixels, int pitch)
{ {
GL_RenderData *data = (GL_RenderData *) renderer->driverdata; GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
GLint internalFormat; GLint internalFormat;
GLenum format, type; GLenum format, type;
Uint8 *src, *dst, *tmp; Uint8 *src, *dst, *tmp;

View file

@ -332,7 +332,7 @@ GLES_ActivateRenderer(SDL_Renderer * renderer)
{ {
GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata; GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
if (SDL_GL_MakeCurrent(window->id, data->context) < 0) { if (SDL_GL_MakeCurrent(window->id, data->context) < 0) {
return -1; return -1;
@ -872,7 +872,7 @@ GLES_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
if (data->GL_OES_draw_texture_supported && data->useDrawTexture) { if (data->GL_OES_draw_texture_supported && data->useDrawTexture) {
/* this code is a little funny because the viewport is upside down vs SDL's coordinate system */ /* this code is a little funny because the viewport is upside down vs SDL's coordinate system */
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
GLint cropRect[4]; GLint cropRect[4];
cropRect[0] = srcrect->x; cropRect[0] = srcrect->x;
cropRect[1] = srcrect->y + srcrect->h; cropRect[1] = srcrect->y + srcrect->h;

View file

@ -201,7 +201,7 @@ Setup_SoftwareRenderer(SDL_Renderer * renderer)
SDL_Renderer * SDL_Renderer *
SW_CreateRenderer(SDL_Window * window, Uint32 flags) SW_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayMode *displayMode = &display->current_mode; SDL_DisplayMode *displayMode = &display->current_mode;
SDL_Renderer *renderer; SDL_Renderer *renderer;
SW_RenderData *data; SW_RenderData *data;
@ -243,7 +243,7 @@ SW_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyRenderer = SW_DestroyRenderer; renderer->DestroyRenderer = SW_DestroyRenderer;
renderer->info.name = SW_RenderDriver.info.name; renderer->info.name = SW_RenderDriver.info.name;
renderer->info.flags = 0; renderer->info.flags = 0;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
Setup_SoftwareRenderer(renderer); Setup_SoftwareRenderer(renderer);
@ -321,7 +321,7 @@ static int
SW_ActivateRenderer(SDL_Renderer * renderer) SW_ActivateRenderer(SDL_Renderer * renderer)
{ {
SW_RenderData *data = (SW_RenderData *) renderer->driverdata; SW_RenderData *data = (SW_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
int i, n; int i, n;
if (data->renderer && data->renderer->ActivateRenderer) { if (data->renderer && data->renderer->ActivateRenderer) {
@ -794,7 +794,7 @@ SW_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
const SDL_Rect * srcrect, const SDL_Rect * dstrect) const SDL_Rect * srcrect, const SDL_Rect * dstrect)
{ {
SW_RenderData *data = (SW_RenderData *) renderer->driverdata; SW_RenderData *data = (SW_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
int status; int status;
if (data->renderer->info.flags & SDL_RENDERER_PRESENTCOPY) { if (data->renderer->info.flags & SDL_RENDERER_PRESENTCOPY) {
@ -928,8 +928,8 @@ static void
SW_DestroyRenderer(SDL_Renderer * renderer) SW_DestroyRenderer(SDL_Renderer * renderer)
{ {
SW_RenderData *data = (SW_RenderData *) renderer->driverdata; SW_RenderData *data = (SW_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
int i; int i;
if (data) { if (data) {

View file

@ -29,8 +29,6 @@
/* The SDL video driver */ /* The SDL video driver */
typedef struct SDL_Window SDL_Window;
typedef struct SDL_Texture SDL_Texture;
typedef struct SDL_Renderer SDL_Renderer; typedef struct SDL_Renderer SDL_Renderer;
typedef struct SDL_RenderDriver SDL_RenderDriver; typedef struct SDL_RenderDriver SDL_RenderDriver;
typedef struct SDL_VideoDisplay SDL_VideoDisplay; typedef struct SDL_VideoDisplay SDL_VideoDisplay;
@ -39,8 +37,6 @@ 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 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 */
@ -54,6 +50,7 @@ struct SDL_Texture
void *driverdata; /**< Driver specific texture representation */ void *driverdata; /**< Driver specific texture representation */
SDL_Texture *prev;
SDL_Texture *next; SDL_Texture *next;
}; };
@ -118,7 +115,10 @@ struct SDL_Renderer
SDL_RendererInfo info; SDL_RendererInfo info;
/* The window associated with the renderer */ /* The window associated with the renderer */
SDL_WindowID window; SDL_Window *window;
/* The list of textures */
SDL_Texture *textures;
Uint8 r, g, b, a; /**< Color for drawing operations values */ Uint8 r, g, b, a; /**< Color for drawing operations values */
int blendMode; /**< The drawing blend mode */ int blendMode; /**< The drawing blend mode */
@ -139,19 +139,21 @@ struct SDL_RenderDriver
struct SDL_Window struct SDL_Window
{ {
Uint32 id; Uint32 id;
char *title; char *title;
int x, y; int x, y;
int w, h; int w, h;
Uint32 flags; Uint32 flags;
int display; SDL_VideoDisplay *display;
SDL_Renderer *renderer; SDL_Renderer *renderer;
SDL_DisplayMode fullscreen_mode; SDL_DisplayMode fullscreen_mode;
void *userdata; void *userdata;
void *driverdata; void *driverdata;
SDL_Window *prev;
SDL_Window *next;
}; };
#define FULLSCREEN_VISIBLE(W) \ #define FULLSCREEN_VISIBLE(W) \
(((W)->flags & SDL_WINDOW_FULLSCREEN) && \ (((W)->flags & SDL_WINDOW_FULLSCREEN) && \
@ -184,9 +186,6 @@ struct SDL_VideoDisplay
SDL_Renderer *current_renderer; SDL_Renderer *current_renderer;
/* The hash list of textures */
SDL_Texture *textures[64];
SDL_VideoDevice *device; SDL_VideoDevice *device;
void *driverdata; void *driverdata;
@ -413,8 +412,8 @@ extern VideoBootStrap NDS_bootstrap;
extern VideoBootStrap PND_bootstrap; extern VideoBootStrap PND_bootstrap;
#endif #endif
#define SDL_CurrentDisplay (_this->displays[_this->current_display]) #define SDL_CurrentDisplay (&_this->displays[_this->current_display])
#define SDL_CurrentRenderer (SDL_CurrentDisplay.current_renderer) #define SDL_CurrentRenderer (SDL_CurrentDisplay->current_renderer)
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);
@ -433,8 +432,6 @@ extern int SDL_GetGammaRampForDisplay(SDL_VideoDisplay * display, Uint16 * red,
extern void SDL_AddRenderDriver(SDL_VideoDisplay *display, const SDL_RenderDriver * driver); extern void SDL_AddRenderDriver(SDL_VideoDisplay *display, const SDL_RenderDriver * driver);
extern int SDL_RecreateWindow(SDL_Window * window, Uint32 flags); extern int SDL_RecreateWindow(SDL_Window * window, Uint32 flags);
extern SDL_Window *SDL_GetWindowFromID(SDL_WindowID windowID);
extern SDL_VideoDisplay *SDL_GetDisplayFromWindow(SDL_Window * window);
extern void SDL_OnWindowShown(SDL_Window * window); extern void SDL_OnWindowShown(SDL_Window * window);
extern void SDL_OnWindowHidden(SDL_Window * window); extern void SDL_OnWindowHidden(SDL_Window * window);
@ -443,7 +440,7 @@ extern void SDL_OnWindowMinimized(SDL_Window * window);
extern void SDL_OnWindowRestored(SDL_Window * window); extern void SDL_OnWindowRestored(SDL_Window * window);
extern void SDL_OnWindowFocusGained(SDL_Window * window); extern void SDL_OnWindowFocusGained(SDL_Window * window);
extern void SDL_OnWindowFocusLost(SDL_Window * window); extern void SDL_OnWindowFocusLost(SDL_Window * window);
extern SDL_WindowID SDL_GetFocusWindow(void); extern SDL_Window * SDL_GetFocusWindow(void);
#endif /* _SDL_sysvideo_h */ #endif /* _SDL_sysvideo_h */

File diff suppressed because it is too large Load diff

View file

@ -76,7 +76,7 @@ Cocoa_HandleMouseEvent(_THIS, NSEvent *event)
if (point.x < 0 || point.x >= candidate->w || if (point.x < 0 || point.x >= candidate->w ||
point.y < 0 || point.y >= candidate->h) { point.y < 0 || point.y >= candidate->h) {
/* The mouse is out of this fullscreen display */ /* The mouse is out of this fullscreen display */
if (mouse->focus == candidate->id) { if (mouse->focus == candidate) {
SDL_SetMouseFocus(data->mouse, 0); SDL_SetMouseFocus(data->mouse, 0);
} }
} else { } else {
@ -91,8 +91,8 @@ Cocoa_HandleMouseEvent(_THIS, NSEvent *event)
} }
/* Set the focus appropriately */ /* Set the focus appropriately */
if (mouse->focus != window->id) { if (mouse->focus != window) {
SDL_SetMouseFocus(data->mouse, window->id); SDL_SetMouseFocus(data->mouse, window);
} }
switch ([event type]) { switch ([event type]) {

View file

@ -82,7 +82,7 @@ SDL_GLContext
Cocoa_GL_CreateContext(_THIS, SDL_Window * window) Cocoa_GL_CreateContext(_THIS, SDL_Window * window)
{ {
NSAutoreleasePool *pool; NSAutoreleasePool *pool;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *displaydata = (SDL_DisplayData *)display->driverdata; SDL_DisplayData *displaydata = (SDL_DisplayData *)display->driverdata;
NSOpenGLPixelFormatAttribute attr[32]; NSOpenGLPixelFormatAttribute attr[32];
NSOpenGLPixelFormat *fmt; NSOpenGLPixelFormat *fmt;

View file

@ -69,8 +69,8 @@ typedef struct SDL_WindowData SDL_WindowData;
struct SDL_WindowData struct SDL_WindowData
{ {
SDL_WindowID windowID; SDL_Window *window;
NSWindow *window; NSWindow *nswindow;
SDL_bool created; SDL_bool created;
CGDirectDisplayID display; CGDirectDisplayID display;
Cocoa_WindowListener *listener; Cocoa_WindowListener *listener;

View file

@ -86,13 +86,13 @@ static __inline__ void ConvertNSRect(NSRect *r)
- (BOOL)windowShouldClose:(id)sender - (BOOL)windowShouldClose:(id)sender
{ {
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_CLOSE, 0, 0); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_CLOSE, 0, 0);
return NO; return NO;
} }
- (void)windowDidExpose:(NSNotification *)aNotification - (void)windowDidExpose:(NSNotification *)aNotification
{ {
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_EXPOSED, 0, 0); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_EXPOSED, 0, 0);
} }
- (void)windowDidMove:(NSNotification *)aNotification - (void)windowDidMove:(NSNotification *)aNotification
@ -102,7 +102,7 @@ static __inline__ void ConvertNSRect(NSRect *r)
ConvertNSRect(&rect); ConvertNSRect(&rect);
x = (int)rect.origin.x; x = (int)rect.origin.x;
y = (int)rect.origin.y; y = (int)rect.origin.y;
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_MOVED, x, y); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_MOVED, x, y);
} }
- (void)windowDidResize:(NSNotification *)aNotification - (void)windowDidResize:(NSNotification *)aNotification
@ -111,17 +111,17 @@ static __inline__ void ConvertNSRect(NSRect *r)
NSRect rect = [_data->window contentRectForFrameRect:[_data->window frame]]; NSRect rect = [_data->window contentRectForFrameRect:[_data->window frame]];
w = (int)rect.size.width; w = (int)rect.size.width;
h = (int)rect.size.height; h = (int)rect.size.height;
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_RESIZED, w, h); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_RESIZED, w, h);
} }
- (void)windowDidMiniaturize:(NSNotification *)aNotification - (void)windowDidMiniaturize:(NSNotification *)aNotification
{ {
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_MINIMIZED, 0, 0); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_MINIMIZED, 0, 0);
} }
- (void)windowDidDeminiaturize:(NSNotification *)aNotification - (void)windowDidDeminiaturize:(NSNotification *)aNotification
{ {
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_RESTORED, 0, 0); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_RESTORED, 0, 0);
} }
- (void)windowDidBecomeKey:(NSNotification *)aNotification - (void)windowDidBecomeKey:(NSNotification *)aNotification
@ -130,7 +130,7 @@ static __inline__ void ConvertNSRect(NSRect *r)
/* We're going to get keyboard events, since we're key. */ /* We're going to get keyboard events, since we're key. */
index = _data->videodata->keyboard; index = _data->videodata->keyboard;
SDL_SetKeyboardFocus(index, _data->windowID); SDL_SetKeyboardFocus(index, _data->window);
} }
- (void)windowDidResignKey:(NSNotification *)aNotification - (void)windowDidResignKey:(NSNotification *)aNotification
@ -141,7 +141,7 @@ static __inline__ void ConvertNSRect(NSRect *r)
/* Some other window will get mouse events, since we're not key. */ /* Some other window will get mouse events, since we're not key. */
index = _data->videodata->mouse; index = _data->videodata->mouse;
mouse = SDL_GetMouse(index); mouse = SDL_GetMouse(index);
if (mouse->focus == _data->windowID) { if (mouse->focus == _data->window) {
SDL_SetMouseFocus(index, 0); SDL_SetMouseFocus(index, 0);
} }
@ -152,12 +152,12 @@ static __inline__ void ConvertNSRect(NSRect *r)
- (void)windowDidHide:(NSNotification *)aNotification - (void)windowDidHide:(NSNotification *)aNotification
{ {
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_HIDDEN, 0, 0); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_HIDDEN, 0, 0);
} }
- (void)windowDidUnhide:(NSNotification *)aNotification - (void)windowDidUnhide:(NSNotification *)aNotification
{ {
SDL_SendWindowEvent(_data->windowID, SDL_WINDOWEVENT_SHOWN, 0, 0); SDL_SendWindowEvent(_data->window, SDL_WINDOWEVENT_SHOWN, 0, 0);
} }
- (void)mouseDown:(NSEvent *)theEvent - (void)mouseDown:(NSEvent *)theEvent
@ -228,7 +228,7 @@ static __inline__ void ConvertNSRect(NSRect *r)
- (void)mouseMoved:(NSEvent *)theEvent - (void)mouseMoved:(NSEvent *)theEvent
{ {
SDL_Window *window = SDL_GetWindowFromID(_data->windowID); SDL_Window *window = _data->window;
int index; int index;
SDL_Mouse *mouse; SDL_Mouse *mouse;
NSPoint point; NSPoint point;
@ -243,8 +243,8 @@ static __inline__ void ConvertNSRect(NSRect *r)
SDL_SetMouseFocus(index, 0); SDL_SetMouseFocus(index, 0);
} }
} else { } else {
if (mouse->focus != _data->windowID) { if (mouse->focus != _data->window) {
SDL_SetMouseFocus(index, _data->windowID); SDL_SetMouseFocus(index, _data->window);
} }
SDL_SendMouseMotion(index, 0, (int)point.x, (int)point.y, 0); SDL_SendMouseMotion(index, 0, (int)point.x, (int)point.y, 0);
} }
@ -298,7 +298,7 @@ SetupWindowData(_THIS, SDL_Window * window, NSWindow *nswindow, SDL_bool created
{ {
NSAutoreleasePool *pool; NSAutoreleasePool *pool;
SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *displaydata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *displaydata = (SDL_DisplayData *) display->driverdata;
SDL_WindowData *data; SDL_WindowData *data;
@ -308,7 +308,7 @@ SetupWindowData(_THIS, SDL_Window * window, NSWindow *nswindow, SDL_bool created
SDL_OutOfMemory(); SDL_OutOfMemory();
return -1; return -1;
} }
data->windowID = window->id; data->window = window;
data->window = nswindow; data->window = nswindow;
data->created = created; data->created = created;
data->display = displaydata->display; data->display = displaydata->display;
@ -363,7 +363,7 @@ SetupWindowData(_THIS, SDL_Window * window, NSWindow *nswindow, SDL_bool created
if ([nswindow isKeyWindow]) { if ([nswindow isKeyWindow]) {
int index = data->videodata->keyboard; int index = data->videodata->keyboard;
window->flags |= SDL_WINDOW_INPUT_FOCUS; window->flags |= SDL_WINDOW_INPUT_FOCUS;
SDL_SetKeyboardFocus(index, data->windowID); SDL_SetKeyboardFocus(index, data->window);
if (window->flags & SDL_WINDOW_INPUT_GRABBED) { if (window->flags & SDL_WINDOW_INPUT_GRABBED) {
/* FIXME */ /* FIXME */
@ -381,7 +381,7 @@ Cocoa_CreateWindow(_THIS, SDL_Window * window)
{ {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSWindow *nswindow; NSWindow *nswindow;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
NSRect rect; NSRect rect;
SDL_Rect bounds; SDL_Rect bounds;
unsigned int style; unsigned int style;
@ -490,7 +490,7 @@ Cocoa_SetWindowPosition(_THIS, SDL_Window * window)
{ {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSWindow *nswindow = ((SDL_WindowData *) window->driverdata)->window; NSWindow *nswindow = ((SDL_WindowData *) window->driverdata)->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
NSRect rect; NSRect rect;
SDL_Rect bounds; SDL_Rect bounds;

View file

@ -196,7 +196,7 @@ void
DirectFB_WM_MaximizeWindow(_THIS, SDL_Window * window) DirectFB_WM_MaximizeWindow(_THIS, SDL_Window * window)
{ {
SDL_DFB_WINDOWDATA(window); SDL_DFB_WINDOWDATA(window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
windata->window->GetPosition(windata->window, windata->window->GetPosition(windata->window,
&windata->restore.x, &windata->restore.y); &windata->restore.x, &windata->restore.y);

View file

@ -46,7 +46,7 @@ static void DirectFB_InitOSKeymap(_THIS, SDLKey * keypmap, int numkeys);
static int DirectFB_TranslateButton(DFBInputDeviceButtonIdentifier button); static int DirectFB_TranslateButton(DFBInputDeviceButtonIdentifier button);
static void static void
DirectFB_SetContext(_THIS, SDL_WindowID id) DirectFB_SetContext(_THIS, SDL_Window *window)
{ {
#if (DFB_VERSION_ATLEAST(1,0,0)) #if (DFB_VERSION_ATLEAST(1,0,0))
/* FIXME: does not work on 1.0/1.2 with radeon driver /* FIXME: does not work on 1.0/1.2 with radeon driver
@ -55,7 +55,7 @@ DirectFB_SetContext(_THIS, SDL_WindowID id)
*/ */
SDL_Window *window = SDL_GetWindowFromID(id); SDL_Window *window = SDL_GetWindowFromID(id);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata; DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata;
int ret; int ret;
@ -70,7 +70,7 @@ DirectFB_SetContext(_THIS, SDL_WindowID id)
} }
static void static void
FocusAllMice(_THIS, SDL_WindowID id) FocusAllMice(_THIS, SDL_Window *window)
{ {
SDL_DFB_DEVICEDATA(_this); SDL_DFB_DEVICEDATA(_this);
int index; int index;
@ -81,7 +81,7 @@ FocusAllMice(_THIS, SDL_WindowID id)
static void static void
FocusAllKeyboards(_THIS, SDL_WindowID id) FocusAllKeyboards(_THIS, SDL_Window *window)
{ {
SDL_DFB_DEVICEDATA(_this); SDL_DFB_DEVICEDATA(_this);
int index; int index;
@ -177,7 +177,7 @@ ProcessWindowEvent(_THIS, DFB_WindowData * p, Uint32 flags,
break; break;
case DWET_MOTION: case DWET_MOTION:
if (ClientXY(p, &evt->x, &evt->y)) { if (ClientXY(p, &evt->x, &evt->y)) {
SDL_Window *window = SDL_GetWindowFromID(p->sdl_id); SDL_Window *window = p->window;
if (!devdata->use_linux_input) { if (!devdata->use_linux_input) {
if (!(flags & SDL_WINDOW_INPUT_GRABBED)) if (!(flags & SDL_WINDOW_INPUT_GRABBED))
SDL_SendMouseMotion(devdata->mouse_id[0], 0, SDL_SendMouseMotion(devdata->mouse_id[0], 0,
@ -193,7 +193,7 @@ ProcessWindowEvent(_THIS, DFB_WindowData * p, Uint32 flags,
} }
} }
if (!(window->flags & SDL_WINDOW_MOUSE_FOCUS)) if (!(window->flags & SDL_WINDOW_MOUSE_FOCUS))
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_ENTER, 0, SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_ENTER, 0,
0); 0);
} }
break; break;
@ -218,13 +218,13 @@ ProcessWindowEvent(_THIS, DFB_WindowData * p, Uint32 flags,
break; break;
case DWET_POSITION: case DWET_POSITION:
if (ClientXY(p, &evt->x, &evt->y)) { if (ClientXY(p, &evt->x, &evt->y)) {
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_MOVED, SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_MOVED,
evt->x, evt->y); evt->x, evt->y);
} }
break; break;
case DWET_POSITION_SIZE: case DWET_POSITION_SIZE:
if (ClientXY(p, &evt->x, &evt->y)) { if (ClientXY(p, &evt->x, &evt->y)) {
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_MOVED, SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_MOVED,
evt->x, evt->y); evt->x, evt->y);
} }
/* fall throught */ /* fall throught */
@ -234,32 +234,32 @@ ProcessWindowEvent(_THIS, DFB_WindowData * p, Uint32 flags,
evt->h -= evt->h -=
(p->theme.top_size + p->theme.bottom_size + (p->theme.top_size + p->theme.bottom_size +
p->theme.caption_size); p->theme.caption_size);
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_RESIZED, SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_RESIZED,
evt->w, evt->h); evt->w, evt->h);
break; break;
case DWET_CLOSE: case DWET_CLOSE:
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_CLOSE, 0, 0); SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_CLOSE, 0, 0);
break; break;
case DWET_GOTFOCUS: case DWET_GOTFOCUS:
DirectFB_SetContext(_this, p->sdl_id); DirectFB_SetContext(_this, p->window);
FocusAllKeyboards(_this, p->sdl_id); FocusAllKeyboards(_this, p->window);
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_FOCUS_GAINED, SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_FOCUS_GAINED,
0, 0); 0, 0);
break; break;
case DWET_LOSTFOCUS: case DWET_LOSTFOCUS:
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_FOCUS_LOST, 0, 0); SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_FOCUS_LOST, 0, 0);
FocusAllKeyboards(_this, 0); FocusAllKeyboards(_this, 0);
break; break;
case DWET_ENTER: case DWET_ENTER:
/* SDL_DirectFB_ReshowCursor(_this, 0); */ /* SDL_DirectFB_ReshowCursor(_this, 0); */
FocusAllMice(_this, p->sdl_id); FocusAllMice(_this, p->window);
// FIXME: when do we really enter ? // FIXME: when do we really enter ?
if (ClientXY(p, &evt->x, &evt->y)) if (ClientXY(p, &evt->x, &evt->y))
MotionAllMice(_this, evt->x, evt->y); MotionAllMice(_this, evt->x, evt->y);
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_ENTER, 0, 0); SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_ENTER, 0, 0);
break; break;
case DWET_LEAVE: case DWET_LEAVE:
SDL_SendWindowEvent(p->sdl_id, SDL_WINDOWEVENT_LEAVE, 0, 0); SDL_SendWindowEvent(p->window, SDL_WINDOWEVENT_LEAVE, 0, 0);
FocusAllMice(_this, 0); FocusAllMice(_this, 0);
/* SDL_DirectFB_ReshowCursor(_this, 1); */ /* SDL_DirectFB_ReshowCursor(_this, 1); */
break; break;
@ -372,16 +372,16 @@ DirectFB_PumpEventsWindow(_THIS)
SDL_DFB_DEVICEDATA(_this); SDL_DFB_DEVICEDATA(_this);
DFB_WindowData *p; DFB_WindowData *p;
DFBInputEvent ievt; DFBInputEvent ievt;
Sint32 /* SDL_WindowID */ grabbed_window; SDL_Window *grabbed_window;
grabbed_window = -1; grabbed_window = NULL;
for (p = devdata->firstwin; p != NULL; p = p->next) { for (p = devdata->firstwin; p != NULL; p = p->next) {
DFBWindowEvent evt; DFBWindowEvent evt;
SDL_Window *w = SDL_GetWindowFromID(p->sdl_id); SDL_Window *w = SDL_GetWindowFromID(p->window);
if (w->flags & SDL_WINDOW_INPUT_GRABBED) { if (w->flags & SDL_WINDOW_INPUT_GRABBED) {
grabbed_window = p->sdl_id; grabbed_window = w;
} }
while (p->eventbuffer->GetEvent(p->eventbuffer, while (p->eventbuffer->GetEvent(p->eventbuffer,

View file

@ -31,7 +31,7 @@ static SDL_Cursor *DirectFB_CreateCursor(SDL_Surface * surface,
static int DirectFB_ShowCursor(SDL_Cursor * cursor); static int DirectFB_ShowCursor(SDL_Cursor * cursor);
static void DirectFB_MoveCursor(SDL_Cursor * cursor); static void DirectFB_MoveCursor(SDL_Cursor * cursor);
static void DirectFB_FreeCursor(SDL_Cursor * cursor); static void DirectFB_FreeCursor(SDL_Cursor * cursor);
static void DirectFB_WarpMouse(SDL_Mouse * mouse, SDL_WindowID windowID, static void DirectFB_WarpMouse(SDL_Mouse * mouse, SDL_Window * window,
int x, int y); int x, int y);
static void DirectFB_FreeMouse(SDL_Mouse * mouse); static void DirectFB_FreeMouse(SDL_Mouse * mouse);
@ -159,14 +159,13 @@ DirectFB_ShowCursor(SDL_Cursor * cursor)
{ {
SDL_DFB_CURSORDATA(cursor); SDL_DFB_CURSORDATA(cursor);
DFBResult ret; DFBResult ret;
SDL_WindowID wid; SDL_Window *window;
wid = SDL_GetFocusWindow(); window = SDL_GetFocusWindow();
if (wid <= 0) if (!window)
return -1; return -1;
else { else {
SDL_Window *window = SDL_GetWindowFromID(wid); SDL_VideoDisplay *display = window->display;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window);
if (display) { if (display) {
DFB_DisplayData *dispdata = DFB_DisplayData *dispdata =
@ -216,10 +215,9 @@ DirectFB_FreeCursor(SDL_Cursor * cursor)
/* Warp the mouse to (x,y) */ /* Warp the mouse to (x,y) */
static void static void
DirectFB_WarpMouse(SDL_Mouse * mouse, SDL_WindowID windowID, int x, int y) DirectFB_WarpMouse(SDL_Mouse * mouse, SDL_Window * window, int x, int y)
{ {
SDL_Window *window = SDL_GetWindowFromID(windowID); SDL_VideoDisplay *display = window->display;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window);
DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata; DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata;
DFB_WindowData *windata = (DFB_WindowData *) window->driverdata; DFB_WindowData *windata = (DFB_WindowData *) window->driverdata;
DFBResult ret; DFBResult ret;

View file

@ -280,7 +280,7 @@ SDL_Renderer *
DirectFB_CreateRenderer(SDL_Window * window, Uint32 flags) DirectFB_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_DFB_WINDOWDATA(window); SDL_DFB_WINDOWDATA(window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_Renderer *renderer = NULL; SDL_Renderer *renderer = NULL;
DirectFB_RenderData *data = NULL; DirectFB_RenderData *data = NULL;
DFBResult ret; DFBResult ret;
@ -313,7 +313,7 @@ DirectFB_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = DirectFB_DestroyTexture; renderer->DestroyTexture = DirectFB_DestroyTexture;
renderer->DestroyRenderer = DirectFB_DestroyRenderer; renderer->DestroyRenderer = DirectFB_DestroyRenderer;
renderer->info = DirectFB_RenderDriver.info; renderer->info = DirectFB_RenderDriver.info;
renderer->window = window->id; /* SDL window id */ renderer->window = window; /* SDL window */
renderer->driverdata = data; renderer->driverdata = data;
renderer->info.flags = renderer->info.flags =
@ -446,7 +446,7 @@ DirectFB_AcquireVidLayer(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
SDL_DFB_RENDERERDATA(renderer); SDL_DFB_RENDERERDATA(renderer);
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DFB_DEVICEDATA(display->device); SDL_DFB_DEVICEDATA(display->device);
DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata; DFB_DisplayData *dispdata = (DFB_DisplayData *) display->driverdata;
DirectFB_TextureData *data = texture->driverdata; DirectFB_TextureData *data = texture->driverdata;
@ -502,7 +502,7 @@ static int
DirectFB_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) DirectFB_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DFB_DEVICEDATA(display->device); SDL_DFB_DEVICEDATA(display->device);
DirectFB_TextureData *data; DirectFB_TextureData *data;
DFBResult ret; DFBResult ret;

View file

@ -140,7 +140,7 @@ DirectFB_CreateWindow(_THIS, SDL_Window * window)
windata->window->RaiseToTop(windata->window); windata->window->RaiseToTop(windata->window);
/* remember parent */ /* remember parent */
windata->sdl_id = window->id; windata->window = window;
/* Add to list ... */ /* Add to list ... */

View file

@ -36,7 +36,7 @@ struct _DFB_WindowData
IDirectFBWindow *window; IDirectFBWindow *window;
DirectFB_GLContext *gl_context; DirectFB_GLContext *gl_context;
IDirectFBEventBuffer *eventbuffer; IDirectFBEventBuffer *eventbuffer;
SDL_WindowID sdl_id; SDL_Window *window;
DFB_WindowData *next; DFB_WindowData *next;
Uint8 opacity; Uint8 opacity;
DFBRectangle client; DFBRectangle client;

View file

@ -74,7 +74,7 @@ typedef struct
SDL_Renderer * SDL_Renderer *
SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags) SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayMode *displayMode = &display->current_mode; SDL_DisplayMode *displayMode = &display->current_mode;
SDL_Renderer *renderer; SDL_Renderer *renderer;
SDL_DUMMY_RenderData *data; SDL_DUMMY_RenderData *data;
@ -113,7 +113,7 @@ SDL_DUMMY_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyRenderer = SDL_DUMMY_DestroyRenderer; renderer->DestroyRenderer = SDL_DUMMY_DestroyRenderer;
renderer->info.name = SDL_DUMMY_RenderDriver.info.name; renderer->info.name = SDL_DUMMY_RenderDriver.info.name;
renderer->info.flags = 0; renderer->info.flags = 0;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
Setup_SoftwareRenderer(renderer); Setup_SoftwareRenderer(renderer);
@ -238,8 +238,8 @@ SDL_DUMMY_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
{ {
SDL_DUMMY_RenderData *data = SDL_DUMMY_RenderData *data =
(SDL_DUMMY_RenderData *) renderer->driverdata; (SDL_DUMMY_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
if (SDL_ISPIXELFORMAT_FOURCC(texture->format)) { if (SDL_ISPIXELFORMAT_FOURCC(texture->format)) {
SDL_Surface *target = data->screens[data->current_screen]; SDL_Surface *target = data->screens[data->current_screen];
@ -266,8 +266,8 @@ SDL_DUMMY_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect,
{ {
SDL_DUMMY_RenderData *data = SDL_DUMMY_RenderData *data =
(SDL_DUMMY_RenderData *) renderer->driverdata; (SDL_DUMMY_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_Surface *screen = data->screens[data->current_screen]; SDL_Surface *screen = data->screens[data->current_screen];
Uint32 screen_format = display->current_mode.format; Uint32 screen_format = display->current_mode.format;
Uint8 *screen_pixels = (Uint8 *) screen->pixels + Uint8 *screen_pixels = (Uint8 *) screen->pixels +
@ -286,8 +286,8 @@ SDL_DUMMY_RenderWritePixels(SDL_Renderer * renderer, const SDL_Rect * rect,
{ {
SDL_DUMMY_RenderData *data = SDL_DUMMY_RenderData *data =
(SDL_DUMMY_RenderData *) renderer->driverdata; (SDL_DUMMY_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_Surface *screen = data->screens[data->current_screen]; SDL_Surface *screen = data->screens[data->current_screen];
Uint32 screen_format = display->current_mode.format; Uint32 screen_format = display->current_mode.format;
Uint8 *screen_pixels = (Uint8 *) screen->pixels + Uint8 *screen_pixels = (Uint8 *) screen->pixels +
@ -311,7 +311,7 @@ SDL_DUMMY_RenderPresent(SDL_Renderer * renderer)
if (SDL_getenv("SDL_VIDEO_DUMMY_SAVE_FRAMES")) { if (SDL_getenv("SDL_VIDEO_DUMMY_SAVE_FRAMES")) {
char file[128]; char file[128];
SDL_snprintf(file, sizeof(file), "SDL_window%d-%8.8d.bmp", SDL_snprintf(file, sizeof(file), "SDL_window%d-%8.8d.bmp",
renderer->window, ++frame_number); renderer->window->id, ++frame_number);
SDL_SaveBMP(data->screens[data->current_screen], file); SDL_SaveBMP(data->screens[data->current_screen], file);
} }

View file

@ -126,7 +126,7 @@ typedef struct
SDL_Renderer * SDL_Renderer *
NDS_CreateRenderer(SDL_Window * window, Uint32 flags) NDS_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayMode *displayMode = &display->current_mode; SDL_DisplayMode *displayMode = &display->current_mode;
SDL_Renderer *renderer; SDL_Renderer *renderer;
NDS_RenderData *data; NDS_RenderData *data;
@ -175,7 +175,7 @@ NDS_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyRenderer = NDS_DestroyRenderer; renderer->DestroyRenderer = NDS_DestroyRenderer;
renderer->info.name = NDS_RenderDriver.info.name; renderer->info.name = NDS_RenderDriver.info.name;
renderer->info.flags = 0; renderer->info.flags = 0;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
renderer->CreateTexture = NDS_CreateTexture; renderer->CreateTexture = NDS_CreateTexture;
renderer->QueryTexturePixels = NDS_QueryTexturePixels; renderer->QueryTexturePixels = NDS_QueryTexturePixels;
@ -490,8 +490,8 @@ NDS_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
{ {
NDS_RenderData *data = (NDS_RenderData *) renderer->driverdata; NDS_RenderData *data = (NDS_RenderData *) renderer->driverdata;
NDS_TextureData *txdat = (NDS_TextureData *) texture->driverdata; NDS_TextureData *txdat = (NDS_TextureData *) texture->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
int Bpp = SDL_BYTESPERPIXEL(texture->format); int Bpp = SDL_BYTESPERPIXEL(texture->format);
if (txdat->type == NDSTX_BG) { if (txdat->type == NDSTX_BG) {
@ -515,8 +515,8 @@ static void
NDS_RenderPresent(SDL_Renderer * renderer) NDS_RenderPresent(SDL_Renderer * renderer)
{ {
NDS_RenderData *data = (NDS_RenderData *) renderer->driverdata; NDS_RenderData *data = (NDS_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
/* update sprites */ /* update sprites */
// NDS_OAM_Update(&(data->oam_copy), data->sub); // NDS_OAM_Update(&(data->oam_copy), data->sub);
@ -538,8 +538,6 @@ static void
NDS_DestroyRenderer(SDL_Renderer * renderer) NDS_DestroyRenderer(SDL_Renderer * renderer)
{ {
NDS_RenderData *data = (NDS_RenderData *) renderer->driverdata; NDS_RenderData *data = (NDS_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window);
int i; int i;
if (data) { if (data) {

View file

@ -417,7 +417,7 @@ PND_gl_createcontext(_THIS, SDL_Window * window)
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
EGLBoolean status; EGLBoolean status;
int32_t gfstatus; int32_t gfstatus;
EGLint configs; EGLint configs;
@ -816,7 +816,7 @@ PND_gl_swapwindow(_THIS, SDL_Window * window)
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
if (phdata->egl_initialized != SDL_TRUE) { if (phdata->egl_initialized != SDL_TRUE) {

View file

@ -777,7 +777,7 @@ photon_createwindow(_THIS, SDL_Window * window)
{ {
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
SDL_WindowData *wdata; SDL_WindowData *wdata;
PhDim_t winsize; PhDim_t winsize;
PhPoint_t winpos; PhPoint_t winpos;
@ -997,7 +997,7 @@ photon_createwindow(_THIS, SDL_Window * window)
PtFlush(); PtFlush();
/* By default last created window got a input focus */ /* By default last created window got a input focus */
SDL_SetKeyboardFocus(0, window->id); SDL_SetKeyboardFocus(0, window);
/* Emit focus gained event, because photon is not sending it */ /* Emit focus gained event, because photon is not sending it */
SDL_OnWindowFocusGained(window); SDL_OnWindowFocusGained(window);
@ -1055,7 +1055,7 @@ photon_setwindowposition(_THIS, SDL_Window * window)
{ {
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
PhPoint_t winpos; PhPoint_t winpos;
int32_t status; int32_t status;
@ -1223,7 +1223,7 @@ photon_destroywindow(_THIS, SDL_Window * window)
{ {
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
int32_t status; int32_t status;
@ -1414,7 +1414,7 @@ photon_gl_createcontext(_THIS, SDL_Window * window)
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
EGLBoolean status; EGLBoolean status;
int32_t gfstatus; int32_t gfstatus;
EGLint configs; EGLint configs;
@ -1941,7 +1941,7 @@ photon_gl_swapwindow(_THIS, SDL_Window * window)
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
PhRect_t dst_rect; PhRect_t dst_rect;
PhRect_t src_rect; PhRect_t src_rect;
int32_t status; int32_t status;
@ -2050,7 +2050,7 @@ int photon_gl_recreatesurface(_THIS, SDL_Window * window, uint32_t width, uint32
SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *phdata = (SDL_VideoData *) _this->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
SDL_bool makecurrent=SDL_FALSE; SDL_bool makecurrent=SDL_FALSE;
int32_t gfstatus; int32_t gfstatus;
@ -2199,10 +2199,10 @@ photon_pumpevents(_THIS)
{ {
/* Mouse cursor over handled window */ /* Mouse cursor over handled window */
if (window != NULL) { if (window != NULL) {
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_ENTER, SDL_WINDOWEVENT_ENTER,
0, 0); 0, 0);
SDL_SetMouseFocus(0, window->id); SDL_SetMouseFocus(0, window);
} }
} }
break; break;
@ -2210,7 +2210,7 @@ photon_pumpevents(_THIS)
{ {
/* Mouse cursor out of handled window */ /* Mouse cursor out of handled window */
if (window != NULL) { if (window != NULL) {
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_LEAVE, SDL_WINDOWEVENT_LEAVE,
0, 0); 0, 0);
} }
@ -2682,7 +2682,7 @@ photon_pumpevents(_THIS)
case Ph_WM_CLOSE: case Ph_WM_CLOSE:
{ {
if (window != NULL) { if (window != NULL) {
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_CLOSE, SDL_WINDOWEVENT_CLOSE,
0, 0); 0, 0);
} }
@ -2695,10 +2695,10 @@ photon_pumpevents(_THIS)
if (window != NULL) { if (window != NULL) {
PhRegion_t wregion; PhRegion_t wregion;
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_FOCUS_GAINED, SDL_WINDOWEVENT_FOCUS_GAINED,
0, 0); 0, 0);
SDL_SetKeyboardFocus(0, window->id); SDL_SetKeyboardFocus(0, window);
/* Set window region sensible to mouse motion events */ /* Set window region sensible to mouse motion events */
PhRegionQuery(PtWidgetRid PhRegionQuery(PtWidgetRid
@ -2712,7 +2712,7 @@ photon_pumpevents(_THIS)
&wregion, NULL, NULL); &wregion, NULL, NULL);
/* If window got a focus, then it is visible */ /* If window got a focus, then it is visible */
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_SHOWN, SDL_WINDOWEVENT_SHOWN,
0, 0); 0, 0);
} }
@ -2722,7 +2722,7 @@ photon_pumpevents(_THIS)
if (window != NULL) { if (window != NULL) {
PhRegion_t wregion; PhRegion_t wregion;
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_FOCUS_LOST, SDL_WINDOWEVENT_FOCUS_LOST,
0, 0); 0, 0);
@ -2743,7 +2743,7 @@ photon_pumpevents(_THIS)
case Ph_WM_MOVE: case Ph_WM_MOVE:
{ {
if (window != NULL) { if (window != NULL) {
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_MOVED, SDL_WINDOWEVENT_MOVED,
wmevent->pos.x, wmevent->pos.x,
wmevent->pos.y); wmevent->pos.y);
@ -2754,7 +2754,7 @@ photon_pumpevents(_THIS)
{ {
if (window != NULL) { if (window != NULL) {
/* Set new window position after resize */ /* Set new window position after resize */
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_MOVED, SDL_WINDOWEVENT_MOVED,
wmevent->pos.x, wmevent->pos.x,
wmevent->pos.y); wmevent->pos.y);
@ -2766,7 +2766,7 @@ photon_pumpevents(_THIS)
} }
/* Set new window size after resize */ /* Set new window size after resize */
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_RESIZED, SDL_WINDOWEVENT_RESIZED,
wmevent->size.w, wmevent->size.w,
wmevent->size.h); wmevent->size.h);
@ -2777,11 +2777,11 @@ photon_pumpevents(_THIS)
{ {
if (window != NULL) { if (window != NULL) {
/* Send new window state: minimized */ /* Send new window state: minimized */
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_MINIMIZED, SDL_WINDOWEVENT_MINIMIZED,
0, 0); 0, 0);
/* In case window is minimized, then it is hidden */ /* In case window is minimized, then it is hidden */
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_HIDDEN, SDL_WINDOWEVENT_HIDDEN,
0, 0); 0, 0);
} }
@ -2792,7 +2792,7 @@ photon_pumpevents(_THIS)
if (window != NULL) { if (window != NULL) {
if ((window->flags & SDL_WINDOW_RESIZABLE)==SDL_WINDOW_RESIZABLE) if ((window->flags & SDL_WINDOW_RESIZABLE)==SDL_WINDOW_RESIZABLE)
{ {
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_MAXIMIZED, SDL_WINDOWEVENT_MAXIMIZED,
0, 0); 0, 0);
} }
@ -2806,7 +2806,7 @@ photon_pumpevents(_THIS)
case Ph_WM_RESTORE: case Ph_WM_RESTORE:
{ {
if (window != NULL) { if (window != NULL) {
SDL_SendWindowEvent(window->id, SDL_SendWindowEvent(window,
SDL_WINDOWEVENT_RESTORED, SDL_WINDOWEVENT_RESTORED,
0, 0); 0, 0);
} }

View file

@ -38,7 +38,7 @@ SDL_Cursor *photon_createcursor(SDL_Surface * surface, int hot_x, int hot_y);
int photon_showcursor(SDL_Cursor * cursor); int photon_showcursor(SDL_Cursor * cursor);
void photon_movecursor(SDL_Cursor * cursor); void photon_movecursor(SDL_Cursor * cursor);
void photon_freecursor(SDL_Cursor * cursor); void photon_freecursor(SDL_Cursor * cursor);
void photon_warpmouse(SDL_Mouse * mouse, SDL_WindowID windowID, int x, int y); void photon_warpmouse(SDL_Mouse * mouse, SDL_Window * window, int x, int y);
void photon_freemouse(SDL_Mouse * mouse); void photon_freemouse(SDL_Mouse * mouse);
int32_t int32_t
@ -228,13 +228,12 @@ photon_showcursor(SDL_Cursor * cursor)
SDL_DisplayData *didata; SDL_DisplayData *didata;
SDL_Window *window; SDL_Window *window;
SDL_WindowData *wdata; SDL_WindowData *wdata;
SDL_WindowID window_id;
PhCursorDef_t *internal_cursor; PhCursorDef_t *internal_cursor;
int32_t status; int32_t status;
/* Get current window id */ /* Get current window id */
window_id = SDL_GetFocusWindow(); window = SDL_GetFocusWindow();
if (window_id <= 0) { if (!window) {
SDL_MouseData *mdata = NULL; SDL_MouseData *mdata = NULL;
/* If there is no current window, then someone calls this function */ /* If there is no current window, then someone calls this function */
@ -264,9 +263,7 @@ photon_showcursor(SDL_Cursor * cursor)
} }
} else { } else {
/* Sanity checks */ /* Sanity checks */
window = SDL_GetWindowFromID(window_id); display = window->display;
if (window != NULL) {
display = SDL_GetDisplayFromWindow(window);
if (display != NULL) { if (display != NULL) {
didata = (SDL_DisplayData *) display->driverdata; didata = (SDL_DisplayData *) display->driverdata;
if (didata != NULL) { if (didata != NULL) {
@ -280,9 +277,6 @@ photon_showcursor(SDL_Cursor * cursor)
} else { } else {
return -1; return -1;
} }
} else {
return -1;
}
} }
/* return if window widget has been destroyed already */ /* return if window widget has been destroyed already */
@ -379,7 +373,7 @@ photon_movecursor(SDL_Cursor * cursor)
/* Sanity checks */ /* Sanity checks */
window = SDL_GetWindowFromID(window_id); window = SDL_GetWindowFromID(window_id);
if (window != NULL) { if (window != NULL) {
display = SDL_GetDisplayFromWindow(window); display = window->display;
if (display != NULL) { if (display != NULL) {
didata = (SDL_DisplayData *) display->driverdata; didata = (SDL_DisplayData *) display->driverdata;
if (didata != NULL) { if (didata != NULL) {
@ -418,19 +412,17 @@ photon_freecursor(SDL_Cursor * cursor)
} }
void void
photon_warpmouse(SDL_Mouse * mouse, SDL_WindowID windowID, int x, int y) photon_warpmouse(SDL_Mouse * mouse, SDL_Window * window, int x, int y)
{ {
SDL_VideoDisplay *display; SDL_VideoDisplay *display;
SDL_DisplayData *didata; SDL_DisplayData *didata;
SDL_Window *window;
SDL_WindowData *wdata; SDL_WindowData *wdata;
int16_t wx; int16_t wx;
int16_t wy; int16_t wy;
/* Sanity checks */ /* Sanity checks */
window = SDL_GetWindowFromID(windowID);
if (window != NULL) { if (window != NULL) {
display = SDL_GetDisplayFromWindow(window); display = window->display;
if (display != NULL) { if (display != NULL) {
didata = (SDL_DisplayData *) display->driverdata; didata = (SDL_DisplayData *) display->driverdata;
if (didata != NULL) { if (didata != NULL) {

View file

@ -124,7 +124,7 @@ SDL_RenderDriver photon_renderdriver = {
static SDL_Renderer * static SDL_Renderer *
photon_createrenderer(SDL_Window * window, Uint32 flags) photon_createrenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_Renderer *renderer = NULL; SDL_Renderer *renderer = NULL;
@ -171,7 +171,7 @@ photon_createrenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = photon_destroytexture; renderer->DestroyTexture = photon_destroytexture;
renderer->DestroyRenderer = photon_destroyrenderer; renderer->DestroyRenderer = photon_destroyrenderer;
renderer->info = photon_renderdriver.info; renderer->info = photon_renderdriver.info;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = rdata; renderer->driverdata = rdata;
/* Copy direct_mode status */ /* Copy direct_mode status */
@ -298,7 +298,7 @@ static int _photon_recreate_surfaces(SDL_Renderer * renderer)
/* Obtain window and display structures */ /* Obtain window and display structures */
window=SDL_GetWindowFromID(renderer->window); window=SDL_GetWindowFromID(renderer->window);
wdata=(SDL_WindowData*)window->driverdata; wdata=(SDL_WindowData*)window->driverdata;
display=SDL_GetDisplayFromWindow(window); display=window->display;
didata=(SDL_DisplayData *) display->driverdata; didata=(SDL_DisplayData *) display->driverdata;
phdata=(SDL_VideoData *) display->device->driverdata; phdata=(SDL_VideoData *) display->device->driverdata;
@ -723,7 +723,7 @@ photon_displaymodechanged(SDL_Renderer * renderer)
{ {
SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata; SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata;
/* Copy direct_mode status */ /* Copy direct_mode status */
@ -738,7 +738,7 @@ photon_createtexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata; SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata;
SDL_TextureData *tdata = NULL; SDL_TextureData *tdata = NULL;
uint32_t it; uint32_t it;

View file

@ -133,7 +133,7 @@ SDL_Renderer *
SDL_PS3_CreateRenderer(SDL_Window * window, Uint32 flags) SDL_PS3_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
deprintf(1, "+SDL_PS3_CreateRenderer()\n"); deprintf(1, "+SDL_PS3_CreateRenderer()\n");
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayMode *displayMode = &display->current_mode; SDL_DisplayMode *displayMode = &display->current_mode;
SDL_VideoData *devdata = display->device->driverdata; SDL_VideoData *devdata = display->device->driverdata;
SDL_Renderer *renderer; SDL_Renderer *renderer;
@ -179,7 +179,7 @@ SDL_PS3_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyRenderer = SDL_PS3_DestroyRenderer; renderer->DestroyRenderer = SDL_PS3_DestroyRenderer;
renderer->info.name = SDL_PS3_RenderDriver.info.name; renderer->info.name = SDL_PS3_RenderDriver.info.name;
renderer->info.flags = 0; renderer->info.flags = 0;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
deprintf(1, "window->w = %u\n", window->w); deprintf(1, "window->w = %u\n", window->w);
@ -518,7 +518,7 @@ SDL_PS3_RenderCopy(SDL_Renderer * renderer, SDL_Texture * texture,
SDL_PS3_RenderData *data = SDL_PS3_RenderData *data =
(SDL_PS3_RenderData *) renderer->driverdata; (SDL_PS3_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
PS3_TextureData *txdata = (PS3_TextureData *) texture->driverdata; PS3_TextureData *txdata = (PS3_TextureData *) texture->driverdata;
SDL_VideoData *devdata = display->device->driverdata; SDL_VideoData *devdata = display->device->driverdata;
@ -640,7 +640,7 @@ SDL_PS3_RenderPresent(SDL_Renderer * renderer)
SDL_PS3_RenderData *data = SDL_PS3_RenderData *data =
(SDL_PS3_RenderData *) renderer->driverdata; (SDL_PS3_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_VideoData *devdata = display->device->driverdata; SDL_VideoData *devdata = display->device->driverdata;
/* Send the data to the screen */ /* Send the data to the screen */

View file

@ -41,7 +41,7 @@ SDL_Cursor *gf_createcursor(SDL_Surface * surface, int hot_x, int hot_y);
int gf_showcursor(SDL_Cursor * cursor); int gf_showcursor(SDL_Cursor * cursor);
void gf_movecursor(SDL_Cursor * cursor); void gf_movecursor(SDL_Cursor * cursor);
void gf_freecursor(SDL_Cursor * cursor); void gf_freecursor(SDL_Cursor * cursor);
void gf_warpmouse(SDL_Mouse * mouse, SDL_WindowID windowID, int x, int y); void gf_warpmouse(SDL_Mouse * mouse, SDL_Window * window, int x, int y);
void gf_freemouse(SDL_Mouse * mouse); void gf_freemouse(SDL_Mouse * mouse);
/* HIDDI interacting functions */ /* HIDDI interacting functions */
@ -278,7 +278,7 @@ gf_showcursor(SDL_Cursor * cursor)
/* Sanity checks */ /* Sanity checks */
window = SDL_GetWindowFromID(window_id); window = SDL_GetWindowFromID(window_id);
if (window != NULL) { if (window != NULL) {
display = SDL_GetDisplayFromWindow(window); display = window->display;
if (display != NULL) { if (display != NULL) {
didata = (SDL_DisplayData *) display->driverdata; didata = (SDL_DisplayData *) display->driverdata;
if (didata == NULL) { if (didata == NULL) {
@ -399,7 +399,7 @@ gf_movecursor(SDL_Cursor * cursor)
/* Sanity checks */ /* Sanity checks */
window = SDL_GetWindowFromID(window_id); window = SDL_GetWindowFromID(window_id);
if (window != NULL) { if (window != NULL) {
display = SDL_GetDisplayFromWindow(window); display = window->display;
if (display != NULL) { if (display != NULL) {
didata = (SDL_DisplayData *) display->driverdata; didata = (SDL_DisplayData *) display->driverdata;
if (didata == NULL) { if (didata == NULL) {
@ -461,19 +461,17 @@ gf_freecursor(SDL_Cursor * cursor)
} }
void void
gf_warpmouse(SDL_Mouse * mouse, SDL_WindowID windowID, int x, int y) gf_warpmouse(SDL_Mouse * mouse, SDL_Window * window, int x, int y)
{ {
SDL_VideoDisplay *display; SDL_VideoDisplay *display;
SDL_DisplayData *didata; SDL_DisplayData *didata;
SDL_Window *window;
uint32_t xmax; uint32_t xmax;
uint32_t ymax; uint32_t ymax;
int32_t status; int32_t status;
/* Sanity checks */ /* Sanity checks */
window = SDL_GetWindowFromID(windowID);
if (window != NULL) { if (window != NULL) {
display = SDL_GetDisplayFromWindow(window); display = window->display;
if (display != NULL) { if (display != NULL) {
didata = (SDL_DisplayData *) display->driverdata; didata = (SDL_DisplayData *) display->driverdata;
if (didata == NULL) { if (didata == NULL) {
@ -495,7 +493,7 @@ gf_warpmouse(SDL_Mouse * mouse, SDL_WindowID windowID, int x, int y)
} }
/* Get window size to clamp maximum coordinates */ /* Get window size to clamp maximum coordinates */
SDL_GetWindowSize(windowID, &xmax, &ymax); SDL_GetWindowSize(window, &xmax, &ymax);
if (x >= xmax) { if (x >= xmax) {
x = xmax - 1; x = xmax - 1;
} }

View file

@ -110,7 +110,7 @@ SDL_RenderDriver gf_renderdriver = {
static SDL_Renderer * static SDL_Renderer *
gf_createrenderer(SDL_Window * window, Uint32 flags) gf_createrenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_Renderer *renderer = NULL; SDL_Renderer *renderer = NULL;
@ -162,7 +162,7 @@ gf_createrenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = gf_destroytexture; renderer->DestroyTexture = gf_destroytexture;
renderer->DestroyRenderer = gf_destroyrenderer; renderer->DestroyRenderer = gf_destroyrenderer;
renderer->info = gf_renderdriver.info; renderer->info = gf_renderdriver.info;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = rdata; renderer->driverdata = rdata;
/* Set render acceleration flag in case it is accelerated */ /* Set render acceleration flag in case it is accelerated */
@ -284,7 +284,7 @@ static int
gf_activaterenderer(SDL_Renderer * renderer) gf_activaterenderer(SDL_Renderer * renderer)
{ {
SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata; SDL_RenderData *rdata = (SDL_RenderData *) renderer->driverdata;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(rdata->window); SDL_VideoDisplay *display = rdata->window->display;
SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata;
/* Setup current surface as visible */ /* Setup current surface as visible */
@ -301,7 +301,7 @@ gf_createtexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
SDL_RenderData *renderdata = (SDL_RenderData *) renderer->driverdata; SDL_RenderData *renderdata = (SDL_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = SDL_GetWindowFromID(renderer->window);
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_TextureData *tdata = NULL; SDL_TextureData *tdata = NULL;
/* Allocate texture driver data */ /* Allocate texture driver data */

View file

@ -978,7 +978,7 @@ int
qnxgf_createwindow(_THIS, SDL_Window * window) qnxgf_createwindow(_THIS, SDL_Window * window)
{ {
SDL_VideoData *gfdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *gfdata = (SDL_VideoData *) _this->driverdata;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *didata = (SDL_DisplayData *) display->driverdata;
SDL_WindowData *wdata; SDL_WindowData *wdata;
int32_t status; int32_t status;
@ -1081,8 +1081,8 @@ qnxgf_createwindow(_THIS, SDL_Window * window)
hiddi_enable_mouse(); hiddi_enable_mouse();
/* By default last created window got a input focus */ /* By default last created window got a input focus */
SDL_SetKeyboardFocus(0, window->id); SDL_SetKeyboardFocus(0, window);
SDL_SetMouseFocus(0, window->id); SDL_SetMouseFocus(0, window);
/* Window has been successfully created */ /* Window has been successfully created */
return 0; return 0;
@ -1155,7 +1155,7 @@ qnxgf_destroywindow(_THIS, SDL_Window * window)
{ {
SDL_VideoData *gfdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *gfdata = (SDL_VideoData *) _this->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
if (wdata != NULL) { if (wdata != NULL) {
@ -1309,7 +1309,7 @@ qnxgf_gl_createcontext(_THIS, SDL_Window * window)
SDL_VideoData *gfdata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *gfdata = (SDL_VideoData *) _this->driverdata;
SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *didata = SDL_DisplayData *didata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
EGLBoolean status; EGLBoolean status;
int32_t gfstatus; int32_t gfstatus;
EGLint configs; EGLint configs;

View file

@ -25,12 +25,12 @@
/* *INDENT-OFF* */ /* *INDENT-OFF* */
@interface SDLUIKitDelegate:NSObject<UIApplicationDelegate> { @interface SDLUIKitDelegate:NSObject<UIApplicationDelegate> {
UIWindow *window; SDL_Window *window;
SDL_WindowID windowID; UIWindow *uiwindow;
} }
@property (readwrite, retain) UIWindow *window; @property (readwrite, assign) SDL_Window *window;
@property (readwrite, assign) SDL_WindowID windowID; @property (readwrite, retain) UIWindow *uiwindow;
+(SDLUIKitDelegate *)sharedAppDelegate; +(SDLUIKitDelegate *)sharedAppDelegate;

View file

@ -56,7 +56,7 @@ int main(int argc, char **argv) {
@implementation SDLUIKitDelegate @implementation SDLUIKitDelegate
@synthesize window; @synthesize window;
@synthesize windowID; @synthesize uiwindow;
/* convenience method */ /* convenience method */
+(SDLUIKitDelegate *)sharedAppDelegate { +(SDLUIKitDelegate *)sharedAppDelegate {
@ -66,8 +66,8 @@ int main(int argc, char **argv) {
- (id)init { - (id)init {
self = [super init]; self = [super init];
window = nil; window = NULL;
windowID = 0; uiwindow = nil;
return self; return self;
} }
@ -107,19 +107,19 @@ afterDelay:0.0];
- (void) applicationWillResignActive:(UIApplication*)application - (void) applicationWillResignActive:(UIApplication*)application
{ {
// NSLog(@"%@", NSStringFromSelector(_cmd)); // NSLog(@"%@", NSStringFromSelector(_cmd));
SDL_SendWindowEvent(self.windowID, SDL_WINDOWEVENT_MINIMIZED, 0, 0); SDL_SendWindowEvent(self.window, SDL_WINDOWEVENT_MINIMIZED, 0, 0);
} }
- (void) applicationDidBecomeActive:(UIApplication*)application - (void) applicationDidBecomeActive:(UIApplication*)application
{ {
// NSLog(@"%@", NSStringFromSelector(_cmd)); // NSLog(@"%@", NSStringFromSelector(_cmd));
SDL_SendWindowEvent(self.windowID, SDL_WINDOWEVENT_RESTORED, 0, 0); SDL_SendWindowEvent(self.window, SDL_WINDOWEVENT_RESTORED, 0, 0);
} }
-(void)dealloc { -(void)dealloc {
[window release]; [uiwindow release];
[super dealloc]; [super dealloc];
} }

View file

@ -23,10 +23,9 @@
#ifndef sdl_uikitkeyboard_h #ifndef sdl_uikitkeyboard_h
#define sdl_uikitkeyboard_h #define sdl_uikitkeyboard_h
extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardShow(SDL_WindowID windowID); extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardShow(SDL_Window * window);
extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardHide(SDL_WindowID windowID); extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardHide(SDL_Window * window);
extern DECLSPEC SDL_bool SDLCALL SDL_iPhoneKeyboardIsShown(SDL_WindowID extern DECLSPEC SDL_bool SDLCALL SDL_iPhoneKeyboardIsShown(SDL_Window * window);
windowID); extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardToggle(SDL_Window * window);
extern DECLSPEC int SDLCALL SDL_iPhoneKeyboardToggle(SDL_WindowID windowID);
#endif #endif

View file

@ -272,9 +272,8 @@
/* iPhone keyboard addition functions */ /* iPhone keyboard addition functions */
#if SDL_IPHONE_KEYBOARD #if SDL_IPHONE_KEYBOARD
int SDL_iPhoneKeyboardShow(SDL_WindowID windowID) { int SDL_iPhoneKeyboardShow(SDL_Window * window) {
SDL_Window *window = SDL_GetWindowFromID(windowID);
SDL_WindowData *data; SDL_WindowData *data;
SDL_uikitview *view; SDL_uikitview *view;
@ -296,9 +295,8 @@ int SDL_iPhoneKeyboardShow(SDL_WindowID windowID) {
} }
} }
int SDL_iPhoneKeyboardHide(SDL_WindowID windowID) { int SDL_iPhoneKeyboardHide(SDL_Window * window) {
SDL_Window *window = SDL_GetWindowFromID(windowID);
SDL_WindowData *data; SDL_WindowData *data;
SDL_uikitview *view; SDL_uikitview *view;
@ -320,9 +318,8 @@ int SDL_iPhoneKeyboardHide(SDL_WindowID windowID) {
} }
} }
SDL_bool SDL_iPhoneKeyboardIsShown(SDL_WindowID windowID) { SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window) {
SDL_Window *window = SDL_GetWindowFromID(windowID);
SDL_WindowData *data; SDL_WindowData *data;
SDL_uikitview *view; SDL_uikitview *view;
@ -343,9 +340,8 @@ SDL_bool SDL_iPhoneKeyboardIsShown(SDL_WindowID windowID) {
} }
} }
int SDL_iPhoneKeyboardToggle(SDL_WindowID windowID) { int SDL_iPhoneKeyboardToggle(SDL_Window * window) {
SDL_Window *window = SDL_GetWindowFromID(windowID);
SDL_WindowData *data; SDL_WindowData *data;
SDL_uikitview *view; SDL_uikitview *view;
@ -362,11 +358,11 @@ int SDL_iPhoneKeyboardToggle(SDL_WindowID windowID) {
return -1; return -1;
} }
else { else {
if (SDL_iPhoneKeyboardIsShown(windowID)) { if (SDL_iPhoneKeyboardIsShown(window)) {
SDL_iPhoneKeyboardHide(windowID); SDL_iPhoneKeyboardHide(window);
} }
else { else {
SDL_iPhoneKeyboardShow(windowID); SDL_iPhoneKeyboardShow(window);
} }
return 0; return 0;
} }
@ -376,21 +372,21 @@ int SDL_iPhoneKeyboardToggle(SDL_WindowID windowID) {
/* stubs, used if compiled without keyboard support */ /* stubs, used if compiled without keyboard support */
int SDL_iPhoneKeyboardShow(SDL_WindowID windowID) { int SDL_iPhoneKeyboardShow(SDL_Window * window) {
SDL_SetError("Not compiled with keyboard support"); SDL_SetError("Not compiled with keyboard support");
return -1; return -1;
} }
int SDL_iPhoneKeyboardHide(SDL_WindowID windowID) { int SDL_iPhoneKeyboardHide(SDL_Window * window) {
SDL_SetError("Not compiled with keyboard support"); SDL_SetError("Not compiled with keyboard support");
return -1; return -1;
} }
SDL_bool SDL_iPhoneKeyboardIsShown(SDL_WindowID windowID) { SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window) {
return 0; return 0;
} }
int SDL_iPhoneKeyboardToggle(SDL_WindowID windowID) { int SDL_iPhoneKeyboardToggle(SDL_Window * window) {
SDL_SetError("Not compiled with keyboard support"); SDL_SetError("Not compiled with keyboard support");
return -1; return -1;
} }

View file

@ -36,7 +36,7 @@ extern void UIKit_DestroyWindow(_THIS, SDL_Window * window);
struct SDL_WindowData struct SDL_WindowData
{ {
SDL_WindowID windowID; SDL_Window *window;
UIWindow *uiwindow; UIWindow *uiwindow;
SDL_uikitopenglview *view; SDL_uikitopenglview *view;
}; };

View file

@ -48,7 +48,7 @@ static int SetupWindowData(_THIS, SDL_Window *window, UIWindow *uiwindow, SDL_bo
SDL_OutOfMemory(); SDL_OutOfMemory();
return -1; return -1;
} }
data->windowID = window->id; data->window = window;
data->uiwindow = uiwindow; data->uiwindow = uiwindow;
data->view = nil; data->view = nil;
@ -98,8 +98,8 @@ int UIKit_CreateWindow(_THIS, SDL_Window *window) {
// This saves the main window in the app delegate so event callbacks can do stuff on the window. // This saves the main window in the app delegate so event callbacks can do stuff on the window.
// This assumes a single window application design and needs to be fixed for multiple windows. // This assumes a single window application design and needs to be fixed for multiple windows.
[SDLUIKitDelegate sharedAppDelegate].window = uiwindow; [SDLUIKitDelegate sharedAppDelegate].window = window;
[SDLUIKitDelegate sharedAppDelegate].windowID = window->id; [SDLUIKitDelegate sharedAppDelegate].uiwindow = uiwindow;
[uiwindow release]; /* release the window (the app delegate has retained it) */ [uiwindow release]; /* release the window (the app delegate has retained it) */
return 1; return 1;
@ -115,9 +115,8 @@ void UIKit_DestroyWindow(_THIS, SDL_Window * window) {
} }
/* this will also destroy the window */ /* this will also destroy the window */
[SDLUIKitDelegate sharedAppDelegate].window = nil; [SDLUIKitDelegate sharedAppDelegate].window = NULL;
[SDLUIKitDelegate sharedAppDelegate].windowID = 0; [SDLUIKitDelegate sharedAppDelegate].uiwindow = nil;
} }
/* vi: set ts=4 sw=4 expandtab: */ /* vi: set ts=4 sw=4 expandtab: */

View file

@ -391,7 +391,7 @@ DDRAW_AddRenderDriver(_THIS)
{ {
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata; SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
SDL_RendererInfo *info = &DDRAW_RenderDriver.info; SDL_RendererInfo *info = &DDRAW_RenderDriver.info;
SDL_DisplayMode *mode = &SDL_CurrentDisplay.desktop_mode; SDL_DisplayMode *mode = &SDL_CurrentDisplay->desktop_mode;
if (data->ddraw) { if (data->ddraw) {
int i; int i;
@ -437,7 +437,7 @@ DDRAW_AddRenderDriver(_THIS)
SDL_Renderer * SDL_Renderer *
DDRAW_CreateRenderer(SDL_Window * window, Uint32 flags) DDRAW_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_VideoData *videodata = (SDL_VideoData *) display->device->driverdata; SDL_VideoData *videodata = (SDL_VideoData *) display->device->driverdata;
SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata;
SDL_Renderer *renderer; SDL_Renderer *renderer;
@ -479,7 +479,7 @@ DDRAW_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = DDRAW_DestroyTexture; renderer->DestroyTexture = DDRAW_DestroyTexture;
renderer->DestroyRenderer = DDRAW_DestroyRenderer; renderer->DestroyRenderer = DDRAW_DestroyRenderer;
renderer->info = DDRAW_RenderDriver.info; renderer->info = DDRAW_RenderDriver.info;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
renderer->info.flags = SDL_RENDERER_ACCELERATED; renderer->info.flags = SDL_RENDERER_ACCELERATED;
@ -568,8 +568,8 @@ DDRAW_DisplayModeChanged(SDL_Renderer * renderer)
{ {
//TODO implement //TODO implement
/*D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata; /*D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
data->pparams.BackBufferWidth = window->w; data->pparams.BackBufferWidth = window->w;
data->pparams.BackBufferHeight = window->h; data->pparams.BackBufferHeight = window->h;
@ -587,8 +587,8 @@ static int
DDRAW_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) DDRAW_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
DDRAW_RenderData *renderdata = (DDRAW_RenderData *) renderer->driverdata; DDRAW_RenderData *renderdata = (DDRAW_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
Uint32 display_format = display->current_mode.format; Uint32 display_format = display->current_mode.format;
DDRAW_TextureData *data; DDRAW_TextureData *data;
DDSURFACEDESC ddsd; DDSURFACEDESC ddsd;

View file

@ -427,7 +427,7 @@ D3D_AddRenderDriver(_THIS)
SDL_Renderer * SDL_Renderer *
D3D_CreateRenderer(SDL_Window * window, Uint32 flags) D3D_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_VideoData *videodata = (SDL_VideoData *) display->device->driverdata; SDL_VideoData *videodata = (SDL_VideoData *) display->device->driverdata;
SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata;
SDL_Renderer *renderer; SDL_Renderer *renderer;
@ -475,7 +475,7 @@ D3D_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = D3D_DestroyTexture; renderer->DestroyTexture = D3D_DestroyTexture;
renderer->DestroyRenderer = D3D_DestroyRenderer; renderer->DestroyRenderer = D3D_DestroyRenderer;
renderer->info = D3D_RenderDriver.info; renderer->info = D3D_RenderDriver.info;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
renderer->info.flags = SDL_RENDERER_ACCELERATED; renderer->info.flags = SDL_RENDERER_ACCELERATED;
@ -677,8 +677,8 @@ static int
D3D_DisplayModeChanged(SDL_Renderer * renderer) D3D_DisplayModeChanged(SDL_Renderer * renderer)
{ {
D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata; D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
data->pparams.BackBufferWidth = window->w; data->pparams.BackBufferWidth = window->w;
data->pparams.BackBufferHeight = window->h; data->pparams.BackBufferHeight = window->h;
@ -695,8 +695,8 @@ static int
D3D_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) D3D_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
D3D_RenderData *renderdata = (D3D_RenderData *) renderer->driverdata; D3D_RenderData *renderdata = (D3D_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
Uint32 display_format = display->current_mode.format; Uint32 display_format = display->current_mode.format;
D3D_TextureData *data; D3D_TextureData *data;
HRESULT result; HRESULT result;
@ -1398,8 +1398,8 @@ D3D_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect,
Uint32 format, void * pixels, int pitch) Uint32 format, void * pixels, int pitch)
{ {
D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata; D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
D3DSURFACE_DESC desc; D3DSURFACE_DESC desc;
LPDIRECT3DSURFACE9 backBuffer; LPDIRECT3DSURFACE9 backBuffer;
LPDIRECT3DSURFACE9 surface; LPDIRECT3DSURFACE9 surface;

View file

@ -430,7 +430,7 @@ GetFramebuffer()
SDL_Renderer * SDL_Renderer *
GAPI_CreateRenderer(SDL_Window * window, Uint32 flags) GAPI_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata;
SDL_DisplayMode *displayMode = &display->current_mode; SDL_DisplayMode *displayMode = &display->current_mode;
SDL_Renderer *renderer; SDL_Renderer *renderer;
@ -472,7 +472,7 @@ GAPI_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyRenderer = GAPI_DestroyRenderer; renderer->DestroyRenderer = GAPI_DestroyRenderer;
renderer->info.name = GAPI_RenderDriver.info.name; renderer->info.name = GAPI_RenderDriver.info.name;
renderer->info.flags = 0; renderer->info.flags = 0;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
/* Gapi provides only a framebuffer so lets use software implementation */ /* Gapi provides only a framebuffer so lets use software implementation */

View file

@ -207,7 +207,7 @@ GDI_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = GDI_DestroyTexture; renderer->DestroyTexture = GDI_DestroyTexture;
renderer->DestroyRenderer = GDI_DestroyRenderer; renderer->DestroyRenderer = GDI_DestroyRenderer;
renderer->info = GDI_RenderDriver.info; renderer->info = GDI_RenderDriver.info;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
renderer->info.flags = SDL_RENDERER_ACCELERATED; renderer->info.flags = SDL_RENDERER_ACCELERATED;
@ -274,7 +274,7 @@ static int
GDI_DisplayModeChanged(SDL_Renderer * renderer) GDI_DisplayModeChanged(SDL_Renderer * renderer)
{ {
GDI_RenderData *data = (GDI_RenderData *) renderer->driverdata; GDI_RenderData *data = (GDI_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
int i, n; int i, n;
if (renderer->info.flags & SDL_RENDERER_SINGLEBUFFER) { if (renderer->info.flags & SDL_RENDERER_SINGLEBUFFER) {
@ -378,8 +378,8 @@ static int
GDI_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) GDI_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
GDI_RenderData *renderdata = (GDI_RenderData *) renderer->driverdata; GDI_RenderData *renderdata = (GDI_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
GDI_TextureData *data; GDI_TextureData *data;
data = (GDI_TextureData *) SDL_calloc(1, sizeof(*data)); data = (GDI_TextureData *) SDL_calloc(1, sizeof(*data));
@ -699,7 +699,7 @@ GDI_RenderDrawPoints(SDL_Renderer * renderer, const SDL_Point * points,
if (data->makedirty) { if (data->makedirty) {
/* Get the smallest rectangle that contains everything */ /* Get the smallest rectangle that contains everything */
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_Rect rect; SDL_Rect rect;
rect.x = 0; rect.x = 0;
@ -732,7 +732,7 @@ GDI_RenderDrawLines(SDL_Renderer * renderer, const SDL_Point * points,
if (data->makedirty) { if (data->makedirty) {
/* Get the smallest rectangle that contains everything */ /* Get the smallest rectangle that contains everything */
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_Rect clip, rect; SDL_Rect clip, rect;
clip.x = 0; clip.x = 0;
@ -787,7 +787,7 @@ GDI_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
int i, status = 1; int i, status = 1;
if (data->makedirty) { if (data->makedirty) {
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_Rect clip, rect; SDL_Rect clip, rect;
clip.x = 0; clip.x = 0;
@ -844,7 +844,7 @@ GDI_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects,
int i, status = 1; int i, status = 1;
if (data->makedirty) { if (data->makedirty) {
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_Rect clip, rect; SDL_Rect clip, rect;
clip.x = 0; clip.x = 0;
@ -943,8 +943,8 @@ GDI_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect,
Uint32 format, void * pixels, int pitch) Uint32 format, void * pixels, int pitch)
{ {
GDI_RenderData *renderdata = (GDI_RenderData *) renderer->driverdata; GDI_RenderData *renderdata = (GDI_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
struct { struct {
HBITMAP hbm; HBITMAP hbm;
void *pixels; void *pixels;
@ -984,8 +984,8 @@ GDI_RenderWritePixels(SDL_Renderer * renderer, const SDL_Rect * rect,
Uint32 format, const void * pixels, int pitch) Uint32 format, const void * pixels, int pitch)
{ {
GDI_RenderData *renderdata = (GDI_RenderData *) renderer->driverdata; GDI_RenderData *renderdata = (GDI_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
struct { struct {
HBITMAP hbm; HBITMAP hbm;
void *pixels; void *pixels;

View file

@ -169,11 +169,9 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
case WM_SHOWWINDOW: case WM_SHOWWINDOW:
{ {
if (wParam) { if (wParam) {
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_SHOWN, 0, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_SHOWN, 0, 0);
0);
} else { } else {
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_HIDDEN, 0, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_HIDDEN, 0, 0);
0);
} }
} }
break; break;
@ -188,26 +186,25 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
index = data->videodata->keyboard; index = data->videodata->keyboard;
keyboard = SDL_GetKeyboard(index); keyboard = SDL_GetKeyboard(index);
if (!minimized && (LOWORD(wParam) != WA_INACTIVE)) { if (!minimized && (LOWORD(wParam) != WA_INACTIVE)) {
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_SHOWN, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_SHOWN, 0, 0);
0, 0); SDL_SendWindowEvent(data->window,
SDL_SendWindowEvent(data->windowID,
SDL_WINDOWEVENT_RESTORED, 0, 0); SDL_WINDOWEVENT_RESTORED, 0, 0);
#ifndef _WIN32_WCE /* WinCE misses IsZoomed() */ #ifndef _WIN32_WCE /* WinCE misses IsZoomed() */
if (IsZoomed(hwnd)) { if (IsZoomed(hwnd)) {
SDL_SendWindowEvent(data->windowID, SDL_SendWindowEvent(data->window,
SDL_WINDOWEVENT_MAXIMIZED, 0, 0); SDL_WINDOWEVENT_MAXIMIZED, 0, 0);
} }
#endif #endif
if (keyboard && keyboard->focus != data->windowID) { if (keyboard && keyboard->focus != data->window) {
SDL_SetKeyboardFocus(index, data->windowID); SDL_SetKeyboardFocus(index, data->window);
} }
/* FIXME: Update keyboard state */ /* FIXME: Update keyboard state */
} else { } else {
if (keyboard && keyboard->focus == data->windowID) { if (keyboard && keyboard->focus == data->window) {
SDL_SetKeyboardFocus(index, 0); SDL_SetKeyboardFocus(index, 0);
} }
if (minimized) { if (minimized) {
SDL_SendWindowEvent(data->windowID, SDL_SendWindowEvent(data->window,
SDL_WINDOWEVENT_MINIMIZED, 0, 0); SDL_WINDOWEVENT_MINIMIZED, 0, 0);
} }
} }
@ -272,9 +269,9 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
GetCursorPos(&point); GetCursorPos(&point);
ScreenToClient(hwnd, &point); ScreenToClient(hwnd, &point);
SDL_GetWindowSize(data->windowID, &w, &h); SDL_GetWindowSize(data->window, &w, &h);
if (point.x >= 0 && point.y >= 0 && point.x < w && point.y < h) { if (point.x >= 0 && point.y >= 0 && point.x < w && point.y < h) {
SDL_SetMouseFocus(index, data->windowID); SDL_SetMouseFocus(index, data->window);
} else { } else {
SDL_SetMouseFocus(index, 0); SDL_SetMouseFocus(index, 0);
/* FIXME: Should we be doing anything else here? */ /* FIXME: Should we be doing anything else here? */
@ -330,7 +327,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
for (i = 0; i < SDL_GetNumMice(); ++i) { for (i = 0; i < SDL_GetNumMice(); ++i) {
SDL_Mouse *mouse = SDL_GetMouse(i); SDL_Mouse *mouse = SDL_GetMouse(i);
if (mouse->focus == data->windowID) { if (mouse->focus == data->window) {
SDL_SetMouseFocus(i, 0); SDL_SetMouseFocus(i, 0);
} }
} }
@ -490,7 +487,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
BOOL menu; BOOL menu;
/* If we allow resizing, let the resize happen naturally */ /* If we allow resizing, let the resize happen naturally */
if (SDL_GetWindowFlags(data->windowID) & SDL_WINDOW_RESIZABLE) { if (SDL_GetWindowFlags(data->window) & SDL_WINDOW_RESIZABLE) {
returnCode = 0; returnCode = 0;
break; break;
} }
@ -501,7 +498,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
y = size.top; y = size.top;
/* Calculate current size of our window */ /* Calculate current size of our window */
SDL_GetWindowSize(data->windowID, &w, &h); SDL_GetWindowSize(data->window, &w, &h);
size.top = 0; size.top = 0;
size.left = 0; size.left = 0;
size.bottom = h; size.bottom = h;
@ -551,7 +548,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
ClientToScreen(hwnd, (LPPOINT) & rect); ClientToScreen(hwnd, (LPPOINT) & rect);
ClientToScreen(hwnd, (LPPOINT) & rect + 1); ClientToScreen(hwnd, (LPPOINT) & rect + 1);
window_flags = SDL_GetWindowFlags(data->windowID); window_flags = SDL_GetWindowFlags(data->window);
if ((window_flags & SDL_WINDOW_INPUT_GRABBED) && if ((window_flags & SDL_WINDOW_INPUT_GRABBED) &&
(window_flags & SDL_WINDOW_INPUT_FOCUS)) { (window_flags & SDL_WINDOW_INPUT_FOCUS)) {
ClipCursor(&rect); ClipCursor(&rect);
@ -559,11 +556,11 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
x = rect.left; x = rect.left;
y = rect.top; y = rect.top;
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_MOVED, x, y); SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_MOVED, x, y);
w = rect.right - rect.left; w = rect.right - rect.left;
h = rect.bottom - rect.top; h = rect.bottom - rect.top;
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_RESIZED, w, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_RESIZED, w,
h); h);
} }
break; break;
@ -610,7 +607,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
RECT rect; RECT rect;
if (GetUpdateRect(hwnd, &rect, FALSE)) { if (GetUpdateRect(hwnd, &rect, FALSE)) {
ValidateRect(hwnd, &rect); ValidateRect(hwnd, &rect);
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_EXPOSED, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_EXPOSED,
0, 0); 0, 0);
} }
} }
@ -637,7 +634,7 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
case WM_CLOSE: case WM_CLOSE:
{ {
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_CLOSE, 0, 0); SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_CLOSE, 0, 0);
} }
returnCode = 0; returnCode = 0;
break; break;

View file

@ -86,7 +86,7 @@ static int
SetupWindowData(_THIS, SDL_Window * window, HWND hwnd, SDL_bool created) SetupWindowData(_THIS, SDL_Window * window, HWND hwnd, SDL_bool created)
{ {
SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_WindowData *data; SDL_WindowData *data;
/* Allocate the window data */ /* Allocate the window data */
@ -95,7 +95,7 @@ SetupWindowData(_THIS, SDL_Window * window, HWND hwnd, SDL_bool created)
SDL_OutOfMemory(); SDL_OutOfMemory();
return -1; return -1;
} }
data->windowID = window->id; data->window = window;
data->hwnd = hwnd; data->hwnd = hwnd;
data->hdc = GetDC(hwnd); data->hdc = GetDC(hwnd);
data->created = created; data->created = created;
@ -167,7 +167,7 @@ SetupWindowData(_THIS, SDL_Window * window, HWND hwnd, SDL_bool created)
if (GetFocus() == hwnd) { if (GetFocus() == hwnd) {
int index = data->videodata->keyboard; int index = data->videodata->keyboard;
window->flags |= SDL_WINDOW_INPUT_FOCUS; window->flags |= SDL_WINDOW_INPUT_FOCUS;
SDL_SetKeyboardFocus(index, data->windowID); SDL_SetKeyboardFocus(index, data->window);
if (window->flags & SDL_WINDOW_INPUT_GRABBED) { if (window->flags & SDL_WINDOW_INPUT_GRABBED) {
RECT rect; RECT rect;
@ -187,7 +187,7 @@ int
WIN_CreateWindow(_THIS, SDL_Window * window) WIN_CreateWindow(_THIS, SDL_Window * window)
{ {
SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata; SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
RAWINPUTDEVICE Rid; RAWINPUTDEVICE Rid;
AXIS TabX, TabY; AXIS TabX, TabY;
LOGCONTEXTA lc; LOGCONTEXTA lc;
@ -429,7 +429,7 @@ WIN_SetWindowIcon(_THIS, SDL_Window * window, SDL_Surface * icon)
void void
WIN_SetWindowPosition(_THIS, SDL_Window * window) WIN_SetWindowPosition(_THIS, SDL_Window * window)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
HWND hwnd = ((SDL_WindowData *) window->driverdata)->hwnd; HWND hwnd = ((SDL_WindowData *) window->driverdata)->hwnd;
RECT rect; RECT rect;
SDL_Rect bounds; SDL_Rect bounds;

View file

@ -26,7 +26,7 @@
typedef struct typedef struct
{ {
SDL_WindowID windowID; SDL_Window *window;
HWND hwnd; HWND hwnd;
HDC hdc; HDC hdc;
WNDPROC wndproc; WNDPROC wndproc;

View file

@ -66,7 +66,7 @@ X11_DispatchEvent(_THIS)
if (videodata && videodata->windowlist) { if (videodata && videodata->windowlist) {
for (i = 0; i < videodata->numwindows; ++i) { for (i = 0; i < videodata->numwindows; ++i) {
if ((videodata->windowlist[i] != NULL) && if ((videodata->windowlist[i] != NULL) &&
(videodata->windowlist[i]->window == xevent.xany.window)) { (videodata->windowlist[i]->xwindow == xevent.xany.window)) {
data = videodata->windowlist[i]; data = videodata->windowlist[i];
break; break;
} }
@ -97,7 +97,7 @@ X11_DispatchEvent(_THIS)
/* FIXME: Should we reset data for all mice? */ /* FIXME: Should we reset data for all mice? */
for (i = 0; i < SDL_GetNumMice(); ++i) { for (i = 0; i < SDL_GetNumMice(); ++i) {
SDL_Mouse *mouse = SDL_GetMouse(i); SDL_Mouse *mouse = SDL_GetMouse(i);
SDL_SetMouseFocus(mouse->id, data->windowID); SDL_SetMouseFocus(mouse->id, data->window);
} }
#endif #endif
} }
@ -132,7 +132,7 @@ X11_DispatchEvent(_THIS)
#ifdef DEBUG_XEVENTS #ifdef DEBUG_XEVENTS
printf("FocusIn!\n"); printf("FocusIn!\n");
#endif #endif
SDL_SetKeyboardFocus(videodata->keyboard, data->windowID); SDL_SetKeyboardFocus(videodata->keyboard, data->window);
#ifdef X_HAVE_UTF8_STRING #ifdef X_HAVE_UTF8_STRING
if (data->ic) { if (data->ic) {
XSetICFocus(data->ic); XSetICFocus(data->ic);
@ -232,9 +232,8 @@ X11_DispatchEvent(_THIS)
#ifdef DEBUG_XEVENTS #ifdef DEBUG_XEVENTS
printf("UnmapNotify!\n"); printf("UnmapNotify!\n");
#endif #endif
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_HIDDEN, 0, 0); SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_HIDDEN, 0, 0);
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_MINIMIZED, 0, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_MINIMIZED, 0, 0);
0);
} }
break; break;
@ -243,9 +242,8 @@ X11_DispatchEvent(_THIS)
#ifdef DEBUG_XEVENTS #ifdef DEBUG_XEVENTS
printf("MapNotify!\n"); printf("MapNotify!\n");
#endif #endif
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_SHOWN, 0, 0); SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_SHOWN, 0, 0);
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_RESTORED, 0, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_RESTORED, 0, 0);
0);
} }
break; break;
@ -255,9 +253,9 @@ X11_DispatchEvent(_THIS)
printf("ConfigureNotify! (resize: %dx%d)\n", printf("ConfigureNotify! (resize: %dx%d)\n",
xevent.xconfigure.width, xevent.xconfigure.height); xevent.xconfigure.width, xevent.xconfigure.height);
#endif #endif
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_MOVED, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_MOVED,
xevent.xconfigure.x, xevent.xconfigure.y); xevent.xconfigure.x, xevent.xconfigure.y);
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_RESIZED, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_RESIZED,
xevent.xconfigure.width, xevent.xconfigure.width,
xevent.xconfigure.height); xevent.xconfigure.height);
} }
@ -268,8 +266,7 @@ X11_DispatchEvent(_THIS)
if ((xevent.xclient.format == 32) && if ((xevent.xclient.format == 32) &&
(xevent.xclient.data.l[0] == videodata->WM_DELETE_WINDOW)) { (xevent.xclient.data.l[0] == videodata->WM_DELETE_WINDOW)) {
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_CLOSE, 0, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_CLOSE, 0, 0);
0);
} }
} }
break; break;
@ -279,8 +276,7 @@ X11_DispatchEvent(_THIS)
#ifdef DEBUG_XEVENTS #ifdef DEBUG_XEVENTS
printf("Expose (count = %d)\n", xevent.xexpose.count); printf("Expose (count = %d)\n", xevent.xexpose.count);
#endif #endif
SDL_SendWindowEvent(data->windowID, SDL_WINDOWEVENT_EXPOSED, 0, SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_EXPOSED, 0, 0);
0);
} }
break; break;

View file

@ -221,7 +221,7 @@ static void
X11_GL_InitExtensions(_THIS) X11_GL_InitExtensions(_THIS)
{ {
Display *display = ((SDL_VideoData *) _this->driverdata)->display; Display *display = ((SDL_VideoData *) _this->driverdata)->display;
int screen = ((SDL_DisplayData *) SDL_CurrentDisplay.driverdata)->screen; int screen = ((SDL_DisplayData *) SDL_CurrentDisplay->driverdata)->screen;
XVisualInfo *vinfo; XVisualInfo *vinfo;
XSetWindowAttributes xattr; XSetWindowAttributes xattr;
Window w; Window w;
@ -394,8 +394,7 @@ X11_GL_CreateContext(_THIS, SDL_Window * window)
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
int screen = int screen =
((SDL_DisplayData *) SDL_GetDisplayFromWindow(window)-> ((SDL_DisplayData *) window->display->driverdata)->screen;
driverdata)->screen;
XWindowAttributes xattr; XWindowAttributes xattr;
XVisualInfo v, *vinfo; XVisualInfo v, *vinfo;
int n; int n;
@ -403,7 +402,7 @@ X11_GL_CreateContext(_THIS, SDL_Window * window)
/* We do this to create a clean separation between X and GLX errors. */ /* We do this to create a clean separation between X and GLX errors. */
XSync(display, False); XSync(display, False);
XGetWindowAttributes(display, data->window, &xattr); XGetWindowAttributes(display, data->xwindow, &xattr);
v.screen = screen; v.screen = screen;
v.visualid = XVisualIDFromVisual(xattr.visual); v.visualid = XVisualIDFromVisual(xattr.visual);
vinfo = XGetVisualInfo(display, VisualScreenMask | VisualIDMask, &v, &n); vinfo = XGetVisualInfo(display, VisualScreenMask | VisualIDMask, &v, &n);
@ -492,7 +491,7 @@ X11_GL_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context)
{ {
Display *display = ((SDL_VideoData *) _this->driverdata)->display; Display *display = ((SDL_VideoData *) _this->driverdata)->display;
Window drawable = Window drawable =
(window ? ((SDL_WindowData *) window->driverdata)->window : None); (window ? ((SDL_WindowData *) window->driverdata)->xwindow : None);
GLXContext glx_context = (GLXContext) context; GLXContext glx_context = (GLXContext) context;
int status; int status;
@ -560,7 +559,7 @@ X11_GL_SwapWindow(_THIS, SDL_Window * window)
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
_this->gl_data->glXSwapBuffers(display, data->window); _this->gl_data->glXSwapBuffers(display, data->xwindow);
} }
void void

View file

@ -93,7 +93,7 @@ typedef struct
Visual *visual; Visual *visual;
int depth; int depth;
int scanline_pad; int scanline_pad;
Window window; Window xwindow;
Pixmap pixmaps[3]; Pixmap pixmaps[3];
int current_pixmap; int current_pixmap;
Drawable drawable; Drawable drawable;
@ -153,7 +153,7 @@ X11_AddRenderDriver(_THIS)
{ {
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata; SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
SDL_RendererInfo *info = &X11_RenderDriver.info; SDL_RendererInfo *info = &X11_RenderDriver.info;
SDL_DisplayMode *mode = &SDL_CurrentDisplay.desktop_mode; SDL_DisplayMode *mode = &SDL_CurrentDisplay->desktop_mode;
int i; int i;
info->texture_formats[info->num_texture_formats++] = mode->format; info->texture_formats[info->num_texture_formats++] = mode->format;
@ -171,7 +171,7 @@ X11_AddRenderDriver(_THIS)
SDL_Renderer * SDL_Renderer *
X11_CreateRenderer(SDL_Window * window, Uint32 flags) X11_CreateRenderer(SDL_Window * window, Uint32 flags)
{ {
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
SDL_DisplayData *displaydata = (SDL_DisplayData *) display->driverdata; SDL_DisplayData *displaydata = (SDL_DisplayData *) display->driverdata;
SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata; SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata;
SDL_Renderer *renderer; SDL_Renderer *renderer;
@ -199,7 +199,7 @@ X11_CreateRenderer(SDL_Window * window, Uint32 flags)
data->visual = displaydata->visual; data->visual = displaydata->visual;
data->depth = displaydata->depth; data->depth = displaydata->depth;
data->scanline_pad = displaydata->scanline_pad; data->scanline_pad = displaydata->scanline_pad;
data->window = windowdata->window; data->xwindow = windowdata->xwindow;
renderer->DisplayModeChanged = X11_DisplayModeChanged; renderer->DisplayModeChanged = X11_DisplayModeChanged;
renderer->CreateTexture = X11_CreateTexture; renderer->CreateTexture = X11_CreateTexture;
@ -221,7 +221,7 @@ X11_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->DestroyTexture = X11_DestroyTexture; renderer->DestroyTexture = X11_DestroyTexture;
renderer->DestroyRenderer = X11_DestroyRenderer; renderer->DestroyRenderer = X11_DestroyRenderer;
renderer->info = X11_RenderDriver.info; renderer->info = X11_RenderDriver.info;
renderer->window = window->id; renderer->window = window;
renderer->driverdata = data; renderer->driverdata = data;
renderer->info.flags = SDL_RENDERER_ACCELERATED; renderer->info.flags = SDL_RENDERER_ACCELERATED;
@ -242,7 +242,7 @@ X11_CreateRenderer(SDL_Window * window, Uint32 flags)
} }
for (i = 0; i < n; ++i) { for (i = 0; i < n; ++i) {
data->pixmaps[i] = data->pixmaps[i] =
XCreatePixmap(data->display, data->window, window->w, window->h, XCreatePixmap(data->display, data->xwindow, window->w, window->h,
displaydata->depth); displaydata->depth);
if (data->pixmaps[i] == None) { if (data->pixmaps[i] == None) {
X11_DestroyRenderer(renderer); X11_DestroyRenderer(renderer);
@ -254,7 +254,7 @@ X11_CreateRenderer(SDL_Window * window, Uint32 flags)
data->drawable = data->pixmaps[0]; data->drawable = data->pixmaps[0];
data->makedirty = SDL_TRUE; data->makedirty = SDL_TRUE;
} else { } else {
data->drawable = data->window; data->drawable = data->xwindow;
data->makedirty = SDL_FALSE; data->makedirty = SDL_FALSE;
} }
data->current_pixmap = 0; data->current_pixmap = 0;
@ -272,7 +272,7 @@ X11_CreateRenderer(SDL_Window * window, Uint32 flags)
/* Create the drawing context */ /* Create the drawing context */
gcv.graphics_exposures = False; gcv.graphics_exposures = False;
data->gc = data->gc =
XCreateGC(data->display, data->window, GCGraphicsExposures, &gcv); XCreateGC(data->display, data->xwindow, GCGraphicsExposures, &gcv);
if (!data->gc) { if (!data->gc) {
X11_DestroyRenderer(renderer); X11_DestroyRenderer(renderer);
SDL_SetError("XCreateGC() failed"); SDL_SetError("XCreateGC() failed");
@ -286,7 +286,7 @@ static int
X11_DisplayModeChanged(SDL_Renderer * renderer) X11_DisplayModeChanged(SDL_Renderer * renderer)
{ {
X11_RenderData *data = (X11_RenderData *) renderer->driverdata; X11_RenderData *data = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
int i, n; int i, n;
if (renderer->info.flags & SDL_RENDERER_SINGLEBUFFER) { if (renderer->info.flags & SDL_RENDERER_SINGLEBUFFER) {
@ -306,7 +306,7 @@ X11_DisplayModeChanged(SDL_Renderer * renderer)
} }
for (i = 0; i < n; ++i) { for (i = 0; i < n; ++i) {
data->pixmaps[i] = data->pixmaps[i] =
XCreatePixmap(data->display, data->window, window->w, window->h, XCreatePixmap(data->display, data->xwindow, window->w, window->h,
data->depth); data->depth);
if (data->pixmaps[i] == None) { if (data->pixmaps[i] == None) {
SDL_SetError("XCreatePixmap() failed"); SDL_SetError("XCreatePixmap() failed");
@ -325,8 +325,8 @@ static int
X11_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) X11_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
{ {
X11_RenderData *renderdata = (X11_RenderData *) renderer->driverdata; X11_RenderData *renderdata = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
X11_TextureData *data; X11_TextureData *data;
int pitch_alignmask = ((renderdata->scanline_pad / 8) - 1); int pitch_alignmask = ((renderdata->scanline_pad / 8) - 1);
@ -425,7 +425,7 @@ X11_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
} }
} else { } else {
data->pixmap = data->pixmap =
XCreatePixmap(renderdata->display, renderdata->window, texture->w, XCreatePixmap(renderdata->display, renderdata->xwindow, texture->w,
texture->h, renderdata->depth); texture->h, renderdata->depth);
if (data->pixmap == None) { if (data->pixmap == None) {
X11_DestroyTexture(renderer, texture); X11_DestroyTexture(renderer, texture);
@ -607,7 +607,7 @@ X11_RenderDrawPoints(SDL_Renderer * renderer, const SDL_Point * points,
int count) int count)
{ {
X11_RenderData *data = (X11_RenderData *) renderer->driverdata; X11_RenderData *data = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
unsigned long foreground; unsigned long foreground;
XPoint *xpoints, *xpoint; XPoint *xpoints, *xpoint;
int i, xcount; int i, xcount;
@ -657,7 +657,7 @@ X11_RenderDrawLines(SDL_Renderer * renderer, const SDL_Point * points,
int count) int count)
{ {
X11_RenderData *data = (X11_RenderData *) renderer->driverdata; X11_RenderData *data = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_Rect clip, rect; SDL_Rect clip, rect;
unsigned long foreground; unsigned long foreground;
XPoint *xpoints, *xpoint; XPoint *xpoints, *xpoint;
@ -795,7 +795,7 @@ static int
X11_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count) X11_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count)
{ {
X11_RenderData *data = (X11_RenderData *) renderer->driverdata; X11_RenderData *data = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_Rect clip, rect; SDL_Rect clip, rect;
unsigned long foreground; unsigned long foreground;
XRectangle *xrects, *xrect; XRectangle *xrects, *xrect;
@ -840,7 +840,7 @@ static int
X11_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count) X11_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count)
{ {
X11_RenderData *data = (X11_RenderData *) renderer->driverdata; X11_RenderData *data = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_Rect clip, rect; SDL_Rect clip, rect;
unsigned long foreground; unsigned long foreground;
XRectangle *xrects, *xrect; XRectangle *xrects, *xrect;
@ -998,8 +998,8 @@ X11_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect,
Uint32 format, void * pixels, int pitch) Uint32 format, void * pixels, int pitch)
{ {
X11_RenderData *data = (X11_RenderData *) renderer->driverdata; X11_RenderData *data = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
Uint32 screen_format = display->current_mode.format; Uint32 screen_format = display->current_mode.format;
XImage *image; XImage *image;
@ -1019,8 +1019,8 @@ X11_RenderWritePixels(SDL_Renderer * renderer, const SDL_Rect * rect,
Uint32 format, const void * pixels, int pitch) Uint32 format, const void * pixels, int pitch)
{ {
X11_RenderData *data = (X11_RenderData *) renderer->driverdata; X11_RenderData *data = (X11_RenderData *) renderer->driverdata;
SDL_Window *window = SDL_GetWindowFromID(renderer->window); SDL_Window *window = renderer->window;
SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); SDL_VideoDisplay *display = window->display;
Uint32 screen_format = display->current_mode.format; Uint32 screen_format = display->current_mode.format;
XImage *image; XImage *image;
void *image_pixels; void *image_pixels;
@ -1067,7 +1067,7 @@ X11_RenderPresent(SDL_Renderer * renderer)
if (!(renderer->info.flags & SDL_RENDERER_SINGLEBUFFER)) { if (!(renderer->info.flags & SDL_RENDERER_SINGLEBUFFER)) {
for (dirty = data->dirty.list; dirty; dirty = dirty->next) { for (dirty = data->dirty.list; dirty; dirty = dirty->next) {
const SDL_Rect *rect = &dirty->rect; const SDL_Rect *rect = &dirty->rect;
XCopyArea(data->display, data->drawable, data->window, XCopyArea(data->display, data->drawable, data->xwindow,
data->gc, rect->x, rect->y, rect->w, rect->h, data->gc, rect->x, rect->y, rect->w, rect->h,
rect->x, rect->y); rect->x, rect->y);
} }

View file

@ -45,7 +45,7 @@ X11_GetDisplaySize(_THIS, SDL_Window * window, int *w, int *h)
{ {
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata; SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
SDL_DisplayData *displaydata = SDL_DisplayData *displaydata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
XWindowAttributes attr; XWindowAttributes attr;
XGetWindowAttributes(data->display, RootWindow(data->display, XGetWindowAttributes(data->display, RootWindow(data->display,
@ -75,8 +75,8 @@ SetupWindowData(_THIS, SDL_Window * window, Window w, BOOL created)
SDL_OutOfMemory(); SDL_OutOfMemory();
return -1; return -1;
} }
data->windowID = window->id; data->window = window;
data->window = w; data->xwindow = w;
#ifdef X_HAVE_UTF8_STRING #ifdef X_HAVE_UTF8_STRING
if (SDL_X11_HAVE_UTF8) { if (SDL_X11_HAVE_UTF8) {
data->ic = data->ic =
@ -193,7 +193,7 @@ SetupWindowData(_THIS, SDL_Window * window, Window w, BOOL created)
if (GetFocus() == hwnd) { if (GetFocus() == hwnd) {
int index = data->videodata->keyboard; int index = data->videodata->keyboard;
window->flags |= SDL_WINDOW_INPUT_FOCUS; window->flags |= SDL_WINDOW_INPUT_FOCUS;
SDL_SetKeyboardFocus(index, data->windowID); SDL_SetKeyboardFocus(index, data->window);
if (window->flags & SDL_WINDOW_INPUT_GRABBED) { if (window->flags & SDL_WINDOW_INPUT_GRABBED) {
RECT rect; RECT rect;
@ -215,7 +215,7 @@ X11_CreateWindow(_THIS, SDL_Window * window)
{ {
SDL_VideoData *data = (SDL_VideoData *) _this->driverdata; SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
SDL_DisplayData *displaydata = SDL_DisplayData *displaydata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
Visual *visual; Visual *visual;
int depth; int depth;
XSetWindowAttributes xattr; XSetWindowAttributes xattr;
@ -782,7 +782,7 @@ X11_SetWindowTitle(_THIS, SDL_Window * window)
status = XStringListToTextProperty(&title_locale, 1, &titleprop); status = XStringListToTextProperty(&title_locale, 1, &titleprop);
SDL_free(title_locale); SDL_free(title_locale);
if (status) { if (status) {
XSetTextProperty(display, data->window, &titleprop, XA_WM_NAME); XSetTextProperty(display, data->xwindow, &titleprop, XA_WM_NAME);
XFree(titleprop.value); XFree(titleprop.value);
} }
#ifdef X_HAVE_UTF8_STRING #ifdef X_HAVE_UTF8_STRING
@ -791,7 +791,7 @@ X11_SetWindowTitle(_THIS, SDL_Window * window)
Xutf8TextListToTextProperty(display, (char **) &title, 1, Xutf8TextListToTextProperty(display, (char **) &title, 1,
XUTF8StringStyle, &titleprop); XUTF8StringStyle, &titleprop);
if (status == Success) { if (status == Success) {
XSetTextProperty(display, data->window, &titleprop, XSetTextProperty(display, data->xwindow, &titleprop,
_NET_WM_NAME); _NET_WM_NAME);
XFree(titleprop.value); XFree(titleprop.value);
} }
@ -807,7 +807,7 @@ X11_SetWindowTitle(_THIS, SDL_Window * window)
status = XStringListToTextProperty(&icon_locale, 1, &iconprop); status = XStringListToTextProperty(&icon_locale, 1, &iconprop);
SDL_free(icon_locale); SDL_free(icon_locale);
if (status) { if (status) {
XSetTextProperty(display, data->window, &iconprop, XSetTextProperty(display, data->xwindow, &iconprop,
XA_WM_ICON_NAME); XA_WM_ICON_NAME);
XFree(iconprop.value); XFree(iconprop.value);
} }
@ -817,7 +817,7 @@ X11_SetWindowTitle(_THIS, SDL_Window * window)
Xutf8TextListToTextProperty(display, (char **) &icon, 1, Xutf8TextListToTextProperty(display, (char **) &icon, 1,
XUTF8StringStyle, &iconprop); XUTF8StringStyle, &iconprop);
if (status == Success) { if (status == Success) {
XSetTextProperty(display, data->window, &iconprop, XSetTextProperty(display, data->xwindow, &iconprop,
_NET_WM_ICON_NAME); _NET_WM_ICON_NAME);
XFree(iconprop.value); XFree(iconprop.value);
} }
@ -855,13 +855,13 @@ X11_SetWindowIcon(_THIS, SDL_Window * window, SDL_Surface * icon)
propdata[1] = icon->h; propdata[1] = icon->h;
SDL_memcpy(&propdata[2], surface->pixels, SDL_memcpy(&propdata[2], surface->pixels,
surface->h * surface->pitch); surface->h * surface->pitch);
XChangeProperty(display, data->window, _NET_WM_ICON, XA_CARDINAL, XChangeProperty(display, data->xwindow, _NET_WM_ICON, XA_CARDINAL,
32, PropModeReplace, (unsigned char *) propdata, 32, PropModeReplace, (unsigned char *) propdata,
propsize); propsize);
} }
SDL_FreeSurface(surface); SDL_FreeSurface(surface);
} else { } else {
XDeleteProperty(display, data->window, _NET_WM_ICON); XDeleteProperty(display, data->xwindow, _NET_WM_ICON);
} }
} }
@ -870,7 +870,7 @@ X11_SetWindowPosition(_THIS, SDL_Window * window)
{ {
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *displaydata = SDL_DisplayData *displaydata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
int x, y; int x, y;
@ -888,7 +888,7 @@ X11_SetWindowPosition(_THIS, SDL_Window * window)
} else { } else {
y = window->y; y = window->y;
} }
XMoveWindow(display, data->window, x, y); XMoveWindow(display, data->xwindow, x, y);
} }
void void
@ -897,7 +897,7 @@ X11_SetWindowSize(_THIS, SDL_Window * window)
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
XResizeWindow(display, data->window, window->w, window->h); XResizeWindow(display, data->xwindow, window->w, window->h);
} }
void void
@ -906,7 +906,7 @@ X11_ShowWindow(_THIS, SDL_Window * window)
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
XMapRaised(display, data->window); XMapRaised(display, data->xwindow);
} }
void void
@ -915,7 +915,7 @@ X11_HideWindow(_THIS, SDL_Window * window)
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
XUnmapWindow(display, data->window); XUnmapWindow(display, data->xwindow);
} }
void void
@ -924,7 +924,7 @@ X11_RaiseWindow(_THIS, SDL_Window * window)
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
XRaiseWindow(display, data->window); XRaiseWindow(display, data->xwindow);
} }
static void static void
@ -932,7 +932,7 @@ X11_SetWindowMaximized(_THIS, SDL_Window * window, SDL_bool maximized)
{ {
SDL_WindowData *data = (SDL_WindowData *) window->driverdata; SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
SDL_DisplayData *displaydata = SDL_DisplayData *displaydata =
(SDL_DisplayData *) SDL_GetDisplayFromWindow(window)->driverdata; (SDL_DisplayData *) window->display->driverdata;
Display *display = data->videodata->display; Display *display = data->videodata->display;
Atom _NET_WM_STATE = XInternAtom(display, "_NET_WM_STATE", False); Atom _NET_WM_STATE = XInternAtom(display, "_NET_WM_STATE", False);
Atom _NET_WM_STATE_MAXIMIZED_VERT = Atom _NET_WM_STATE_MAXIMIZED_VERT =
@ -942,7 +942,7 @@ X11_SetWindowMaximized(_THIS, SDL_Window * window, SDL_bool maximized)
XEvent e; XEvent e;
e.xany.type = ClientMessage; e.xany.type = ClientMessage;
e.xany.window = data->window; e.xany.window = data->xwindow;
e.xclient.message_type = _NET_WM_STATE; e.xclient.message_type = _NET_WM_STATE;
e.xclient.format = 32; e.xclient.format = 32;
e.xclient.data.l[0] = e.xclient.data.l[0] =
@ -986,8 +986,8 @@ X11_SetWindowGrab(_THIS, SDL_Window * window)
/* Try to grab the mouse */ /* Try to grab the mouse */
for (;;) { for (;;) {
int result = int result =
XGrabPointer(display, data->window, True, 0, GrabModeAsync, XGrabPointer(display, data->xwindow, True, 0, GrabModeAsync,
GrabModeAsync, data->window, None, CurrentTime); GrabModeAsync, data->xwindow, None, CurrentTime);
if (result == GrabSuccess) { if (result == GrabSuccess) {
break; break;
} }
@ -995,10 +995,10 @@ X11_SetWindowGrab(_THIS, SDL_Window * window)
} }
/* Raise the window if we grab the mouse */ /* Raise the window if we grab the mouse */
XRaiseWindow(display, data->window); XRaiseWindow(display, data->xwindow);
/* Now grab the keyboard */ /* Now grab the keyboard */
XGrabKeyboard(display, data->window, True, GrabModeAsync, XGrabKeyboard(display, data->xwindow, True, GrabModeAsync,
GrabModeAsync, CurrentTime); GrabModeAsync, CurrentTime);
} else { } else {
XUngrabPointer(display, CurrentTime); XUngrabPointer(display, CurrentTime);
@ -1021,7 +1021,7 @@ X11_DestroyWindow(_THIS, SDL_Window * window)
if (windowlist) { if (windowlist) {
for (i = 0; i < numwindows; ++i) { for (i = 0; i < numwindows; ++i) {
if (windowlist[i] && (windowlist[i]->windowID == window->id)) { if (windowlist[i] && (windowlist[i]->window == window)) {
windowlist[i] = windowlist[numwindows - 1]; windowlist[i] = windowlist[numwindows - 1];
windowlist[numwindows - 1] = NULL; windowlist[numwindows - 1] = NULL;
videodata->numwindows--; videodata->numwindows--;
@ -1035,7 +1035,7 @@ X11_DestroyWindow(_THIS, SDL_Window * window)
} }
#endif #endif
if (data->created) { if (data->created) {
XDestroyWindow(display, data->window); XDestroyWindow(display, data->xwindow);
} }
SDL_free(data); SDL_free(data);
} }

View file

@ -26,8 +26,8 @@
typedef struct typedef struct
{ {
SDL_WindowID windowID; SDL_Window *window;
Window window; Window xwindow;
XIC ic; XIC ic;
SDL_bool created; SDL_bool created;
struct SDL_VideoData *videodata; struct SDL_VideoData *videodata;

View file

@ -43,7 +43,7 @@ static int render_testPrimitivesBlend (void);
static int render_testBlit (void); static int render_testBlit (void);
static int render_testBlitColour (void); static int render_testBlitColour (void);
static int render_testBlitAlpha (void); static int render_testBlitAlpha (void);
static int render_testBlitBlendMode( SDL_TextureID tface, int mode ); static int render_testBlitBlendMode( SDL_Texture * tface, int mode );
static int render_testBlitBlend (void); static int render_testBlitBlend (void);
@ -225,10 +225,10 @@ static int render_hasBlendModes (void)
/** /**
* @brief Loads the test face. * @brief Loads the test face.
*/ */
static SDL_TextureID render_loadTestFace (void) static SDL_Texture * render_loadTestFace (void)
{ {
SDL_Surface *face; SDL_Surface *face;
SDL_TextureID tface; SDL_Texture *tface;
/* Create face surface. */ /* Create face surface. */
face = SDL_CreateRGBSurfaceFrom( (void*)img_face.pixel_data, face = SDL_CreateRGBSurfaceFrom( (void*)img_face.pixel_data,
@ -261,7 +261,7 @@ static int render_hasTexColor (void)
{ {
int fail; int fail;
int ret; int ret;
SDL_TextureID tface; SDL_Texture *tface;
Uint8 r, g, b; Uint8 r, g, b;
/* Get test face. */ /* Get test face. */
@ -296,7 +296,7 @@ static int render_hasTexAlpha (void)
{ {
int fail; int fail;
int ret; int ret;
SDL_TextureID tface; SDL_Texture *tface;
Uint8 a; Uint8 a;
/* Get test face. */ /* Get test face. */
@ -606,7 +606,7 @@ static int render_testBlit (void)
{ {
int ret; int ret;
SDL_Rect rect; SDL_Rect rect;
SDL_TextureID tface; SDL_Texture *tface;
int i, j, ni, nj; int i, j, ni, nj;
/* Clear surface. */ /* Clear surface. */
@ -658,7 +658,7 @@ static int render_testBlitColour (void)
{ {
int ret; int ret;
SDL_Rect rect; SDL_Rect rect;
SDL_TextureID tface; SDL_Texture *tface;
int i, j, ni, nj; int i, j, ni, nj;
/* Clear surface. */ /* Clear surface. */
@ -716,7 +716,7 @@ static int render_testBlitAlpha (void)
{ {
int ret; int ret;
SDL_Rect rect; SDL_Rect rect;
SDL_TextureID tface; SDL_Texture *tface;
int i, j, ni, nj; int i, j, ni, nj;
/* Clear surface. */ /* Clear surface. */
@ -774,7 +774,7 @@ static int render_testBlitAlpha (void)
/** /**
* @brief Tests a blend mode. * @brief Tests a blend mode.
*/ */
static int render_testBlitBlendMode( SDL_TextureID tface, int mode ) static int render_testBlitBlendMode( SDL_Texture * tface, int mode )
{ {
int ret; int ret;
int i, j, ni, nj; int i, j, ni, nj;
@ -820,7 +820,7 @@ static int render_testBlitBlend (void)
{ {
int ret; int ret;
SDL_Rect rect; SDL_Rect rect;
SDL_TextureID tface; SDL_Texture *tface;
int i, j, ni, nj; int i, j, ni, nj;
int mode; int mode;
@ -1004,7 +1004,7 @@ int test_render (void)
int ret; int ret;
const char *driver, *str; const char *driver, *str;
char msg[256]; char msg[256];
SDL_WindowID wid; SDL_Window *w;
SDL_RendererInfo renderer; SDL_RendererInfo renderer;
/* Initializes the SDL subsystems. */ /* Initializes the SDL subsystems. */
@ -1054,12 +1054,12 @@ int test_render (void)
if (SDL_ATassert( "SDL_GetCurrentVideoDriver", SDL_strcmp(driver,str)==0)) if (SDL_ATassert( "SDL_GetCurrentVideoDriver", SDL_strcmp(driver,str)==0))
goto err_cleanup; goto err_cleanup;
/* Create window. */ /* Create window. */
wid = SDL_CreateWindow( msg, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w = SDL_CreateWindow( msg, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
80, 60, SDL_WINDOW_SHOWN ); 80, 60, SDL_WINDOW_SHOWN );
if (SDL_ATassert( "SDL_CreateWindow", wid!=0 )) if (SDL_ATassert( "SDL_CreateWindow", w!=NULL ))
goto err_cleanup; goto err_cleanup;
/* Check title. */ /* Check title. */
str = SDL_GetWindowTitle( wid ); str = SDL_GetWindowTitle( w );
if (SDL_ATassert( "SDL_GetWindowTitle", SDL_strcmp(msg,str)==0)) if (SDL_ATassert( "SDL_GetWindowTitle", SDL_strcmp(msg,str)==0))
goto err_cleanup; goto err_cleanup;
/* Get renderers. */ /* Get renderers. */
@ -1072,10 +1072,10 @@ int test_render (void)
/* We have to recreate window each time, because opengl and opengles renderers */ /* We have to recreate window each time, because opengl and opengles renderers */
/* both add SDL_WINDOW_OPENGL flag for window, that was last used */ /* both add SDL_WINDOW_OPENGL flag for window, that was last used */
SDL_DestroyWindow(wid); SDL_DestroyWindow(w);
wid = SDL_CreateWindow( msg, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w = SDL_CreateWindow( msg, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
80, 60, SDL_WINDOW_SHOWN ); 80, 60, SDL_WINDOW_SHOWN );
if (SDL_ATassert( "SDL_CreateWindow", wid!=0 )) if (SDL_ATassert( "SDL_CreateWindow", w!=NULL ))
goto err_cleanup; goto err_cleanup;
/* Get renderer info. */ /* Get renderer info. */
@ -1089,7 +1089,7 @@ int test_render (void)
SDL_ATbegin( msg ); SDL_ATbegin( msg );
/* Set renderer. */ /* Set renderer. */
ret = SDL_CreateRenderer( wid, j, 0 ); ret = SDL_CreateRenderer( w, j, 0 );
if (SDL_ATassert( "SDL_CreateRenderer", ret==0 )) if (SDL_ATassert( "SDL_CreateRenderer", ret==0 ))
goto err_cleanup; goto err_cleanup;

View file

@ -761,7 +761,7 @@ CommonInit(CommonState * state)
fullscreen_mode.refresh_rate = state->refresh_rate; fullscreen_mode.refresh_rate = state->refresh_rate;
state->windows = state->windows =
(SDL_WindowID *) SDL_malloc(state->num_windows * (SDL_Window **) SDL_malloc(state->num_windows *
sizeof(*state->windows)); sizeof(*state->windows));
if (!state->windows) { if (!state->windows) {
fprintf(stderr, "Out of memory!\n"); fprintf(stderr, "Out of memory!\n");

View file

@ -32,7 +32,7 @@ typedef struct
int depth; int depth;
int refresh_rate; int refresh_rate;
int num_windows; int num_windows;
SDL_WindowID *windows; SDL_Window **windows;
/* Renderer info */ /* Renderer info */
const char *renderdriver; const char *renderdriver;

View file

@ -19,7 +19,7 @@ static int current_color = 255;
static SDL_BlendMode blendMode = SDL_BLENDMODE_NONE; static SDL_BlendMode blendMode = SDL_BLENDMODE_NONE;
void void
DrawPoints(SDL_WindowID window) DrawPoints(SDL_Window * window)
{ {
int i; int i;
int x, y; int x, y;
@ -64,7 +64,7 @@ DrawPoints(SDL_WindowID window)
} }
void void
DrawLines(SDL_WindowID window) DrawLines(SDL_Window * window)
{ {
int i; int i;
int x1, y1, x2, y2; int x1, y1, x2, y2;
@ -118,7 +118,7 @@ DrawLines(SDL_WindowID window)
} }
void void
DrawRects(SDL_WindowID window) DrawRects(SDL_Window * window)
{ {
int i; int i;
SDL_Rect rect; SDL_Rect rect;
@ -249,7 +249,7 @@ main(int argc, char *argv[])
case SDL_WINDOWEVENT: case SDL_WINDOWEVENT:
switch (event.window.event) { switch (event.window.event) {
case SDL_WINDOWEVENT_EXPOSED: case SDL_WINDOWEVENT_EXPOSED:
SDL_SelectRenderer(event.window.windowID); SDL_SelectRenderer(SDL_GetWindowFromID(event.window.windowID));
SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF);
SDL_RenderClear(); SDL_RenderClear();
break; break;

View file

@ -20,7 +20,7 @@ static int current_color = 255;
static SDL_BlendMode blendMode = SDL_BLENDMODE_NONE; static SDL_BlendMode blendMode = SDL_BLENDMODE_NONE;
void void
DrawPoints(SDL_WindowID window) DrawPoints(SDL_Window * window)
{ {
int i; int i;
int x, y; int x, y;
@ -86,7 +86,7 @@ add_line(int x1, int y1, int x2, int y2)
void void
DrawLines(SDL_WindowID window) DrawLines(SDL_Window * window)
{ {
int i; int i;
int x1, y1, x2, y2; int x1, y1, x2, y2;
@ -139,7 +139,7 @@ add_rect(int x1, int y1, int x2, int y2)
} }
static void static void
DrawRects(SDL_WindowID window) DrawRects(SDL_Window * window)
{ {
int i; int i;
int window_w, window_h; int window_w, window_h;
@ -156,7 +156,7 @@ DrawRects(SDL_WindowID window)
} }
static void static void
DrawRectLineIntersections(SDL_WindowID window) DrawRectLineIntersections(SDL_Window * window)
{ {
int i, j, window_w, window_h; int i, j, window_w, window_h;
@ -186,7 +186,7 @@ DrawRectLineIntersections(SDL_WindowID window)
} }
static void static void
DrawRectRectIntersections(SDL_WindowID window) DrawRectRectIntersections(SDL_Window * window)
{ {
int i, j; int i, j;
@ -324,7 +324,7 @@ main(int argc, char *argv[])
case SDL_WINDOWEVENT: case SDL_WINDOWEVENT:
switch (event.window.event) { switch (event.window.event) {
case SDL_WINDOWEVENT_EXPOSED: case SDL_WINDOWEVENT_EXPOSED:
SDL_SelectRenderer(event.window.windowID); SDL_SelectRenderer(SDL_GetWindowFromID(event.window.windowID));
SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF);
SDL_RenderClear(); SDL_RenderClear();
break; break;

View file

@ -36,11 +36,11 @@ quit(int rc)
exit(rc); exit(rc);
} }
SDL_TextureID SDL_Texture *
LoadSprite(SDL_WindowID window, char *file) LoadSprite(SDL_Window * window, char *file)
{ {
SDL_Surface *temp; SDL_Surface *temp;
SDL_TextureID sprite; SDL_Texture *sprite;
/* Load the sprite image */ /* Load the sprite image */
temp = SDL_LoadBMP(file); temp = SDL_LoadBMP(file);
@ -69,7 +69,7 @@ LoadSprite(SDL_WindowID window, char *file)
} }
void void
MoveSprites(SDL_WindowID window, SDL_TextureID sprite) MoveSprites(SDL_Window * window, SDL_Texture * sprite)
{ {
int i, n; int i, n;
int window_w, window_h; int window_w, window_h;
@ -113,8 +113,8 @@ main(int argc, char *argv[])
{ {
int i, done; int i, done;
const char *driver; const char *driver;
SDL_WindowID window; SDL_Window *window;
SDL_TextureID sprite; SDL_Texture *sprite;
int window_w, window_h; int window_w, window_h;
int sprite_w, sprite_h; int sprite_w, sprite_h;
SDL_Event event; SDL_Event event;

View file

@ -11,7 +11,7 @@
static CommonState *state; static CommonState *state;
static int num_sprites; static int num_sprites;
static SDL_TextureID *sprites; static SDL_Texture **sprites;
static SDL_bool cycle_color; static SDL_bool cycle_color;
static SDL_bool cycle_alpha; static SDL_bool cycle_alpha;
static int cycle_direction = 1; static int cycle_direction = 1;
@ -98,7 +98,7 @@ LoadSprite(char *file)
} }
void void
MoveSprites(SDL_WindowID window, SDL_TextureID sprite) MoveSprites(SDL_Window * window, SDL_Texture * sprite)
{ {
int i, n; int i, n;
int window_w, window_h; int window_w, window_h;
@ -294,7 +294,7 @@ main(int argc, char *argv[])
/* Create the windows, initialize the renderers, and load the textures */ /* Create the windows, initialize the renderers, and load the textures */
sprites = sprites =
(SDL_TextureID *) SDL_malloc(state->num_windows * sizeof(*sprites)); (SDL_Texture **) SDL_malloc(state->num_windows * sizeof(*sprites));
if (!sprites) { if (!sprites) {
fprintf(stderr, "Out of memory!\n"); fprintf(stderr, "Out of memory!\n");
quit(2); quit(2);
@ -346,7 +346,7 @@ main(int argc, char *argv[])
case SDL_WINDOWEVENT: case SDL_WINDOWEVENT:
switch (event.window.event) { switch (event.window.event) {
case SDL_WINDOWEVENT_EXPOSED: case SDL_WINDOWEVENT_EXPOSED:
SDL_SelectRenderer(event.window.windowID); SDL_SelectRenderer(SDL_GetWindowFromID(event.window.windowID));
SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF); SDL_SetRenderDrawColor(0xA0, 0xA0, 0xA0, 0xFF);
SDL_RenderClear(); SDL_RenderClear();
break; break;

View file

@ -12,7 +12,7 @@
#define NUM_SPRITES 100 #define NUM_SPRITES 100
#define MAX_SPEED 1 #define MAX_SPEED 1
static SDL_TextureID sprite; static SDL_Texture *sprite;
static SDL_Rect positions[NUM_SPRITES]; static SDL_Rect positions[NUM_SPRITES];
static SDL_Rect velocities[NUM_SPRITES]; static SDL_Rect velocities[NUM_SPRITES];
static int sprite_w, sprite_h; static int sprite_w, sprite_h;
@ -78,7 +78,7 @@ LoadSprite(char *file)
} }
void void
MoveSprites(SDL_WindowID window, SDL_TextureID sprite) MoveSprites(SDL_Window * window, SDL_Texture * sprite)
{ {
int i; int i;
int window_w = WINDOW_WIDTH; int window_w = WINDOW_WIDTH;
@ -115,7 +115,7 @@ MoveSprites(SDL_WindowID window, SDL_TextureID sprite)
int int
main(int argc, char *argv[]) main(int argc, char *argv[])
{ {
SDL_WindowID window; SDL_Window *window;
int i, done; int i, done;
SDL_Event event; SDL_Event event;