Mirror of SDL
Find a file
Frank Praznik eda0261c4e video: Drop size and position requests for windows in a fixed size/position state
It is not uncommon for clients to redundantly set the window size and position, either as a holdover from an SDL 1 port, when this was required, due to any window state change triggering a universal update function that sets all window state, even if unnecessary (e.g. always calling SDL_SetWindowSize(), even if the window is fullscreen), or due to the use of compatability layers. Historically, these clients expect that their behavior won't override the base window state, which is an assumption that the windowing changes in SDL 3 broke by caching size and position changes that can't be applied immediately.

This change drops size and position requests when the window is in the maximized and fullscreen states (fullscreen-desktop windows will be repositioned, but the non-fullscreen floating position will not be overwritten), which is behavior more in line with existing client assumptions, and should ease the porting process, as well as prevent annoying bugs when older software is run via sdl2-compat.

In the process of making these changes, pending window state has been moved to separate variables in the SDL_Window struct, as this fixes bugs regarding fullscreen display selection and centering windows immediately after resize on asynchronous platforms, which had issues due to pending state possibly being overwritten.
2024-12-17 10:45:40 -05:00
.github Add build-release.py updates from satellite libraries 2024-12-08 02:16:02 +01:00
android-project Fixed Java exception if mConnection is null 2024-11-07 11:54:09 -08:00
build-scripts wikiheaders: Fix uninitialized variable issue. 2024-12-13 13:52:35 -05:00
cmake Add build-release.py updates from satellite libraries 2024-12-08 02:16:02 +01:00
docs Sync SDL3 wiki -> header 2024-12-17 07:29:13 +00:00
examples examples/audio/04-multiple-streams: Note about web browser audio in README. 2024-12-11 14:13:52 -05:00
include video: Drop size and position requests for windows in a fixed size/position state 2024-12-17 10:45:40 -05:00
src video: Drop size and position requests for windows in a fixed size/position state 2024-12-17 10:45:40 -05:00
test video: Drop size and position requests for windows in a fixed size/position state 2024-12-17 10:45:40 -05:00
VisualC Removed unused math code from the Visual Studio projects 2024-12-06 16:28:23 -08:00
VisualC-GDK Xbox buildfixes 2024-12-13 11:34:39 -05:00
wayland-protocols wayland: Remove kde_output_order_v1 support 2024-10-19 11:16:30 -04:00
Xcode Removed unused math code from the Xcode project 2024-12-06 16:20:13 -08:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Allow in-tree build 2024-10-30 00:04:17 +01:00
.wikiheaders-options wikiheaders: optionally generate a Quick Reference page. 2024-12-10 11:25:15 -05:00
Android.mk SDL_ShowFileDialogWithProperties with more options 2024-12-04 15:10:15 -08:00
BUGS.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
CMakeLists.txt cmake: make RelWithDebInfo the default configuration 2024-12-09 18:03:03 +01:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md (doc): make cmake build parallel on linux 2024-11-23 12:15:59 +01:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
README.md Tweaking documentation for the SDL 3.0 preview release 2024-03-24 06:16:02 -07:00
WhatsNew.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)