Commit Graph

12150 Commits (683411e96fd8765a15abd162c778e4f5e4a9eeb6)

Author SHA1 Message Date
Anonymous Maarten 683411e96f cmake: only use precompile headers for C and CXX 2023-03-15 14:38:26 +01:00
Anonymous Maarten 7d55bbc0da cmake: get_filename_component(EXT) returns extension including leading dot 2023-03-15 14:38:26 +01:00
Sam Lantinga a17ad65f2b Revert "Popup window parent defaults to the first toplevel window"
This reverts commit e8e2c8175c.

Conceptually tooltips and context menus always have parent windows
2023-03-14 14:53:54 -07:00
Frank Praznik 969e0842e6 video: Preserve the flag to restore popup windows with the parent when recreating the window during renderer initialization 2023-03-14 16:37:09 -04:00
Sam Lantinga e8e2c8175c Popup window parent defaults to the first toplevel window 2023-03-14 11:42:58 -07:00
Sam Lantinga 3951cae4a5 Ignore the PS4 packet CRC if it's not being set correctly
This fixes handling the 8BitDo SN30 Pro with the 2.00 firmware in PS4 mode

Fixes https://github.com/libsdl-org/SDL/issues/7270
2023-03-13 19:58:35 -07:00
Sylvain f1d9c36136 testshape: now uses SDL_WINDOW_TRANSPARENT instead of the shaped window API 2023-03-13 21:23:04 +01:00
Sylvain 2cafa52598 - Added SDL_WINDOW_TRANSPARENT to request a window with transparent framebuffer
- Remove SDL_VIDEO_EGL_ALLOW_TRANSPARENCY hint, EGL now checks 'window->flags & SDL_WINDOW_TRANSPARENT'
2023-03-13 21:23:04 +01:00
Frank Praznik 4dededd345 wayland: Don't throttle presentation until the first swap has occurred
Don't throttle window updates until the first swap has occurred, as the window won't actually be shown or receive the frame callback until that point and this causes new window creation to have a full 1 second delay.
2023-03-13 15:36:55 -04:00
SDL Wiki Bot 1010254a28 Sync SDL3 wiki -> header 2023-03-13 18:22:16 +00:00
Sam Lantinga 4dd26698fc Added SDL_GetWindowParent() to get the parent of popup windows 2023-03-13 11:21:02 -07:00
Sam Lantinga ebe3a9dc44 Spacing cleanup 2023-03-13 11:21:02 -07:00
SDL Wiki Bot 689ea5361e Sync SDL3 wiki -> header 2023-03-13 17:57:18 +00:00
Frank Praznik 1f35fd6939 video: Update the popup window creation documentation and disallowed flags
Update the popup window creation documentation with additional info, remove the SDL_WINDOW_MOUSE_GRABBED flag check since it isn't a valid window creation flag and will be removed automatically elsewhere, and check for and remove the explicit skip taskbar and borderless flags since they are implicit for popup windows.
2023-03-13 13:56:01 -04:00
Frank Praznik f97b469184 video: Disallow additional operations on popups where appropriate
Disallow additional window operations on popups where they have no functionality or otherwise don't make sense:

