Sam Lantinga
fff783de6c
Fixed life cycle events on iOS when using main callbacks
2024-07-24 05:11:13 -07:00
Sam Lantinga
45fc548562
Don't queue application events that need to be handled immediately
...
This makes it more clear that these events can't be handled in the normal event loop. It also makes pause and resume transparent to applications that don't handle them, which is a nice side effect.
2024-07-24 05:11:13 -07:00
Sam Lantinga
fa0918a686
Renamed SDL life cycle functions
...
This maps better to how SDL delivers the events, and the iOS delegate methods are in the documentation for reference.
2024-07-24 05:11:13 -07:00
Ryan C. Gordon
06c0ed68b1
mac: Rename Objective-C classes that conflict with SDL2.
...
Fixes #6709 .
2024-07-24 01:35:04 -04:00
Sam Lantinga
f0363a0466
Functions that return display modes return temporary memory.
...
Also use the real pointer to display modes for internal mode processing
Fixes https://github.com/libsdl-org/SDL/issues/10353
2024-07-23 19:26:19 -07:00
Sam Lantinga
457ca3995c
Added SDL_GetWindowSafeArea()
...
Fixes https://github.com/libsdl-org/SDL/issues/3243
2024-07-23 17:06:04 -07:00
Sam Lantinga
66011e497d
Removed duplication in SDL_EGL_* function names
2024-07-23 13:11:37 -07:00
Sam Lantinga
b499c54af4
Fixed testvulkan on macOS (thanks @proton991!)
...
Fixes https://github.com/libsdl-org/SDL/issues/10351
2024-07-23 08:17:22 -07:00
Sam Lantinga
29f0fd33dc
SDL_getenv() should return const
...
This also allows us to use SDL_FreeLater() and make SDL_getenv() thread-safe on Windows.
2024-07-22 13:00:39 -07:00
Sam Lantinga
ef21e31a9a
SDL_GUIDFromString() renamed SDL_StringToGUID()
2024-07-22 12:39:15 -07:00
Sam Lantinga
c4bf5f9f59
SDL_CreateTexture() uses the SDL_TextureAccess type for the access parameter
2024-07-22 09:32:02 -07:00
Frank Praznik
b0713a7d30
x11: Track cursor visibility internally
...
Cursor visibility in the SDL input layer only reflects whether ShowCursor/HideCursor was called. In the case of relative mode, the cursor can be hidden, but the SDL_Mouse visibility flag will be true.
Track cursor visibility separately in the X11 driver. Fixes the cursor becoming visible when using the warping relative mode with XWayland.
2024-07-22 12:03:07 -04:00
Sam Lantinga
ff1d351390
Removed SDL_FreeTemporaryMemory()
...
This was just causing confusion and anxiety. SDL temporary memory will be automatically freed on the main thread when processing events and on other threads when it ages out after a second. The application can free it directly by calling SDL_ClaimTemporaryMemory() to get ownership of the pointer, if necessary.
2024-07-22 07:34:25 -07:00
Sam Lantinga
033c9c5951
Added SDL_CopyFile() and SDL_CopyStorageFile()
...
Fixes https://github.com/libsdl-org/SDL/issues/9553
2024-07-21 19:58:23 -07:00
Sam Lantinga
128df75e05
Fixed potential NULL dereference
2024-07-21 14:32:19 -07:00
Sam Lantinga
bd27b89903
Prevent potential overflow in rectangle functions
...
We're limiting the functions to rects with positions and sizes < 1 billion for speed, which is totally fine for most SDL use cases. If you need rectangles larger than that, you can roll your own functions that use 64-bit intermediate values and do proper overflow handling of output values.
Fixes https://github.com/libsdl-org/SDL/issues/8879
2024-07-21 13:04:11 -07:00
Sam Lantinga
bab982f2e0
Don't recalculate the blit mapping when changing surfaces
...
We don't actually need to change the blit mapping if we're targeting a new surface with the same format and palette.
2024-07-21 11:39:38 -07:00
Dragon-Baroque
68cabc2837
Support SDL_EVENT_DROP_TEXT in Cocoa
...
src/video/cocoa/SDL_cocoawindow.m
Support Copy in addition to Generic as Drag and Drop operation,
Register and Support public.utf8-plain-text for SDL_EVENT_DROP_TEXT.
2024-07-21 11:17:04 -07:00
Sam Lantinga
c040a02d6c
Removed SDL_PROP_SURFACE_COLORSPACE_NUMBER
...
Now that we have surface internal data, we can store it there. This slightly improves performance in the surface blitting paths.
2024-07-21 09:36:22 -07:00
Sam Lantinga
e0fd59de64
Fixed floating point rectangles to be mathematically correct.
...
* A floating point rectangle contains all points >= x and <= x + w
* A floating point rectangle is only empty if it has negative width. The zero rectangle contains the zero point.
* Adjacent floating point rectangles intersect along their shared side
Fixes https://github.com/libsdl-org/SDL/issues/6791
2024-07-21 08:08:15 -07:00
Sam Lantinga
f244f08165
Fixed building with SDL_VIDEO_OPENGL_WGL disabled (thanks @Please-just-dont!)
...
Fixes https://github.com/libsdl-org/SDL/issues/10330
2024-07-20 21:24:02 -07:00
Sam Lantinga
78991bdb13
Revert "SDL_BlitSurfaceUnchecked() should invalidate the map when switching from scaled to unscaled blits"
...
This reverts commit 1f3b2fc8b3 .
SDL_BlitSurface() also handles scaling, so we shouldn't clear the scaling flag inside of it.
2024-07-20 21:17:15 -07:00
Sam Lantinga
bce6d5b421
Actually, we still need size overflow checking in SDL_BlitSurfaceUncheckedScaled()
2024-07-20 18:53:31 -07:00
Sam Lantinga
9bdb3e8b6a
Moved some error checking out of SDL_BlitSurfaceUncheckedScaled()
2024-07-20 18:51:42 -07:00
Sam Lantinga
1f3b2fc8b3
SDL_BlitSurfaceUnchecked() should invalidate the map when switching from scaled to unscaled blits
2024-07-20 18:44:23 -07:00
Sam Lantinga
6209c71f54
Added SDL_BlitSurface9Grid() and SDL_RenderTexture9Grid()
2024-07-20 18:21:19 -07:00
Sam Lantinga
9294476788
Added SDL_WriteSurfacePixel() and SDL_WriteSurfacePixelFloat()
2024-07-20 18:21:19 -07:00
Sam Lantinga
12e50d17a2
Removed SDL_SoftStretch() from the public API
...
SDL_BlitSurfaceScaled() is more flexible and uses the SDL_SoftStretch() fast path when possible. Having two surface scaling APIs was confusing, especially when one of them has unexpected limitations.
2024-07-20 18:21:19 -07:00
Sam Lantinga
67fa7a9138
SDL_BlitSurface() and SDL_BlitSurfaceScaled() now have a const dstrect parameter
...
This was originally to avoid duplicating clipping work in Maelstrom on a 486 computer. This has been confusing for users and computers are a little faster these days, so we'll make it work the way people expect.
2024-07-20 18:21:19 -07:00
Sam Lantinga
198caa54a1
Added SDL_RenderTextureTiled()
2024-07-20 18:21:19 -07:00
Sam Lantinga
9e55ee9391
Added SDL_BlitSurfaceTiledWithScale()
2024-07-20 18:21:19 -07:00
Sam Lantinga
f47ddbf1ac
Added SDL_BlitSurfaceTiled()
...
Fixes https://gamedev.stackexchange.com/questions/136792/is-there-a-way-to-set-texture-wrap-mode-as-repeat-in-sdl-2
2024-07-20 18:21:19 -07:00
Sam Lantinga
71d2662a39
Fixed warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
2024-07-20 11:50:27 -07:00
Sam Lantinga
03bb2c17ed
Enable texture wrapping for SDL_RenderGeometry()
...
Currently wrapping is based on whether texture coordinates are outside of [0,1], but the code is structured so it's easy to add an API to set it and add additional wrapping modes if we want.
Fixes https://github.com/libsdl-org/SDL/issues/9238
Closes https://github.com/libsdl-org/SDL/pull/5369
2024-07-20 09:51:05 -07:00
Frank Praznik
6a74ade73d
Make SDL_URIToLocal available to multiple platforms
...
Moves the functions out of core/unix into SDL_utils.c
2024-07-20 12:39:18 -04:00
Ryan C. Gordon
e1aa995732
audio: recording devices also need to update their streams' channel maps.
2024-07-19 20:37:05 -04:00
Ryan C. Gordon
068c785491
audio: Assigning a device channel map to an audio stream was quietly failing.
...
Fixes #10317 .
2024-07-19 20:37:05 -04:00
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