Commit Graph

15662 Commits

Author SHA1 Message Date
Frank Praznik 716dc0e1bf
wayland: Implement SetWindowOpacity via the alpha modifier protocol
The wp_alpha_modifier_v1 protocol allows for a global blending factor to be specified for an entire surface. Use this to add support for SDL_SetWindowOpacity().
2024-05-26 14:17:05 -04:00
Sam Lantinga 606903c02f Updated window event names 2024-05-26 11:13:34 -07:00
Ryan C. Gordon a4ccace9c5
include: Fix warnings from gendynapi.py.
Fixes #9890.
2024-05-26 13:44:16 -04:00
Ryan C. Gordon ca2d7f9844
gendynapi.py: Ignore wiki documentation blocks.
Otherwise, it thinks SDL_CreateThread, etc, are real functions.

Reference Issue #9890.
2024-05-26 13:34:13 -04:00
Ryan C. Gordon a0376ab057 SDL_MouseButtonFlags: Clarified some documentation. 2024-05-26 13:23:21 -04:00
Ryan C. Gordon 10bbf9d1da Fixed SDL_PenCapabilityFlags from Uint64 to Uint32. 2024-05-26 13:23:21 -04:00
Ryan C. Gordon 0e6db371e8 pen: Make the `\since` field in SDL_PenCapabilityFlags match everything else. 2024-05-26 13:23:21 -04:00
Ryan C. Gordon cf2874080f mouse: Move mouse button state from a Uint32 to a formal typedef.
Reference Issue #9812.
2024-05-26 13:23:21 -04:00
Ryan C. Gordon 13b18e3c41 test: Moved some `Uint32` bitfields over to typedefs.
Reference Issue #9812.
2024-05-26 13:23:21 -04:00
Ryan C. Gordon 0f0570b060 pen: Change a Uint32 bitfield into a typedef.
Reference Issue #9812.
2024-05-26 13:23:21 -04:00
SDL Wiki Bot 8e3ff8c3a1 Sync SDL3 wiki -> header 2024-05-26 17:21:54 +00:00
Sam Lantinga 534768c7c5 Added SDL_PauseAudioStreamDevice() and SDL_ResumeAudioStreamDevice() 2024-05-26 13:21:23 -04:00
SDL Wiki Bot a6da2e6f8b Sync SDL3 wiki -> header 2024-05-26 16:19:32 +00:00
Ryan C. Gordon 2626304e70
properties: add formal SDL_CleanupPropertyCallback type, improve docs. 2024-05-26 12:17:34 -04:00
Frank Praznik 4ee28b6bb4
wayland: Refactor and fix size handling in the configure events
In some cases, size data set programmatically could be overwritten by old configuration data, particularly when on the display scaling path. This refactors the configuration code to be much more strict and verbose regarding the handling of window sizes, which fixes some scenarios where tests were failing when display scaling was activated.
2024-05-26 10:30:46 -04:00
SDL Wiki Bot 84cb065da2 Sync SDL3 wiki -> header 2024-05-26 03:34:35 +00:00
Ryan C. Gordon 033793faed
audio: SDL_OpenAudioDeviceStream() now allows a NULL spec. 2024-05-25 23:34:01 -04:00
Ryan C. Gordon 6a40a8eb12
audio: Minor documentation clarifications. 2024-05-25 23:34:00 -04:00
Frank Praznik 0e1f3b681f video: Distinguish between explicit fullscreen enter requests and update requests
Video backends that run asynchronously can wind up in a race situation if a mode or position update request queues up a fullscreen enter request while an unprocessed asynchronous leave request is in flight, and the mode switch or position update request is processed after the leave request, causing the window to erroneously return to fullscreen.

Instead of the internal SDL_UpdateFullscreenMode and backend SetWindowFullscreen functions taking a boolean value, use an enum that allows the backends to distinguish between "this is an explicit fullscreen enter/leave request", and "this is an update request to change the mode or position". Communicating the specific intent allows the backend to early-out when required, which prevents windows from erroneously returning to fullscreen due to update requests made after a leave request, and allows for the removal of some internal synchronization previously needed to (attempt to) work around this, which improves overall performance while also increasing robustness.

This is only relevant to the internal functions, and nothing in the public-facing API has been changed.
2024-05-25 14:13:00 -04:00
Anonymous Maarten fefa47e409 dropfile: main callbacks need extra CMake care on UWP 2024-05-25 16:35:11 +02:00
Anonymous Maarten 78e25d4994 testdropfile: convert to use callbacks 2024-05-25 04:44:07 +02:00
Anonymous Maarten 89a4d9ae67 cmake+d3d12: d3d12 now builds succesfully on older Windows SDKs, so simplify the checks 2024-05-24 21:48:04 +02:00
capehill 318ab9361b opengl: remove duplicated texture format 2024-05-24 12:16:08 -07:00
Anonymous Maarten 98fcf112e7 d3d12: older Windows SDK headers contain wrong function prototypes
Declare correct function pointers ourselves.
2024-05-24 19:39:45 +02:00
Frank Praznik ecdcf94c5b
wayland: Only restore windowed constraints in configuration events
In some cases, the fullscreen deadline handler can be hit before the associated configure event is received, resulting in the constraints being erroneously restored. The state is doubled buffered, so it shouldn't interfere with the pending fullscreen dimensions, but it isn't correct behavior.

