Frank Praznik
48f5550651
wayland: Don't send keyboard and mouse added events during initialization
...
Only send them when a device is added post-initialization, as is done on other platforms.
2025-01-28 13:02:29 -05:00
Carl Åstholm
c21bc48a70
Fix undefined behavior in SDL_windowsmouse.c
...
This fix prevents C undefined behavior from being invoked on Windows
if the user's configured cursor speed is below 6.
2025-01-28 05:12:16 -08:00
Petar Popovic
a336b62d8b
Remove newlines from error messages
2025-01-23 11:45:04 -08:00
Frank Praznik
d0ae093681
x11: Don't force position windows with an undefined position
...
An undefined position means that the window manager can handle placement, so SDL shouldn't override that by forcing a position when showing a window.
Allows for removing a fair bit of now-unnecessary code as well.
2025-01-23 14:36:26 -05:00
Petar Popovic
983cfe8b1c
Remove even more newlines from log messages
2025-01-23 09:32:50 -08:00
nightmareci
718034f5fa
Remove newlines from log messages
2025-01-22 20:25:04 -08:00
Sam Lantinga
6f3d0b3cdb
Fixed build when using an older Xcode SDK
...
Fixes https://github.com/libsdl-org/SDL/issues/12048
2025-01-21 18:17:02 -08:00
Sam Lantinga
b775135b4f
Removed temporary debug code
2025-01-21 08:57:08 -08:00
Ryan C. Gordon
90bda6548f
video: Don't let SDL_CreateWindowTexture use the software renderer.
...
It used to check for "software" in the hint, but now it has to parse a
comma-separated list.
If it tries to use the software renderer here, you'll end up in an infinite
recursion.
2025-01-21 11:29:00 -05:00
Sam Lantinga
b476695e67
Call the windows message hook while inside a modal message loop
...
Fixes https://github.com/libsdl-org/SDL/issues/12029
2025-01-20 15:56:23 -08:00
Frank Praznik
10a5b388df
win32: Retain the WS_MAXIMIZEDBOX style while in fullscreen
...
This needs to be preserved while in fullscreen, or leaving fullscreen for the maximized state can cause the taskbar to disappear with borderless windows.
2025-01-20 17:01:58 -05:00
Frank Praznik
6449339ae3
win32: Restore the base size of a window when leaving fullscreen
...
Always restore the base floating size of a window before possibly entering the maximized state, as base size can be lost during the fullscreen transition, resulting in the window de-maximizing to the wrong size.
2025-01-20 17:01:58 -05:00
Sam Lantinga
c975f77b0f
Update joysticks and so forth during live resize
...
Fixes https://github.com/libsdl-org/SDL/issues/12022
2025-01-20 10:11:31 -08:00
Sam Lantinga
f8040b2e01
Use UIKeyboardTypeDecimalPad for number fields on iOS
...
Fixes https://github.com/libsdl-org/SDL/issues/12025
2025-01-20 09:09:57 -08:00
Ryan C. Gordon
642262e30e
cocoa: Fix mousegrab when going fullscreen.
...
When going into a fullscreen space, update mouseConfinementRect once the
transition is done. When going exclusive fullscreen, force a window sync so
the transition is complete before we do the update.
Fixes #9088 .
2025-01-20 01:02:30 -05:00
William Hou
7133969e3a
Feature add hint to remap option as alt key ( #12021 )
2025-01-19 20:34:04 -08:00
Sam Lantinga
a974888aad
tray: fixed icon colors on Windows
2025-01-19 18:53:55 -08:00
Ryan C. Gordon
5da9d4ecc2
cocoa: Slightly better display hotplugging detection.
...
Fixes #12016 .
2025-01-18 17:02:37 -05:00
Sam Lantinga
ba95c54f99
macOS: get the correct display name on macOS 10.15+
2025-01-18 09:42:37 -08:00
Frank Praznik
42e0fb10f8
wayland: Set the mouse state before calling the hit test callback
...
Update the mouse state before entering the hit test, in case the global state is queried, or the system menu opened, while in the client hit testing callback.
2025-01-18 12:10:25 -05:00
Ryan C. Gordon
1d7a681e4d
Revert "emscripten: resizable windows take whole page, resize with browser window."
...
This reverts commit d317fc9c08 .
This has some issues, we'll revisit it for 3.4.0.
Reference Issue #11949 .
2025-01-18 10:15:43 -05:00
Sam Lantinga
923123a527
emscripten: Let SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT accept "#none"
...
This is used to say "don't even try to listen for keypresses," for apps that
are managing this outside of SDL.
Fixes #10292 .
2025-01-18 06:19:27 -08:00
Sam Lantinga
c603a9c94a
Moved flag documentation
2025-01-18 06:16:10 -08:00
Sam Lantinga
90b7174a7d
Respect the SDL_BORDERLESS_RESIZABLE_STYLE hint, but default it to true.
2025-01-18 06:07:06 -08:00
Ryan C. Gordon
6a72d32d41
emscripten: Let SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT accept "".
...
This is used to say "don't even try to listen for keypresses," for apps that
are managing this outside of SDL.
Fixes #10292 .
2025-01-18 08:43:55 -05:00
Ryan C. Gordon
f3a39074b0
windows: use WS_THICKFRAME style on borderless windows.
...
This is apparently necessary in newer Windows releases (Windows 10 and later?)
to allow hit-testing to resize the window.
Fixes #8406 .
2025-01-18 08:38:49 -05:00
Ryan C. Gordon
d317fc9c08
emscripten: resizable windows take whole page, resize with browser window.
...
This also implements the SetWindowResizable interface, so this can be now
toggled after window creation, too.
Fixes #11949 .
2025-01-17 17:59:28 -05:00
Sam Lantinga
59ea078ee2
x11: check to see if displays moved when connected/disconnected
...
Fixes https://github.com/libsdl-org/SDL/issues/9738
2025-01-17 13:14:16 -08:00
Frank Praznik
1848ce680b
win32: Use the window coordinates to get the monitor when de-minimizing a maximized window
...
MonitorFromWindow can fail if called on a window being de-minimized, so fall back to using the monitor from the last window coordinates if initial retrieval fails.
2025-01-17 15:46:18 -05:00
Frank Praznik
b96bb152c2
wayland: Don't redundantly set the border state when showing a window
...
They are now set before the initial configure.
2025-01-16 13:54:39 -05:00
Frank Praznik
5a564a718d
wayland: Add a dummy function for the libdecor dismiss popup callback
...
This was never added, and we've been lucky that it's never called as libdecor doesn't check the function pointer for null before doing so.
2025-01-16 13:48:16 -05:00
Frank Praznik
9f6eeb1095
wayland: Set the border state before the initial configure
...
This allows the toplevel bounds to be set correctly on borderless windows.
2025-01-16 13:40:31 -05:00
Ethan Lee
c95b842b30
video: Xbox does not use CreateIconFromSurface
2025-01-16 12:19:46 -05:00
Frank Praznik
7ee2ab3830
wayland: Fix return value check from int-to-bool conversion
2025-01-16 11:52:16 -05:00
Ryan C. Gordon
3424ec948c
video: SDL_GL_GetAttribute gets correct SDL_GL_CONTEXT_RELEASE_BEHAVIOR value.
...
Original patch was from @ramezgerges (thanks!).
Fixes #11697 .
2025-01-16 08:19:05 -05:00
Sam Lantinga
ea642fe9ff
cocoa: clear mouse focus based on NSEventTypeMouseExited events ( #11991 )
...
We can't directly set the mouse focus since we may get spammed by entered/exited events,
but we can process the current focus later in the mouseMoved handler in line with the
mouse motion event sequence.
Fixes https://github.com/libsdl-org/SDL/issues/8188
2025-01-15 23:34:20 -08:00
Sam Lantinga
2c7b7d1d33
Keep the lifecycle observer active while there are windows active
...
Fixes https://github.com/libsdl-org/SDL/issues/11627
2025-01-15 17:10:49 -08:00
Frank Praznik
c9d602307c
cocoa: Only process hit tests on left clicks
...
Otherwise, right-click events over drag areas will be eaten.
2025-01-15 15:44:01 -05:00
Frank Praznik
dd0bdc2561
win32: Pass through non-left mouse button presses when over draggable areas
...
Returning anything other an HTCLIENT result will cause windows to eat the button press, so ensure that non-left presses are passed through to the client over draggable areas.
2025-01-15 15:44:01 -05:00
Sam Lantinga
fc9b2478d8
windows: don't set focus click pending if SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH is set
...
Fixes https://github.com/libsdl-org/SDL/issues/11976
2025-01-15 10:54:12 -08:00
Sam Lantinga
18d21b36fe
windows: use the initial rect to anchor fixed aspect ratio resizing
...
Fixes https://github.com/libsdl-org/SDL/issues/11688
2025-01-15 10:33:22 -08:00
Sam Lantinga
1995471927
cocoa: fixed resizing windows with fixed aspect ratio
...
The existing algorithm works well for min-max ratios, but didn't allow edge expansion of fixed aspect ratio windows. Use NSWindow setContentAspectRatio instead.
2025-01-15 10:05:34 -08:00
Sam Lantinga
67382e9c83
Fixed detection of function keys on Emscripten
...
Fixes https://github.com/libsdl-org/SDL/issues/11973
2025-01-15 08:07:38 -08:00
Sam Lantinga
51fa076fdc
Don't send normal keyboard events if no application window has focus
...
This can happen if all the windows shown have the SDL_WINDOW_NOT_FOCUSABLE flag. We'll still accept modifier state changes though, so you can do Control-click actions.
2025-01-14 23:44:43 -08:00
Sam Lantinga
a446381ea9
Tooltips and unfocusable windows can't become main windows
2025-01-14 23:44:43 -08:00
Ryan C. Gordon
dabc93a631
pen: Send virtual mouse and touch events for pen input.
...
Fixes #11948 .
2025-01-15 02:19:59 -05:00
ImThour
169c8d5140
Fix incorrect hotspot calculation for cursor positioning
...
Corrected the calculation of the vertical hotspot position in the `GetCachedCursor` function.
Changed the variable from `data->hot_x` to `data->hot_y` to ensure the correct vertical position of the cursor's hotspot is used when scaling.
2025-01-14 22:37:24 -08:00
Sam Lantinga
8e9c44bc3b
Fixed accidental removal of optional delegate interface check
...
Fixes https://github.com/libsdl-org/SDL/issues/11970
2025-01-14 22:35:13 -08:00
Sam Lantinga
81e57147f8
Child windows shouldn't take focus if the parent window is in relative mouse mode
...
Fixes https://github.com/libsdl-org/SDL/issues/11807 on Windows
2025-01-14 21:27:06 -08:00
Sam Lantinga
cdde6dd7bb
Bumped deployment requirements for Apple platforms
...
We require at least Xcode 12.2 and macOS SDK 11 to build. We support deploying to macOS 10.13, iOS 11.0, and tvOS 11.0.
This cleans up the code significantly
2025-01-14 12:03:07 -08:00