Commit Graph

9891 Commits

Author SHA1 Message Date
Sam Lantinga
aafbbe4ebc Fixed warning C4090: 'function': different 'const' qualifiers 2024-07-19 15:38:41 -07:00
Sam Lantinga
02dceed760 Simpler pointer arithmetic 2024-07-19 13:06:54 -07:00
Sam Lantinga
b80784fced SDL_GetGamepadBindings() follows the SDL_GetStringRule 2024-07-19 13:06:54 -07:00
Sam Lantinga
0079b6d45f SDL_GetTouchFingers() follows the SDL_GetStringRule 2024-07-19 13:06:54 -07:00
Sam Lantinga
a340de6196 The candidates in SDL_EVENT_TEXT_EDITING_CANDIDATES should be a single allocation 2024-07-19 12:22:03 -07:00
Sam Lantinga
bebde1c4c9 Make sure we're not trying to add temporary memory twice 2024-07-19 12:22:03 -07:00
Sam Lantinga
68322ac851 Ensure that all functions that follow the SDL_GetStringRule return temporary memory 2024-07-19 12:22:03 -07:00
Sam Lantinga
fd9fe1bb7b Renamed event memory to temporary memory, since it's not just used for events 2024-07-19 12:22:03 -07:00
Sam Lantinga
c4eac60000 SDL_GetClipboardData() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
61a7a0e579 SDL_GUIDToString() follows the SDL_GetStringRule
Also removed the distinction between SDL_GUID and SDL_JoystickGUID
2024-07-19 12:22:03 -07:00
Sam Lantinga
892df4bf4b SDL_GetWindowICCProfile() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
eb22fcce35 SDL_GetTouchDevices() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
856d598d6e SDL_GetSensors() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
4f8c348402 SDL_GetPreferredLocales() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
9be73ed7c5 SDL_GetMice() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
6ca18ed0e5 SDL_GetKeyboards() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
5ce0aacaa4 SDL_GetGamepads() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
4961af4569 SDL_GetJoysticks() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
b32c9615a7 SDL_GetHaptics() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
9de8cb888a SDL_GetFullscreenDisplayModes() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
9758e102bc SDL_GetDisplays() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
01199469de SDL_GetCameras() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
0fe6603747 SDL_GetCameraSupportedFormats() follows the SDL_GetStringRule
Also changed the function to return an array of pointers and added example usage to testcamera
2024-07-19 12:22:03 -07:00
Sam Lantinga
bdafc8e212 SDL_GetWindows() follows the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
8ca6caeda5 SDL_GetAudioPlaybackDevices() and SDL_GetAudioRecordingDevices() follow the SDL_GetStringRule 2024-07-19 12:22:03 -07:00
Sam Lantinga
bb96320cc4 Make sure we always copy the data returned using SDL_GetStringRule
This prevents race conditions where calling an API from one thread returns the data and it's freed by updates on another thread
2024-07-19 12:22:03 -07:00
Sam Lantinga
ef884c8aa6 Transfer event memory between the local pool and the event queue
This allows threads to free memory from their local pool without affecting events that are queued, and to transfer memory ownership cleanly between threads that are queuing and dequeuing events.
2024-07-19 12:22:03 -07:00
Sam Lantinga
f95ecac300 Added SDL_ClaimEventMemory() 2024-07-19 12:22:03 -07:00
Sam Lantinga
2816745f48 Allow passing a pointer to SDL_FreeEventMemory()
Also clarify in the documentation that you should not call SDL_FreeEventMemory(NULL) from your main thread.
2024-07-19 12:22:03 -07:00
Frank Praznik
0d24b6e9f3 wayland: Use the compositor provided size during state transitions
Always use the size sent by the compositor when transitioning back to the floating state on the xdg-toplevel path, unless the client explicitly requested a new floating size while the window was in a fixed-size state.

If a window is requested to be maximized or made fullscreen while an uncommitted size request is pending, the surface will first be committed so that the compositor will set the new size when the window is restored.

Fixes the window being wrongly resized when leaving the maximized state in KDE.
2024-07-19 14:15:36 -04:00
Charlie Birks
25559faaea emscripten: restore key event prevent default behaviour
This restores the behaviour before 9221548114 where we only preventDefault the event if:
- the key is recognised
- the event is enabled
- the event is not filtered

(ignoring the KEYPRESS special case, which is unchanged)

