|
@@ -1538,6 +1538,16 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|
|
/* This DPI change is coming from an explicit SetWindowPos call within SDL.
|
|
|
Assume all call sites are calculating the DPI-aware frame correctly, so
|
|
|
we don't need to do any further adjustment. */
|
|
|
+
|
|
|
+ if (data->videodata->dpi_scaling_enabled) {
|
|
|
+ /* Update the cached DPI value for this window */
|
|
|
+ data->scaling_dpi = newDPI;
|
|
|
+
|
|
|
+ /* Send a SDL_WINDOWEVENT_SIZE_CHANGED saying that the client size (in dpi-scaled points) is unchanged.
|
|
|
+ Renderers need to get this to know that the framebuffer size changed. */
|
|
|
+ SDL_SendWindowEvent(data->window, SDL_WINDOWEVENT_SIZE_CHANGED, data->window->w, data->window->h);
|
|
|
+ }
|
|
|
+
|
|
|
#ifdef HIGHDPI_DEBUG
|
|
|
SDL_Log("WM_DPICHANGED: Doing nothing, assuming window is already sized correctly");
|
|
|
#endif
|