Commit a0e019f7 authored by Sam Lantinga's avatar Sam Lantinga

Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture*...

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
parent d7496843
...@@ -67,13 +67,13 @@ Notes -- Keyboard ...@@ -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.
============================================================================== ==============================================================================
......
...@@ -27,8 +27,8 @@ static struct ...@@ -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) ...@@ -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() ...@@ -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() ...@@ -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 ...@@ -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[]) ...@@ -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[]) ...@@ -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();
......
...@@ -363,8 +363,7 @@ initializeTexture() ...@@ -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[]) ...@@ -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();
......
...@@ -11,7 +11,7 @@ ...@@ -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) ...@@ -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() ...@@ -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 ...@@ -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[]) ...@@ -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[]) ...@@ -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();
......
...@@ -10,14 +10,14 @@ ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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[]) ...@@ -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[]) ...@@ -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[]) ...@@ -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[]) ...@@ -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();
} }
...@@ -274,7 +274,7 @@ main(int argc, char *argv[]) ...@@ -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[]) ...@@ -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));
......
...@@ -38,7 +38,7 @@ int ...@@ -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[]) ...@@ -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");
} }
......
...@@ -11,7 +11,7 @@ ...@@ -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) ...@@ -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() ...@@ -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[]) ...@@ -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[]) ...@@ -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[]) ...@@ -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;
......
...@@ -295,6 +295,8 @@ extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval); ...@@ -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()
......
...@@ -127,7 +127,7 @@ typedef enum ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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;
......
...@@ -75,7 +75,7 @@ extern DECLSPEC int SDLCALL SDL_SelectMouse(int index); ...@@ -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, ...@@ -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);
/** /**
......
...@@ -245,7 +245,7 @@ typedef struct SDL_SysWMinfo SDL_SysWMinfo; ...@@ -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);
......
This diff is collapsed.
...@@ -265,7 +265,7 @@ SDL_PromptAssertion(const SDL_assert_data *data, void *userdata) ...@@ -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. */
......
...@@ -30,9 +30,9 @@ ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
} }
......
...@@ -646,7 +646,7 @@ SDL_SetScancodeName(SDL_scancode scancode, const char *name) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
......
...@@ -35,7 +35,7 @@ struct SDL_Keyboard ...@@ -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); ...@@ -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);
......
...@@ -26,6 +26,7 @@ ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
} }
} }
......
...@@ -48,7 +48,7 @@ struct SDL_Mouse ...@@ -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 ...@@ -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); ...@@ -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);
......
...@@ -44,13 +44,11 @@ RemovePendingSizeEvents(void * userdata, SDL_Event *event) ...@@ -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, ...@@ -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) {
......
...@@ -24,7 +24,7 @@ ...@@ -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 */
......
...@@ -171,7 +171,7 @@ SDL_SetGammaRamp(const Uint16 * red, const Uint16 * green, const Uint16 * blue) ...@@ -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) ...@@ -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: */
...@@ -321,7 +321,7 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -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) ...@@ -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 ...@@ -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 ...@@ -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, ...@@ -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, ...@@ -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;
......
...@@ -332,7 +332,7 @@ GLES_ActivateRenderer(SDL_Renderer * renderer) ...@@ -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, ...@@ -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;
......
...@@ -201,7 +201,7 @@ Setup_SoftwareRenderer(SDL_Renderer * renderer) ...@@ -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) ...@@ -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 ...@@ -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, ...@@ -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 ...@@ -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) {
......
...@@ -29,8 +29,6 @@ ...@@ -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; ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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; ...@@ -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, ...@@ -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); ...@@ -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 */
......
This diff is collapsed.
...@@ -76,7 +76,7 @@ Cocoa_HandleMouseEvent(_THIS, NSEvent *event) ...@@ -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) ...@@ -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]) {
......
...@@ -82,7 +82,7 @@ SDL_GLContext ...@@ -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;
......
...@@ -69,8 +69,8 @@ typedef struct SDL_WindowData SDL_WindowData; ...@@ -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;
......
...@@ -86,13 +86,13 @@ static __inline__ void ConvertNSRect(NSRect *r) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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) ...@@ -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) ...@@ -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;
......
...@@ -196,7 +196,7 @@ void ...@@ -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);
......
...@@ -46,7 +46,7 @@ static void DirectFB_InitOSKeymap(_THIS, SDLKey * keypmap, int numkeys); ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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,
......
...@@ -31,7 +31,7 @@ static SDL_Cursor *DirectFB_CreateCursor(SDL_Surface * surface, ...@@ -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) ...@@ -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) ...@@ -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;
......
...@@ -280,7 +280,7 @@ SDL_Renderer * ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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;
......
...@@ -140,7 +140,7 @@ DirectFB_CreateWindow(_THIS, SDL_Window * window) ...@@ -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 ... */
......
...@@ -36,7 +36,7 @@ struct _DFB_WindowData ...@@ -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;
......
...@@ -74,7 +74,7 @@ typedef struct ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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);
} }
......
...@@ -126,7 +126,7 @@ typedef struct ...@@ -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) ...@@ -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, ...@@ -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 ...@@ -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 ...@@ -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) {
......
...@@ -417,7 +417,7 @@ PND_gl_createcontext(_THIS, SDL_Window * window) ...@@ -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) ...@@ -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) {
......
...@@ -777,7 +777,7 @@ photon_createwindow(_THIS, SDL_Window * window) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
} }
......
...@@ -38,7 +38,7 @@ SDL_Cursor *photon_createcursor(SDL_Surface * surface, int hot_x, int hot_y); ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) {
......
...@@ -124,7 +124,7 @@ SDL_RenderDriver photon_renderdriver = { ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
......
...@@ -133,7 +133,7 @@ SDL_Renderer * ...@@ -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) ...@@ -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, ...@@ -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) ...@@ -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 */
......
...@@ -41,7 +41,7 @@ SDL_Cursor *gf_createcursor(SDL_Surface * surface, int hot_x, int hot_y); ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
} }
......
...@@ -110,7 +110,7 @@ SDL_RenderDriver gf_renderdriver = { ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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 */
......
...@@ -978,7 +978,7 @@ int ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
......
...@@ -25,12 +25,12 @@ ...@@ -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;
......
...@@ -56,7 +56,7 @@ int main(int argc, char **argv) { ...@@ -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) { ...@@ -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]; ...@@ -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];
} }
......
...@@ -23,10 +23,9 @@ ...@@ -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
...@@ -272,9 +272,8 @@ ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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;
} }
......
...@@ -36,7 +36,7 @@ extern void UIKit_DestroyWindow(_THIS, SDL_Window * window); ...@@ -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;
}; };
......
...@@ -48,7 +48,7 @@ static int SetupWindowData(_THIS, SDL_Window *window, UIWindow *uiwindow, SDL_bo ...@@ -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) { ...@@ -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) { ...@@ -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: */
...@@ -391,7 +391,7 @@ DDRAW_AddRenderDriver(_THIS) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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;
......
...@@ -427,7 +427,7 @@ D3D_AddRenderDriver(_THIS) ...@@ -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) ...@@ -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 ...@@ -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 ...@@ -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, ...@@ -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;
......
...@@ -430,7 +430,7 @@ GetFramebuffer() ...@@ -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) ...@@ -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 */
......
...@@ -207,7 +207,7 @@ GDI_CreateRenderer(SDL_Window * window, Uint32 flags) ...@@ -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 ...@@ -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 ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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;
......
...@@ -169,11 +169,9 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
......
...@@ -86,7 +86,7 @@ static int ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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;
......
...@@ -26,7 +26,7 @@ ...@@ -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;
......
...@@ -66,7 +66,7 @@ X11_DispatchEvent(_THIS) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
......
...@@ -221,7 +221,7 @@ static void ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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
......
...@@ -93,7 +93,7 @@ typedef struct ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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 ...@@ -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) ...@@ -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, ...@@ -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, ...@@ -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 ...@@ -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 ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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);
} }
......
...@@ -45,7 +45,7 @@ X11_GetDisplaySize(_THIS, SDL_Window * window, int *w, int *h) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
} }
......
...@@ -26,8 +26,8 @@ ...@@ -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;
......
This diff is collapsed.
...@@ -761,7 +761,7 @@ CommonInit(CommonState * state) ...@@ -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");
......
...@@ -32,7 +32,7 @@ typedef struct ...@@ -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;
......
...@@ -19,7 +19,7 @@ static int current_color = 255; ...@@ -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) ...@@ -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) ...@@ -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[]) ...@@ -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;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment