Commit Graph

4663 Commits

Author SHA1 Message Date
Sam Lantinga
221d1f12ea Use an empty bitmap for the blank cursor on macOS
Some macOS installations seem to have trouble decoding the GIF we were using

Fixes https://github.com/libsdl-org/SDL/issues/14012
2025-09-22 19:14:38 -07:00
Frank Praznik
18195c5ef0 x11: Add #ifdef guards to the XInput2 quit function
Fixes building if XInput2 isn't available.
2025-09-22 17:48:12 -04:00
Frank Praznik
733335e272 x11: Apply remapping to XInput2 mouse button events from slave devices
Slave pointer devices report raw button values, while the master pointer device reports button values with remapping applied. Manually apply the remapping table to slave device buttons to eliminate multiple button events from one press, and allow button remapping to function when relative mode is active.
2025-09-22 17:33:31 -04:00
eafton
4363582e6d X11TK: Fix build 2025-09-22 14:31:13 -07:00
eafton
7cc477d458 X11TK: Even more failsafes for fonts 2025-09-22 14:31:13 -07:00
eafton
773db8eb75 X11TK: Even more failsafes for fonts 2025-09-22 14:31:13 -07:00
eafton
8cbd5d5b25 X11TK: Use SDL_roundf instead of normal roundf 2025-09-22 14:31:13 -07:00
eafton
667eac3354 X11TK: Formatting 2025-09-22 14:31:13 -07:00
eafton
fb99dfc076 X11TK: Cleanups, reduce scaling factor if a font cant be found 2025-09-22 14:31:13 -07:00
Sam Lantinga
cece47c64d Fixed iOS build 2025-09-22 11:27:07 -07:00
Sam Lantinga
137b0b2bee The default swap interval on EGL is 1, according to the spec
Fixes https://github.com/libsdl-org/SDL/issues/14014
2025-09-22 10:23:08 -07:00
Sam Lantinga
7563a3e17d Fixed clipboard tests on iOS 2025-09-22 10:09:30 -07:00
Ryan C. Gordon
c8eb9f3706 x11: Set EGL surface for foreign X11 windows.
Cherry-picked by hand from SDL2: 780ec8fac0

Also cleaned up the XDestroyIC cleanup code to match the setup code.

Fixes #11996.
2025-09-22 10:37:52 -04:00
Sam Lantinga
bce2a336d2 Use the default window focus behavior on macOS
We had to work around odd behavior in really old versions of macOS, but the current behavior is great.

Fixes https://github.com/libsdl-org/SDL/issues/3954
2025-09-20 18:57:22 -07:00
Sam Lantinga
8eeae5f686 The wayland messagebox should only be used under wayland 2025-09-20 09:06:07 -07:00
Andrei Sabalenka
bb2b39b8ea wayland: fix typo in xdg_positioner_set_anchor_rect 2025-09-20 08:53:49 -07:00
Sam Lantinga
597ef58966 Use zenity messageboxes by default on X11
This makes messageboxes consistent between X11 and Wayland.
2025-09-20 08:37:51 -07:00
Frank Praznik
9b72545634 video: Clamp HDR levels before comparing for deduplication
Eliminates some redundant HDR changed events due to comparing clamped and unclamped values.
2025-09-19 12:36:59 -04:00
Sam Lantinga
0eff3fe558 Fixed double-free when using window surfaces 2025-09-18 20:58:32 -07:00
Sam Lantinga
25b2d2c821 Use new parameter validation macro 2025-09-18 20:58:32 -07:00
Frank Praznik
f540de87b9 wayland: Always set the last incoming clipboard seat when setting clipboard data
Otherwise, the clipboard will report having no or old data until events are pumped.

Fixes the automated clipboard tests.
2025-09-18 17:44:58 -04:00
Frank Praznik
03e1523eb8 wayland: Add the libdecor toplevel bounds and constraints properties 2025-09-16 11:07:27 -04:00
Eddy Jansson
21c9f5304d wayland: Silence unused variable warning
'vd' and 'd' are only used if SDL_USE_LIBDBUS is set.
2025-09-15 10:26:23 -04:00
Sam Lantinga
dac6af4ba6 Only use a transparent cursor on Windows when connected via RDP
VMware relies on the cursor being set to NULL to optimize relative mouse motion for games.

We should also revisit whether current RDP works better with a NULL cursor or a transparent cursor.

Fixes https://github.com/libsdl-org/SDL/issues/13700
2025-09-14 17:24:40 -07:00
Sam Lantinga
f8bace9b9b Remove the behavior of warping the mouse on fullscreen transitions
This made sense when switching between a window and an exclusive fullscreen video mode of the same dimensions, but it causes user confusion when the window changes size, and doesn't work well with Wayland. I've gotten this feedback from several sources, so we'll just go ahead and remove this behavior for now.