According to the spec, calls to set/unset fullscreen will always have an associated configure event, and the constraints will be reapplied as needed there.
2024-05-24 11:01:13 -04:00
d-musique 535be42b1c Correct name for SDL_CreateThreadWithStackSize() 2024-05-24 07:32:34 -07:00
Sam Lantinga 7a043d9958 Note that SDL_BlitSurface() was renamed SDL_BlitSurfaceScaled() 2024-05-24 05:33:51 -07:00
Sam Lantinga 836e6c1531 Don't toggle modifier state for repeated keys (thanks @dalawren!)
Closes https://github.com/libsdl-org/SDL/pull/9387
2024-05-24 04:44:56 -07:00
Anonymous Maarten f3695ef34e VC: don't import Microsoft.CPP.UpgradeFromVC[67]0.props projects
Only thing these do is define a _VC80_UPGRADE macro.
2024-05-24 11:13:40 +02:00
Sam Lantinga 9259d532da isVRHeadset returns true for Pico headsets 2024-05-23 17:39:06 -07:00
Sam Lantinga 89caa88b73 Get the definition for SDL_PropertiesID in SDL_thread.h 2024-05-23 17:14:07 -07:00
Sam Lantinga a3ab46b707 Fixed mapping the touchpad for the Qanba PS5 controllers like the Qanba Drone 2 Arcade Joystick
These controllers are autodetected by the HIDAPI driver, so SDL_GetGamepadTypeFromGUID() should be used to pull the gamepad type out of the GUID.
2024-05-23 16:48:04 -07:00
Sam Lantinga 98a9ca5e32 Added Linux bindings for the Qanba Drone 2 Arcade Joystick 2024-05-23 15:34:38 -07:00
Sam Lantinga 2461bd8648 Removed unnecessary float casts 2024-05-23 15:12:19 -07:00
Semphris 3acca27e95 Dialog: XDG Portals: Remove the `file://` URI 2024-05-23 12:54:39 -07:00
Sam Lantinga 6e081eb7dc Memory leak no more! 2024-05-23 11:26:59 -07:00
Sam Lantinga 156ca356b5 Free any temporary environment memory at SDL_Quit()
Fixes https://github.com/libsdl-org/SDL/issues/9860
2024-05-23 11:23:20 -07:00
Cyao 4022682c28 Fix touchid assertion faliure on emscripten 2024-05-23 10:30:24 -07:00
SDL Wiki Bot 66fbbdf46a Sync SDL3 wiki -> header 2024-05-23 17:09:44 +00:00
SDL Wiki Bot 3e8d8f81b4 Sync SDL3 wiki -> header 2024-05-23 17:04:35 +00:00
Frank Praznik baacbeb4c4
wayland: Make sure the correct cached window dimensions are used when a config size of 0,0 is received
The window may be in a maximized or tiled state, in which case, don't use the floating size.
2024-05-23 11:13:02 -04:00
Frank Praznik b1061a3ec1
video: Rename 'state_not_floating' to the more descriptive 'tiled' 2024-05-23 10:35:58 -04:00
Frank Praznik 37672f52da
wayland: Simplify resize logic
Non-size configuration events are filtered out, so there is no need to enqueue an event when setting the size, as it won't be overwritten in the configure event when only changing state.
2024-05-23 10:35:58 -04:00
scribam 3f1143b4f5 release: fix arm64 Visual Studio build directory
[skip ci]
2024-05-23 13:04:35 +02:00
Ryan C. Gordon 2f2c3afb05
SDL_internal: tweaked comment. 2024-05-22 20:55:28 -04:00
Ryan C. Gordon 48ebc829e4
thread: Fix build, if SDL is built without an external C runtime.
Fixes #9858.
2024-05-22 20:46:44 -04:00
Ryan C. Gordon 25024ea295 windows: Before SDL_main has run, use WideCharToMultibyte, not SDL_iconv.
Otherwise, this will crash if the app sets its own SDL_malloc allocator, since
SDL_iconv uses SDL_malloc.

WideCharToMultibyte lets us calculate the needed memory for the argv[] string
conversions, and then we use the win32 HeapAlloc() API to get some memory
for it.

Fixes #8967.
2024-05-22 20:08:15 -04:00
Anonymous Maarten 86b2f441c0 release: create arm64 Visual Studio binaries
[skip ci]
2024-05-23 00:13:10 +02:00
SDL Wiki Bot be5d4e5857 Sync SDL3 wiki -> header 2024-05-22 21:40:15 +00:00
SDL Wiki Bot 6429806dce Sync SDL3 wiki -> header 2024-05-22 19:47:56 +00:00