- Popups cannot be set as modal to other windows (they're already child windows of a parent)
- Other windows cannot be set as modal of popups
- Popups cannot explicitly grab the mouse/keyboard (the topmost popup menu takes the keyboard focus implicitly)
- Popups cannot flash or be raised
2023-03-13 13:56:01 -04:00
Frank Praznik d5b5e524af wayland: Set the EGL swap timeout to one second from the current time
Set the timeout max to one second from the current time or presentation time will always be greater than the timeout and the application will run unthrottled.
2023-03-12 17:07:32 -04:00
David Carlier 3990c71726 SDL_GetBasePath simplification for Haiku.
when solely looking for the path for the current binary
in the current team, find_path is sufficient.
2023-03-12 08:29:42 -04:00
Sam Lantinga 67e2558310 Check tooltip and popup window flags during parameter validation 2023-03-11 12:44:57 -08:00
Rudolf Polzer de3909a190 Android: indicate gamepaddb entries where axis order changed.
Axis order was changed in 6f1f586086 to improve
default mappings.
2023-03-11 12:43:48 -08:00
Frank Praznik 3e28588bb6 wayland: Never use the cached size for maximized or tiled windows
Don't use the cached floating window size for maximized or tiled windows. Fixes the initial window size when creating a window with the maximized flag set.
2023-03-11 11:40:57 -05:00
Sam Lantinga f4c1260120 More changes to fix building with older macOS SDKs 2023-03-10 16:38:45 -08:00
Sam Lantinga c044cff4c7 Rewrite WIN_GetSystemTheme() so we don't need to bump Windows SDK versions 2023-03-10 16:29:42 -08:00
Sam Lantinga edc8f0b841 Fixed building on older macOS SDKs 2023-03-10 16:15:46 -08:00
Sam Lantinga ffe6e58c85 Fixed compiling with older Windows SDKs 2023-03-10 16:12:18 -08:00
SDL Wiki Bot 1550fb69e4 Sync SDL3 wiki -> header 2023-03-10 23:52:18 +00:00
Frank Praznik cfeb663c87 tests: Add popup window test program
Right click to create new popup menus. Clicking over an existing popup menu will create a child menu. Left click to close all menus. Hover to display a tooltip that is the child of the window below it. Closing the application closes the root window, which should automatically destroy any open popup windows and exit gracefully.
2023-03-10 15:51:13 -08:00
Frank Praznik 5a0f50e1c3 docs: Update the migration document with changes to the tooltips and popup menu flags. 2023-03-10 15:51:13 -08:00
Frank Praznik 98e864f286 win32: Implement popup windows 2023-03-10 15:51:13 -08:00
Frank Praznik 77dc1a929a cocoa: Implement popup windows 2023-03-10 15:51:13 -08:00
Frank Praznik f41d3933e6 X11: Implement popup windows 2023-03-10 15:51:13 -08:00
Frank Praznik 68d2d9f76d wayland: Implement popup windows 2023-03-10 15:51:13 -08:00
Frank Praznik e987c4a463 video: Add the concept of child popup windows
Add the CreatePopupWindow function to allow the creation of child tooltip and menu popup windows. Popup windows must be created as either a tooltip or popup menu and cannot be minimized, maximized, made fullscreen, or grab the mouse.

Child popup windows are tracked and will be recursively hidden, shown, or destroyed in tandem with the parent window.
2023-03-10 15:51:13 -08:00
Sam Lantinga fc1af1dfde Added support for the trigger buttons on the Victrix Pro FS for PS5 2023-03-10 15:40:09 -08:00
Sam Lantinga 06183989e1 Removed space between sizeof and parentheses 2023-03-10 08:12:58 -08:00
Sam Lantinga dfa832c5de Make sure our pixel size is up to date at window creation
This guarantees that the application will always get SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED when a window is created.

Fixes https://github.com/libsdl-org/SDL/issues/7441
2023-03-10 08:11:16 -08:00
Sam Lantinga 2af6f4a3e4 Fixed build warning on Android 2023-03-10 08:11:16 -08:00
Stephen Kitt bbfd5b3fb2 Specify bash for androidbuildlibs.sh
This script relies on string indexes in parameter expansions, which
aren't suppored by /bin/sh (e.g. dash).

Based on a patch by Roflcopter4:
https://github.com/joncampbell123/dosbox-x/pull/3850

Signed-off-by: Stephen Kitt <steve@sk2.org>
2023-03-10 07:26:37 -08:00
Qrox 71c80c478a Uses integer arithmetics in SDL_ResampleAudio
- Revert resampler workaround
- Avoids precision loss caused by large floating point numbers
- Adds unit test to test the signal-to-noise ratio and maximum error of resampler
- Code cleanup
2023-03-09 22:12:03 -08:00
Sam Lantinga 926db1bd54 Removed a duplicate delay accidentally added during code refactor 2023-03-09 16:12:49 -08:00
Sam Lantinga 645823fc90 Wait for the GCController framework to see IOKit devices
It occasionally takes a few millseconds for the GCController framework to handle the device notification and set up the device

Fixes the duplicate controller issue in https://github.com/libsdl-org/SDL/issues/6686
2023-03-09 16:12:49 -08:00
Sam Lantinga 21e444b2e7 Fixed a few additional sizeof locations 2023-03-09 15:25:48 -08:00
Sam Lantinga c6443d86c9 Code style: changed "sizeof foo" to "sizeof(foo)" (thanks @sezero!) 2023-03-09 15:10:44 -08:00
Guldoman ad95c93bf4 Add portal interface to support `SDL_GetSystemTheme` in linux 2023-03-09 15:05:16 -08:00
Anonymous Maarten c304fbded6 cmake: disable ccache by default 2023-03-09 20:24:03 +01:00
Sam Lantinga 2ca727aec6 If the client rect is empty, use the last known window size
This happens on Windows 11 with fullscreen desktop windows when the desktop is brought up with the Windows+D shortcut.

Fixes https://github.com/libsdl-org/SDL/issues/7419
2023-03-09 10:31:39 -08:00
Ozkan Sezer bb59f46cbe Removed guard around the enabled assertions support code
Otherwise, SDL_assert_always() wouldn't work.

Fixes https://github.com/libsdl-org/SDL/issues/7433
2023-03-09 20:51:50 +03:00
Ozkan Sezer 34d13cd0a9 made IsModifierKeyPressed() helper static 2023-03-09 20:28:05 +03:00
Deve 4de6ddd07f Fixed incorrect modifier keys handling on macOS 2023-03-09 09:00:53 -08:00
David Demelier d0c4849d0b Rename SDL_atomic_t to SDL_AtomicInt 2023-03-09 09:00:09 -08:00
Sam Lantinga 8994878767 Added SDL_GetSystemTheme() to return whether the system is using a dark or light color theme, and SDL_EVENT_SYSTEM_THEME_CHANGED is sent when this changes
Fixes https://github.com/libsdl-org/SDL/issues/5334
Fixes https://github.com/libsdl-org/SDL/issues/6958
Closes https://github.com/libsdl-org/SDL/pull/6440
2023-03-09 03:25:20 -08:00