Fixes https://github.com/libsdl-org/SDL/issues/11577
2025-09-14 13:18:30 -07:00
Sam Lantinga
113c7e8a58 Fixed delayed text entry for OTP codes on iOS (thanks @pipiwoaini!)
Fixes https://github.com/libsdl-org/SDL/issues/13717
2025-09-14 08:08:13 -07:00
Frank Praznik
4561be89a5 x11: Use the SDL_WindowFlags type instead of Uint32
Uint32 can potentially truncate the flag value, as it is 64 bits in SDL3.
2025-09-13 15:44:29 -04:00
Cameron Cawley
bd680bdbcc Consistently use SDL_PIXELFORMAT_RGBA32 with Emscripten 2025-09-13 07:41:33 -07:00
Ryan C. Gordon
98e22213da emscripten: Do a little better at tracking Caps/Num/Scroll Lock state.
Fixes #5447.
2025-09-13 01:50:22 -04:00
Sam Lantinga
3ddc3f1146 Send events for mice and keyboards detected during initialization
Fixes https://github.com/libsdl-org/SDL/issues/12815
2025-09-11 20:07:55 -07:00
Temdog007
4efdfd92a2 Emscripten: Ensure drop functionality is the same as other platforms 2025-09-10 15:22:04 -07:00
Temdog007
6711caa431 Emscripten: Fix Emscripten_GetFocusedWindow
Ensure a window is focused if the DOM is focused
2025-09-10 14:53:28 -07:00
Sam Lantinga
712ce16469 Fixed emulated touch on Android
This also fixes laser pointer input on Meta Quest headsets
2025-09-10 14:44:26 -07:00
eafton
d3a6be9607 X11TK: Implement SHM transport for fractional scaling (#13919) 2025-09-10 08:05:23 -07:00
eafton
206a3cd25f X11TK: Fix a bug where closing the messagebox would kill the application 2025-09-10 08:03:32 -07:00
Ethan Lee
c5749f0ae7 video: Xbox buildfix for DeclareDPIAwareSystem 2025-09-09 16:35:18 -04:00
eafton
b59d6d49c3 X11: Check for invalid opcodes in SHM error handler 2025-09-09 10:59:24 -07:00
Sam Lantinga
0f8d062e10 Fixed warning: conversion to 'uint32_t' from 'float' may alter its value 2025-09-08 19:25:41 -07:00
nightmareci
2f5bc17ea6 Fix support for Windows XP and up (#13904) 2025-09-08 13:00:26 -07:00
Sam Lantinga
3f196c0abe Added a name for the Windows raw input thread 2025-09-08 11:39:17 -07:00
Sam Lantinga
bb557f1077 Fixed jitter when doing a scaled blit to a surface with clipping set
Fixes https://github.com/libsdl-org/SDL/issues/10953
Fixes https://github.com/libsdl-org/SDL/issues/12658
2025-09-07 19:48:05 -07:00
Sam Lantinga
9116a56c13 Fixed memory leak enumerating display modes on Windows
Fixes https://github.com/libsdl-org/SDL/issues/13233
2025-09-07 13:53:51 -07:00
Frank Praznik
8c4e048a68 x11: Fail gracefully on keymap creation failure 2025-09-07 11:37:56 -04:00
Sam Lantinga
d21da8644b Revert "Make sure fast path RGB <-> YUV conversions are using the same color primaries"
This reverts commit ee87132385.

The supported conversions assume correct primaries for YUV converted to SRGB
2025-09-06 10:03:41 -07:00
Ozkan Sezer
baf965c1ca Revert "video/openvr: define OPENVR_API_NODLL"
This reverts commit 976ba1e750.
2025-09-06 04:15:55 +03:00
Ozkan Sezer
976ba1e750 video/openvr: define OPENVR_API_NODLL
.. so that S_API doesn't expand to __declspec(dllimport)
2025-09-06 03:05:50 +03:00
Sam Lantinga
c573326f11 Fixed double-free in the OpenVR video backend 2025-09-05 14:47:20 -07:00
Aleksey Melekh
129c97f610 xbox: fix build 2025-09-05 09:19:54 -07:00
Sam Lantinga
9e3d5969e6 Fixed testsoftwaretransparent on platforms using a renderer for window surfaces 2025-09-04 09:24:22 -07:00
Qiang
f2d2cd8152 fix: Blending rendering anomaly when using the software renderer with SDL_WINDOW_TRANSPARENT on Windows. (#13866) 2025-09-04 07:41:45 -07:00