Sam Lantinga
e41428d259
Added full blit feature support for 8-bit surfaces
...
Fixes https://github.com/libsdl-org/SDL/issues/8079
2024-07-16 17:57:12 -07:00
Sam Lantinga
b7ec2119dd
Use a dither palette when converting RGB images to indexed formats
2024-07-16 17:57:12 -07:00
Sam Lantinga
626bb53772
Fail blits between indexed and RGB surfaces if there is no palette set
2024-07-16 17:57:12 -07:00
Sam Lantinga
9ca1792848
Renamed driverdata to internal
...
This was done to SDL_DisplayMode for consistency with SDL_Surface and gives it a type so we don't have to do casts in SDL code.
I considered switching to an ID and hashing the driver data, etc. but all of that involved a lot of internal code churn and this solution gives us flexibility in how we handle this in the future.
After consideration, I made this renaming global across the project, for consistency.
Fixes https://github.com/libsdl-org/SDL/issues/10198
2024-07-16 17:17:13 -07:00
Ryan C. Gordon
4dda785c69
gamepad: Several gamepad mapping functions now follow the SDL_GetStringRule.
...
Reference Issue #10229 .
2024-07-16 16:44:36 -04:00
Ryan C. Gordon
ed1f93cd11
filesystem: `SDL_Glob*Directory()` functions now follow the SDL_GetStringRule.
...
Reference Issue #10229 .
2024-07-16 16:44:36 -04:00
Ryan C. Gordon
52bf7ff42d
filesystem: SDL_GetPrefPath() now follows the SDL_GetStringRule.
...
Reference Issue #10229 .
2024-07-16 16:44:36 -04:00
Ryan C. Gordon
2321726ff1
filesystem: SDL_GetUserFolder() now follows the SDL_GetStringRule.
...
It also now caches at the higher level, so the platform-specific bits don't
change their interface much.
Reference Issue #10229 .
2024-07-16 16:44:36 -04:00
Ryan C. Gordon
d40b89dff6
clipboard: SDL_GetPrimarySelectionText() now follows the SDL_GetStringRule.
...
Reference Issue #10229 .
2024-07-16 16:44:36 -04:00
Ryan C. Gordon
158fc459f1
clipboard: SDL_GetClipboardText() now follows the SDL_GetStringRule.
...
Reference Issue #10229 .
2024-07-16 16:44:36 -04:00
Ryan C. Gordon
3bc81a81f5
filesystem: SDL_GetBasePath() now follows the SDL_GetStringRule.
...
It also now caches at the higher level, so the platform-specific bits don't
change their interface much.
A little code hygiene work was applied to some of the platform bits on top of
this.
Reference Issue #10229 .
2024-07-16 16:44:36 -04:00
Sam Lantinga
4aeabb3c3b
Made event and temporary string memory thread-local and added SDL_FreeEventMemory()
...
Fixes https://github.com/libsdl-org/SDL/issues/10283
2024-07-16 12:01:51 -07:00
Sam Lantinga
ec3bb4c029
Removed the need for SDL_CreateTLS()
...
This eliminates the tap dancing needed for allocating TLS slots, we'll automatically allocate them as needed, in a thread-safe way.
2024-07-16 12:01:51 -07:00
Ryan C. Gordon
1592452cad
video: Fixed remaining `return 0` to use NULL in CreateDevice implementations.
2024-07-16 14:26:30 -04:00
Ryan C. Gordon
d78ef58b4b
offscreen: Don't ever use this backend unless explicitly requested.
...
Reference PR #10202 .
2024-07-16 14:19:58 -04:00
Ryan C. Gordon
bc1ceb0883
dummyvideo: Change a thing returning a 0 pointer to return NULL instead.
2024-07-16 14:17:02 -04:00
Ryan C. Gordon
045f0456b1
dummyvideo: Change a thing using int to use SDL_bool instead.
2024-07-16 14:15:38 -04:00
Sam Lantinga
027671bedb
SDL_GetWindowOpacity() directly returns the opacity instead of using an out parameter.
...
Fixes https://github.com/libsdl-org/SDL/issues/10286
2024-07-16 09:36:11 -07:00
Sam Lantinga
58270ef3f2
Finished renaming functions in SDL_system.h
2024-07-16 09:35:49 -07:00
Sam Lantinga
033df70d4c
SDL_DelayNS() will attempt to sleep exactly the requested amount of time
...
This provides a highly accurate sleep function for your application, although you are still subject to being switched out occasionally.
Fixes https://github.com/libsdl-org/SDL/issues/10210
2024-07-15 18:38:09 -07:00
Sam Lantinga
54366181c3
Rename functions in SDL_system.h to match SDL 3.0 naming convention
...
Fixes https://github.com/libsdl-org/SDL/issues/10277
2024-07-15 16:27:48 -07:00
Sam Lantinga
492e3c1a54
direct3d11: we don't need to create all the blend states up front
2024-07-15 14:12:33 -07:00
Sam Lantinga
df573391b1
Added SDL_BLENDMODE_BLEND_PREMULTIPLIED and SDL_BLENDMODE_ADD_PREMULTIPLIED
...
Fixes https://github.com/libsdl-org/SDL/issues/2485
2024-07-15 14:12:33 -07:00
Carl Åstholm
f099898a66
Correct ibus include path
...
ibus-1.0.pc adds /usr/include/ibus-1.0 to the search path but not
/usr/include, which makes the canonical include path <ibus.h>.
2024-07-15 11:24:47 -07:00
Sam Lantinga
5c875e1183
Renamed *FromID() to *ForID()
...
While it makes sense to get an object pointer from an object ID, you want to get object attributes for an ID, otherwise e.g. GetNameFromID() sounds like it's a name ID, not an object ID. This is also consistent with the function naming convention in SDL2.
2024-07-14 15:56:50 -07:00
Sam Lantinga
5836b880b4
Sorted symbols
2024-07-14 13:01:53 -07:00
Sam Lantinga
9797c5d0c0
Renamed CameraDevice to Camera
...
This is consistent with the rest of the SDL API
2024-07-14 13:01:53 -07:00
Sam Lantinga
9358333286
Renamed SDL_GetKeyboardInstanceName() and SDL_GetMouseInstanceName()
...
For consistency with other device APIs
2024-07-14 13:01:53 -07:00
Sam Lantinga
d154b37b41
Renamed *FromInstanceID() to *FromID()
2024-07-14 13:01:53 -07:00
Sam Lantinga
e90060d07f
Renamed functions to get information from device IDs
...
Fixes https://github.com/libsdl-org/SDL/issues/10237
2024-07-14 09:03:59 -07:00
Anonymous Maarten
933f2fc239
pthread: timespec.tv_nsec must be less then 1000000000 ns
2024-07-14 17:28:54 +02:00
Sam Lantinga
bfee544685
Changed SDL_GetWindowPixelFormat() to return SDL_PixelFormat
...
Fixes https://github.com/libsdl-org/SDL/issues/10257
Closes https://github.com/libsdl-org/SDL/pull/10258
2024-07-14 07:19:20 -07:00
Sam Lantinga
509f3a42d7
Fixed crash when pumping events after the window has been destroyed on Android
2024-07-13 17:57:46 -07:00
Anonymous Maarten
c80665a696
Avoid code duplication in SDL_GetPixelFormatDetails
2024-07-14 01:20:02 +02:00
pixls
4e3f35ccbf
Unlocking mutex in success case too
...
Without unlocking, we trigger an assertion failure in SDL_sysmutex.c at line 80 (i.e. 'rc == 0'). Each lock-unlock pair should ideally cancel each other out, maintaining a reference count that returns to zero.
2024-07-13 16:12:46 -07:00
Sam Lantinga
650271af46
Added SDL_CreateSurfacePalette()
2024-07-13 14:31:28 -07:00
Sam Lantinga
9379e2eb8d
Don't force vsync on for the software renderer
...
Setting vsync 0 should succeed for the software renderer.
2024-07-13 10:04:15 -07:00
Sam Lantinga
1e6119e335
VULKAN_RenderPresent() should return result code 0 on success
2024-07-13 09:27:06 -07:00
Ryan C. Gordon
3d86dce673
haiku: No more chdir to executable's directory at startup in SDL3.
...
Use SDL_GetBaseDir() to find this directory instead.
Reference Issue #8403 .
Fixes #7596 .
2024-07-13 12:24:27 -04:00
Sam Lantinga
c6b9b08e9f
Fixed Android build warnings
2024-07-13 09:00:41 -07:00
Sam Lantinga
44f06b216a
Fixed refresh interval calculation
2024-07-13 08:52:43 -07:00
captain0xff
2dcb9440f1
android: fix the vulkan renderer
2024-07-13 08:16:26 -07:00
ceski
68cf17d0d4
Add a Windows mapping for SplitFish Game Controller
2024-07-12 19:48:40 -07:00
Sam Lantinga
00ab330207
Use DXGI to get precise display mode refresh rate values
...
Fixes https://github.com/libsdl-org/SDL/issues/10185
2024-07-12 19:45:01 -07:00
Sam Lantinga
730d5cf2f8
Added fractional representation of refresh rate to SDL_DisplayMode
2024-07-12 18:09:14 -07:00
Sam Lantinga
1162a1cb8e
Added SDL_EVENT_DISPLAY_DESKTOP_MODE_CHANGED and SDL_EVENT_DISPLAY_CURRENT_MODE_CHANGED
2024-07-12 18:09:14 -07:00
Ryan C. Gordon
8779c95905
android: Added SDL_AndroidGetCachePath().
...
Fixes #8408 .
2024-07-12 15:41:54 -04:00
Frank Praznik
be15d4ae1f
wayland: Add support for SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH behavior
...
Previously, the Wayland backend did not implement support for this hint and always passed focus clicks through. Obey the hint to match the behavior of other platforms.
2024-07-12 13:58:20 -04:00
Sam Lantinga
5bf6bc4d7d
Renamed SDL_Get/SetProperty() to SDL_Get/SetPointerProperty()
...
This is consistent with the naming for the functions that affect other data types
Fixes https://github.com/libsdl-org/SDL/issues/10241
2024-07-12 10:41:02 -07:00
Sam Lantinga
bd041b4831
Make sure SDL subsystems are initialized before starting threads
2024-07-12 09:10:05 -07:00