Commit bfd339b9 authored by Eric Wing's avatar Eric Wing

merged

parents 9a464ae7 93ab7330
...@@ -140,7 +140,8 @@ typedef enum ...@@ -140,7 +140,8 @@ typedef enum
redrawn */ redrawn */
SDL_WINDOWEVENT_MOVED, /**< Window has been moved to data1, data2 SDL_WINDOWEVENT_MOVED, /**< Window has been moved to data1, data2
*/ */
SDL_WINDOWEVENT_RESIZED, /**< Window size changed to data1xdata2 */ SDL_WINDOWEVENT_RESIZED, /**< Window has been resized to data1xdata2 */
SDL_WINDOWEVENT_SIZE_CHANGED, /**< The window size has changed, either as a result of an API call or through the system or user changing the window size. */
SDL_WINDOWEVENT_MINIMIZED, /**< Window has been minimized */ SDL_WINDOWEVENT_MINIMIZED, /**< Window has been minimized */
SDL_WINDOWEVENT_MAXIMIZED, /**< Window has been maximized */ SDL_WINDOWEVENT_MAXIMIZED, /**< Window has been maximized */
SDL_WINDOWEVENT_RESTORED, /**< Window has been restored to normal size SDL_WINDOWEVENT_RESTORED, /**< Window has been restored to normal size
......
...@@ -35,7 +35,8 @@ RemovePendingSizeEvents(void * userdata, SDL_Event *event) ...@@ -35,7 +35,8 @@ RemovePendingSizeEvents(void * userdata, SDL_Event *event)
SDL_Event *new_event = (SDL_Event *)userdata; SDL_Event *new_event = (SDL_Event *)userdata;
if (event->type == SDL_WINDOWEVENT && if (event->type == SDL_WINDOWEVENT &&
event->window.event == SDL_WINDOWEVENT_RESIZED && (event->window.event == SDL_WINDOWEVENT_RESIZED ||
event->window.event == SDL_WINDOWEVENT_SIZE_CHANGED) &&
event->window.windowID == new_event->window.windowID) { event->window.windowID == new_event->window.windowID) {
/* We're about to post a new size event, drop the old one */ /* We're about to post a new size event, drop the old one */
return 0; return 0;
......
...@@ -348,7 +348,7 @@ GL_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event) ...@@ -348,7 +348,7 @@ GL_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event)
{ {
GL_RenderData *data = (GL_RenderData *) renderer->driverdata; GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
if (event->event == SDL_WINDOWEVENT_RESIZED) { if (event->event == SDL_WINDOWEVENT_SIZE_CHANGED) {
/* Rebind the context to the window area and update matrices */ /* Rebind the context to the window area and update matrices */
SDL_CurrentContext = NULL; SDL_CurrentContext = NULL;
data->updateSize = SDL_TRUE; data->updateSize = SDL_TRUE;
......
...@@ -261,7 +261,7 @@ GLES_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event) ...@@ -261,7 +261,7 @@ GLES_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event)
{ {
GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata; GLES_RenderData *data = (GLES_RenderData *) renderer->driverdata;
if (event->event == SDL_WINDOWEVENT_RESIZED) { if (event->event == SDL_WINDOWEVENT_SIZE_CHANGED) {
/* Rebind the context to the window area and update matrices */ /* Rebind the context to the window area and update matrices */
SDL_CurrentContext = NULL; SDL_CurrentContext = NULL;
data->updateSize = SDL_TRUE; data->updateSize = SDL_TRUE;
......
...@@ -170,7 +170,7 @@ GLES2_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event) ...@@ -170,7 +170,7 @@ GLES2_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event)
{ {
GLES2_DriverContext *rdata = (GLES2_DriverContext *)renderer->driverdata; GLES2_DriverContext *rdata = (GLES2_DriverContext *)renderer->driverdata;
if (event->event == SDL_WINDOWEVENT_RESIZED) { if (event->event == SDL_WINDOWEVENT_SIZE_CHANGED) {
/* Rebind the context to the window area */ /* Rebind the context to the window area */
SDL_CurrentContext = NULL; SDL_CurrentContext = NULL;
rdata->updateSize = SDL_TRUE; rdata->updateSize = SDL_TRUE;
......
...@@ -173,7 +173,7 @@ SW_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event) ...@@ -173,7 +173,7 @@ SW_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event)
{ {
SW_RenderData *data = (SW_RenderData *) renderer->driverdata; SW_RenderData *data = (SW_RenderData *) renderer->driverdata;
if (event->event == SDL_WINDOWEVENT_RESIZED) { if (event->event == SDL_WINDOWEVENT_SIZE_CHANGED) {
data->updateSize = SDL_TRUE; data->updateSize = SDL_TRUE;
} }
} }
......
...@@ -1431,10 +1431,15 @@ SDL_SetWindowSize(SDL_Window * window, int w, int h) ...@@ -1431,10 +1431,15 @@ SDL_SetWindowSize(SDL_Window * window, int w, int h)
/* FIXME: Should this change fullscreen modes? */ /* FIXME: Should this change fullscreen modes? */
if (!(window->flags & SDL_WINDOW_FULLSCREEN)) { if (!(window->flags & SDL_WINDOW_FULLSCREEN)) {
window->w = w;
window->h = h;
if (_this->SetWindowSize) { if (_this->SetWindowSize) {
_this->SetWindowSize(_this, window); _this->SetWindowSize(_this, window);
} }
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, w, h); if (window->w == w && window->h == h) {
/* We didn't get a SDL_WINDOWEVENT_RESIZED event (by design) */
SDL_OnWindowResized(window);
}
} }
} }
...@@ -1706,6 +1711,7 @@ void ...@@ -1706,6 +1711,7 @@ void
SDL_OnWindowResized(SDL_Window * window) SDL_OnWindowResized(SDL_Window * window)
{ {
window->surface_valid = SDL_FALSE; window->surface_valid = SDL_FALSE;
SDL_SendWindowEvent(window, SDL_WINDOWEVENT_SIZE_CHANGED, window->w, window->h);
} }
void void
......
...@@ -279,7 +279,7 @@ DirectFB_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event) ...@@ -279,7 +279,7 @@ DirectFB_WindowEvent(SDL_Renderer * renderer, const SDL_WindowEvent *event)
{ {
SDL_DFB_RENDERERDATA(renderer); SDL_DFB_RENDERERDATA(renderer);
if (event->event == SDL_WINDOWEVENT_RESIZED) { if (event->event == SDL_WINDOWEVENT_SIZE_CHANGED) {
/* Rebind the context to the window area and update matrices */ /* Rebind the context to the window area and update matrices */
//SDL_CurrentContext = NULL; //SDL_CurrentContext = NULL;
//data->updateSize = SDL_TRUE; //data->updateSize = SDL_TRUE;
......
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