(cherry picked from commit 6e931bee01)
2024-07-19 09:41:02 -07:00
Anonymous Maarten
a2a1d2de66 Add HAVE_UNSETENV to preprocessor guard 2024-07-19 10:21:34 +00:00
Anonymous Maarten
ccebbb6c6e Fix UWP build in non-UNICODE mode 2024-07-19 10:21:34 +00:00
vanfanel
7d83e03ac2 Fix KMSDRM double buffering.
(cherry picked from commit 5ab1151508)
2024-07-18 14:36:58 -07:00
Sam Lantinga
02a072a1b7 Added SDL_ClearSurface() and SDL_ReadSurfacePixelFloat() 2024-07-17 18:04:16 -07:00
Sam Lantinga
b07bd55baf Fixed use of SDL_expand_byte after flipping from bit loss to bit count 2024-07-17 18:04:16 -07:00
Sam Lantinga
cd25cb3435 Check SDL_LockSurface() return value 2024-07-17 18:04:16 -07:00
Sam Lantinga
eefcb62588 SDL_MUSTLOCK() returns true once a surface has the RLE flag set
This more closely matches the mental model of people using SDL, and locking a surface that isn't RLE encoded doesn't cause any issues.

Fixes https://github.com/libsdl-org/SDL/issues/5594
2024-07-17 18:04:16 -07:00
Sam Lantinga
334962b056 Enhancements for SDL_PremultiplyAlpha()
The function can now convert between pixels of different formats, and takes a parameter to control whether the premultiplication is done in sRGB or linear space.

Also added SDL_PremultiplySurfaceAlpha(), which can premultiply the pixels of a surface in-place.
2024-07-17 18:04:16 -07:00
Frank Praznik
b99ea1ff75 wayland: Add SDL_VIDEO_DOUBLE_BUFFER support
Manual cherry-pick of 9e6b8d56e3

thanks @vanfanel
2024-07-17 18:27:46 -04:00
Amir
5db08b86ca Fix warning for Android NDK compiler: "function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]"
https://stackoverflow.com/questions/42125/warning-error-function-declaration-isnt-a-prototype
In C int foo() and int foo(void) are different functions. int foo() accepts an arbitrary number of arguments, while int foo(void) accepts 0 arguments. In C++ they mean the same thing.
2024-07-17 14:09:11 -07:00
Sam Lantinga
94c40fb3c9 Fixed warning: no previous prototype for function 'SDL_InitFilesystem' 2024-07-17 11:00:25 -07:00
Sam Lantinga
761e86e25e Initialize output parameters to reasonable defaults in case of error 2024-07-17 10:27:37 -07:00
Sam Lantinga
5f5e91eab6 Reverted 3d2e5a0b66
Applying these changes to external code doesn't actually improve anything, and within the context of the other Get* functions for renderers and surfaces, these stand out as outliers, so I'm going to back this change out.
2024-07-17 10:27:37 -07:00
Sam Lantinga
b3df46e4bc Added missing SDL_sysfilesystem.h includes 2024-07-17 09:09:42 -07:00
Ozkan Sezer
2eda7b2c24 SDL_sysvideo.h: remove SDL_DisplayModeData typedef:
Fixes a type redefinition error:

In file included from /tmp/SDL3/test/../src/events/SDL_events_c.h:28,
                 from /tmp/SDL3/test/../src/events/SDL_pen.c:26,
                 from /tmp/SDL3/test/testautomation_pen.c:83:
/tmp/SDL3/test/../src/events/../video/SDL_sysvideo.h:34: error: redefinition of typedef 'SDL_DisplayModeData'
/tmp/SDL3/include/SDL3/SDL_video.h:78: note: previous declaration of 'SDL_DisplayModeData' was here
2024-07-17 12:30:32 +03:00
Sam Lantinga
3d2e5a0b66 Fixed a few remaining functions to directly return their values instead of an error code. 2024-07-16 21:32:17 -07:00
Sam Lantinga
98bea25363 Converted surfaces with alpha format default to SDL_BLENDMODE_BLEND
Fixes https://github.com/libsdl-org/SDL/pull/4690
2024-07-16 18:50:22 -07:00
Sam Lantinga
7c0307060d Textures with alpha format default to SDL_BLENDMODE_BLEND
Fixes https://github.com/libsdl-org/SDL/issues/9941
2024-07-16 18:50:22 -07:00
Sam Lantinga
2db57e2678 Removed SlowBlitPixelAccess_Unknown
This wasn't actually set anywhere, and not needed.
2024-07-16 18:43:14 -07:00