Sam Lantinga
6a27188023
SDL_DisplayMode now represents physical pixels and has added a display scaling factor
...
Work in progress on https://github.com/libsdl-org/SDL/issues/7134
2023-01-25 09:26:59 -08:00
Sam Lantinga
4696c9556b
SDL 3.0 is going to be high DPI aware and officially separates screen… ( #7145 )
...
* SDL 3.0 is going to be high DPI aware and officially separates screen coordinates from client pixel area
The public APIs to disable high DPI support have been removed
Work in progress on https://github.com/libsdl-org/SDL/issues/7134
2023-01-25 01:23:17 -08:00
Sylvain
724d92fd65
Rename SDL_GetDisplayDPI to SDL_GetDisplayPhysicalDPI
...
to avoid confusion with logical DPI
2023-01-25 00:04:00 -08:00
Sam Lantinga
d496d187c5
Document that the pitch value may be zero for surfaces that will be filled in by the application later.
...
Also verify that the pitch isn't zero for surfaces with valid pixels
Fixes https://github.com/libsdl-org/SDL/issues/7143
2023-01-24 22:51:16 -08:00
Anonymous Maarten
3cb819ac48
vita: fix PVR_PSP2 (GLES) + gl4es4fita (GL)
2023-01-25 00:23:05 +01:00
Sam Lantinga
a06a593aa6
Renamed SDL_GetGamepadNumTouchpads and SDL_GetGamepadNumTouchpadFingers to match the new convention
2023-01-24 13:47:30 -08:00
Sylvain
052b14eb65
Add SDL_ConvertAudioSamples() helper function
2023-01-24 08:26:09 -08:00
Sam Lantinga
7b50bae524
Renamed SDL events for clarity
...
Fixes https://github.com/libsdl-org/SDL/issues/6877
2023-01-24 07:26:48 -08:00
Lokathor
74697bc351
group init flag defines into an enum ( #7137 )
2023-01-24 06:04:43 +00:00
David Carlier
b379c910d4
SDL_CPUPauseInstruction RISCV-64 version proposal.
2023-01-22 13:58:59 -08:00
Sam Lantinga
9c8642ded9
Removed SDL_INIT_NOPARACHUTE
...
Fixes https://github.com/libsdl-org/SDL/issues/7121
2023-01-22 09:14:12 -08:00
Sylvain
64bc0a1612
Remove AudioCVT interface in favor of SDL_AudioStream
2023-01-22 11:31:30 -05:00
Sam Lantinga
4becca4fc9
Clarify that SDL_GetJoystickFromInstanceID() and SDL_GetGamepadFromInstanceID() return NULL if the associated device hasn't been opened yet.
...
Fixes https://github.com/libsdl-org/SDL/issues/7100
2023-01-19 07:42:04 -08:00
Frank Praznik
423a82cd4b
wayland: Enforce or override libdecor minimum window size
...
libdecor plugins can change the min/max window size values internally to enforce a minimum window size, and errors and crashes can result if the window size is below the internal limit.
On versions of libdecor >= 0.1.1, the minimum width and height can be queried and the minimum required window size will be enforced. The application requested window size is still respected, however, the actual window may be slightly larger than the drawable area to accommodate the required libdecor minimum size.
On version 0.1.0 of libdecor, which lacks the function to retrieve the minimum size, the internal limits are overridden before committing a frame, so that the internal limits always match the window size as a workaround, even if the window is technically smaller than the plugin would normally allow.
2023-01-18 10:28:01 -08:00
Eric Wasylishen
67c91353e0
Handle DPI scaling in SDL_GetWindowSurface
...
Fixes DPI awareness of testdrawchessboard (previously, the surface was
being created in points instead of pixels, resulting in the demo app
only drawing in a corner of the screen on High-DPI displays)
*_CreateWindowFramebuffer()/*_UpdateWindowFramebuffer(): are updated
to use SDL_GetWindowSizeInPixels instead of SDL_GetWindowSize() or
window->w/window->h.
Most of the _CreateWindowFramebuffer backends are untested except
for Windows.
Fixes #7047
2023-01-15 12:57:42 -08:00
Sam Lantinga
bf53183c8b
Fixed building on Raspberry Pi
2023-01-13 14:20:57 -08:00
Sam Lantinga
cfe2050c04
Default to enable/disable SDL_syswm subsystems based on enabled video drivers while building SDL
2023-01-12 16:17:00 -08:00
Sam Lantinga
7c16fe6d69
Default to use the built-in EGL definitions
2023-01-12 16:17:00 -08:00
Ozkan Sezer
85924687fd
fix SDL_GetSensorInstanceID() return code upon failure.
...
Reference issue: https://github.com/libsdl-org/SDL/issues/7051
2023-01-11 21:56:50 +03:00
Ozkan Sezer
0621a67350
fix SDL_GetJoystickInstanceID() return code upon failure
...
Reference issue: https://github.com/libsdl-org/SDL/issues/7051
2023-01-11 21:56:50 +03:00
Sam Lantinga
0ead89747a
Fixed filename comment in SDL_intrin.h
2023-01-10 21:05:38 -08:00
Sam Lantinga
95faeab96c
SDL_GetNumJoysticks() and SDL_GetNumSensors() are no longer in the API
2023-01-10 18:07:40 -08:00
Sam Lantinga
dc280c17a0
Moved SDL_intrin.h back into the public headers for application use
2023-01-10 15:50:35 -08:00
Elad Lahav
38b35a3414
Allow the use of posix_spawn() instead of vfork/execlp()
2023-01-10 06:19:40 -08:00
Sam Lantinga
56522034db
Fixed building with Visual Studio 2010
2023-01-09 18:30:23 -08:00
Sam Lantinga
2aa9569b3e
Replaced SDL_SIMDAlloc(), SDL_SIMDRealloc(), and SDL_SIMDFree() with SDL_aligned_alloc() and SDL_aligned_free()
...
Fixes https://github.com/libsdl-org/SDL/issues/5641
2023-01-09 18:01:59 -08:00
Sam Lantinga
5ed00d34aa
Document that condition variable mutexes can't be locked recursively.
...
Fixes https://github.com/libsdl-org/SDL/issues/5497
2023-01-09 15:59:39 -08:00
Sam Lantinga
e9b86eebf3
Functions which return function pointers now return SDL_FunctionPointer instead of void*
...
This fixes the clang warning "Cast between pointer-to-function and pointer-to-object is an extension"
You can define SDL_FUNCTION_POINTER_IS_VOID_POINTER in your project to restore the previous behavior.
Fixes https://github.com/libsdl-org/SDL/issues/2866
2023-01-09 15:46:21 -08:00
Sylvain
7275b2b352
SDL_GetTicks64: entry added in SDL_ENABLE_OLD_NAMES
2023-01-09 21:59:50 +01:00
Sam Lantinga
5feebcdce0
SDL_AddHintCallback() now returns a standard int result instead of void
...
Fixes https://github.com/libsdl-org/SDL/issues/7035
2023-01-09 12:09:30 -08:00
Sam Lantinga
fde78d12f2
Updated copyright for 2023
2023-01-09 09:41:41 -08:00
Sam Lantinga
dbd4b88abc
Generally removed generally
2023-01-09 09:04:05 -08:00
Sam Lantinga
40833d2526
Documented thread starvation issue raised in https://github.com/libsdl-org/SDL/pull/7023
2023-01-09 09:01:41 -08:00
Sam Lantinga
59308cb3e9
SDL_platform_defines.h is already included in SDL_platform.h
2023-01-09 08:40:11 -08:00
Sylvain
4798c36197
Add oldname entry: GetTicks64() is renamed GetTicks()
2023-01-09 13:43:39 +01:00
Anonymous Maarten
f91a747549
include: SDL_dynapi.h depends on platform defines
2023-01-08 21:37:54 +01:00
Anonymous Maarten
f53d797cca
cmake: generate git hash using GetRevisionDescription CMake module
...
This allows the build system (ninja/make/VS) to detect whether the current
checkout git commit has changed. If so, SDL_revision.h will be updated.
2023-01-08 18:20:56 +01:00
Hunter Kvalevog
a2b2464b46
SDL_Vulkan_GetInstanceExtensions: Require Vulkan
...
Document that this function will fail if the user doesn't call
SDL_Vulkan_LoadLibrary (either explicitly or via SDL_CreateWindow)
beforehand.
2023-01-08 07:55:34 -08:00
Hunter Kvalevog
0953367967
SDL_Vulkan_GetInstanceExtensions: Remove window
...
Remove the unused `window` parameter from
SDL_Vulkan_GetInstanceExtensions, which is never used by any of the
backends.
2023-01-08 07:55:34 -08:00
Sam Lantinga
7f0801377b
Separate wmain() and main() implementations
...
Fixes https://github.com/libsdl-org/SDL/issues/7010
2023-01-07 08:28:07 -08:00
Sam Lantinga
5a2a91cb05
Fixed compile warnings with unused parameters
2023-01-06 16:24:20 -08:00
Sam Lantinga
5dd07a5773
The alloc_size attribute isn't supported in clang 3.x
2023-01-06 12:10:21 -08:00
Sam Lantinga
6b5855e990
Removed SDL_REVISION_NUMBER
2023-01-06 09:53:18 -08:00
Sylvain
93e2903ac5
Add SDL_PlayAudioDevice() to play audio. Remove pause_on param from SDL_PauseAudioDevice()
2023-01-06 09:15:39 -08:00
Sam Lantinga
26be384801
SDL_syswm.h provides the platform specific types by default again
...
You can enable and disable subsystems with SDL_ENABLE_SYSWM_*/SDL_DISABLE_SYSWM_* and you can disable the type forward declarations with SDL_DISABLE_SYSWM_*_TYPES
2023-01-05 23:50:37 -08:00
Sylvain
2d7f8d7d51
Remove legacy SDL_Audio functions that acts on device id == 1
2023-01-05 09:40:06 -05:00
Sam Lantinga
51a80d03ce
Be really explicit about needing to check for negative error codes with SDL_RWread()
2023-01-04 22:29:45 -08:00
Sam Lantinga
0bbf6cc379
Test text rendering APIs take floating point coordinates
2023-01-04 16:45:02 -08:00
Sam Lantinga
0901657278
Document renamed API functions in SDL_keyboard.h
2023-01-04 15:41:35 -08:00
Sam Lantinga
1dc119c316
Removed functions from SDL_oldnames.h that are no longer in the API
2023-01-04 14:53:29 -08:00
Sam Lantinga
4f978456a8
Renamed SDL_GAMEPADDEVICEREMAPPED to SDL_GAMEPADREMAPPED
2023-01-04 14:32:37 -08:00
Sam Lantinga
28b22e3f9b
Removed functions from SDL_oldnames.h that are no longer in the API
2023-01-04 14:03:33 -08:00
Sam Lantinga
c823f26f18
Revert "Removed public joystick locking API"
...
This reverts commit a515f51ac0
.
We still need joystick locking to protect the gamepad mappings
2023-01-04 13:51:40 -08:00
Sylvain
6863f0b2d8
Add SDL_WindowID type for SDL_Window id
2023-01-04 09:21:52 -08:00
Sam Lantinga
95e5417d2e
Fixed documentation warnings
2023-01-03 15:39:11 -08:00
Sam Lantinga
9c1a9ecb4b
Removed non-float versions of SDL render API drawing functions
...
This simplifies the API and removes a level of API translation between the int variants of the functions and the float implementation
Fixes https://github.com/libsdl-org/SDL/issues/6656
2023-01-03 08:16:58 -08:00
Sam Lantinga
e3c1749f5b
The refresh rate in SDL_DisplayMode is now a float
2023-01-03 06:35:25 -08:00
Sylvain Becker
851b0e16be
Add SDL_GetRenderVSync (see #6495 ) ( #6965 )
2023-01-02 11:21:02 -08:00
Sam Lantinga
d764de77d4
Include SDL_audio.h for SDL_AudioDeviceID definition
...
Fixes https://github.com/libsdl-org/SDL/issues/6971
2023-01-02 09:08:44 -08:00
Sylvain Becker
8a13533949
Handle error return value for SDL_GetSwapInterval
2023-01-01 08:20:41 -08:00
Sam Lantinga
a515f51ac0
Removed public joystick locking API
...
All joystick functions are thread-safe and you can now get an atomic list of joysticks with SDL_GetJoysticks()
Fixes https://github.com/libsdl-org/SDL/issues/6956
2022-12-31 09:24:14 -08:00
Sam Lantinga
324c0b76a0
Removed SDL_HasGamepads(), SDL_HasJoysticks(), and SDL_HasSensors()
...
Also cleaned up logic for whether we need to poll for events:
- We need to periodically poll for joysticks to handle hotplug.
- We need to frequently poll for joysticks and sensors when they're open so their state can be updated
2022-12-29 23:20:26 -08:00
Sam Lantinga
7f23d71b6a
Added SDL_modf() and SDL_modff()
...
This function is useful for accumulating relative mouse motion if you want to only handle whole pixel movement.
e.g.
static float dx_frac, dy_frac;
float dx, dy;
/* Accumulate new motion with previous sub-pixel motion */
dx = event.motion.xrel + dx_frac;
dy = event.motion.yrel + dy_frac;
/* Split the integral and fractional motion, dx and dy will contain whole pixel deltas */
dx_frac = SDL_modff(dx, &dx);
dy_frac = SDL_modff(dy, &dy);
if (dx != 0.0f || dy != 0.0f) {
...
}
2022-12-29 23:12:19 -08:00
Sam Lantinga
cefbeb582f
Mouse coordinates are floating point
...
You can get sub-pixel mouse coordinates and motion depending on the platform and display scaling.
Fixes https://github.com/libsdl-org/SDL/issues/2999
2022-12-29 23:12:19 -08:00
Sam Lantinga
8c3239dee5
Fixed documentation warning
2022-12-29 22:10:35 -08:00
Daniel Gibson
ac8a041541
SDL_main for Win32: Get rid of console_*main, add wWinMain()
...
I don't think there's any point in console_*main() for non-MSVC - I think
it can't be called anyway now that SDL_main is header-only.
So I renamed those functions to main() and wmain() and made them MSVC-only
For reference, MinGW (at least the version I tested) supports both main()
and WinMain(), no matter if compiled with -mconsole or -mwindows (it seems
to prefer main() over WinMain() if both are available, in both cases).
But when building with -municode, it needs wmain() or wWinMain(), so
that case is now handled with wWinMain()
2022-12-29 21:50:58 -08:00
Sam Lantinga
98678b5d8d
SDL API renaming: SDL_Alloc*/SDL_Free* -> SDL_Create*/SDL_Destroy*
...
Fixes https://github.com/libsdl-org/SDL/issues/6945
2022-12-29 15:07:15 -08:00
Sam Lantinga
1b90107fdb
Spell out "Float" in function names
2022-12-29 14:50:31 -08:00
Sylvain Becker
d7d3c22dbf
Remove more reserved identifiers ( #6925 )
2022-12-29 13:58:16 -08:00
Ryan C. Gordon
138f632b59
include: Add a comment about reserving a bit for sdl2-compat.
2022-12-29 13:34:53 -05:00
Sylvain
88630b85f5
SDL_GL_SwapWindow() returns an error code
2022-12-29 08:40:51 -08:00
Sam Lantinga
80890f3aae
SDL API renaming: SDL_render.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6883
2022-12-28 19:40:25 -08:00
Sam Lantinga
ea0c2f55be
SDL API renaming: *Is* functions
...
Feedback from @icculus:
"IsTablet" uses "is" as a form of "to be" ...like, the actual question is of its nature.
The rest is just a superfluous word in the question and it flows as better English with if (RectEmpty) than if (IsRectEmpty)
Fixes https://github.com/libsdl-org/SDL/issues/6932
2022-12-28 19:40:25 -08:00
Sam Lantinga
66351fd4ba
Replace tri-state functions SDL_EventState(), SDL_GetJoystickEventState(), SDL_GetGamepadEventState(), SDL_ShowCursor()
...
`SDL_QUERY`, `SDL_IGNORE`, `SDL_ENABLE`, and `SDL_DISABLE` have been removed.
SDL_EventState() has been replaced with SDL_SetEventEnabled()
SDL_GetEventState() has been replaced with SDL_EventEnabled()
SDL_GameControllerEventState has been replaced with SDL_SetGamepadEventsEnabled() and SDL_GamepadEventsEnabled()
SDL_JoystickEventState has been replaced with SDL_SetJoystickEventsEnabled() and SDL_JoystickEventsEnabled()
SDL_ShowCursor() has been split into three functions: SDL_ShowCursor(), SDL_HideCursor(), and SDL_CursorVisible()
Fixes https://github.com/libsdl-org/SDL/issues/6929
2022-12-28 17:49:34 -08:00
Sam Lantinga
16092f58bb
Updated gamepad, joystick, sensor APIs, removing device indices
...
Instead of indexing into an internal list of devices which requires locking, we return a list of device IDs which can then be queried individually.
Reference: https://github.com/libsdl-org/SDL/issues/6889
2022-12-28 13:10:27 -08:00
Sylvain
aa46ff8f4b
Remove SDL_WINDOW_SHOW flag, as redundant with SDL_WINDOW_HIDDEN
2022-12-28 12:16:57 -08:00
Zack Middleton
59a70d568d
Rename SDL_main_impl.h include guard to match the filename
2022-12-28 05:57:10 -08:00
Sylvain
25336d053a
Remove underscore for _SDL_iconv_t
...
And change the name, not to have the same for pointer and data
2022-12-27 12:41:09 -08:00
Sylvain Becker
07808d6a03
Remove underscore in guard header defines ( #6922 )
2022-12-27 12:31:12 -08:00
Sam Lantinga
cdbd1be8c6
Allow SDL_oldnames.h to be completely disabled
2022-12-27 12:30:37 -08:00
Sylvain
04f2820e07
Remove underscore for some SDL_ builtin function/macros
2022-12-27 11:34:58 -08:00
Sylvain
81cd84f456
Remove reserved underscore SDL_joystick
2022-12-27 11:34:13 -08:00
Sam Lantinga
ab2d007982
More gamepad renaming
2022-12-27 11:31:54 -08:00
Sam Lantinga
58aecf0a54
SDL API renaming: SDL_rect.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6887
2022-12-27 11:01:11 -08:00
Sam Lantinga
701e965235
Removed leading underscore in structure names
...
Fixes https://github.com/libsdl-org/SDL/issues/6856
Closes https://github.com/libsdl-org/SDL/pull/6914
Closes https://github.com/libsdl-org/SDL/pull/6915
Closes https://github.com/libsdl-org/SDL/pull/6916
Closes https://github.com/libsdl-org/SDL/pull/6917
Closes https://github.com/libsdl-org/SDL/pull/6918
Closes https://github.com/libsdl-org/SDL/pull/6919
2022-12-27 10:35:53 -08:00
Sam Lantinga
659abc721a
SDL API renaming: SDL_gamecontroller.h
...
SDL_gamecontroller.h has been renamed SDL_gamepad.h, and all APIs have been renamed to match.
Fixes https://github.com/libsdl-org/SDL/issues/6885
2022-12-27 09:47:24 -08:00
Sam Lantinga
c6969df4d7
SDL API renaming: SDL_video.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6880
2022-12-27 06:38:34 -08:00
Sam Lantinga
cc0296c934
SDL API renaming: SDL_surface.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6884
2022-12-27 06:36:39 -08:00
Sam Lantinga
2db699f48e
SDL API renaming: SDL_sensor.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6888
2022-12-27 06:23:39 -08:00
Sam Lantinga
0d54115235
SDL API renaming: SDL_render.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6883
2022-12-27 06:21:13 -08:00
Sam Lantinga
083e436a1a
SDL API renaming: SDL_pixels.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6886
2022-12-27 06:08:31 -08:00
Sam Lantinga
fc478c1bc0
SDL API renaming: SDL_joystick.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6881
2022-12-27 05:50:46 -08:00
Sylvain Becker
aa0053141b
Remove SDL_VideoInit / Quit. Prefer SDL_SubSytemInit / Quit ( #6913 )
2022-12-27 05:42:48 -08:00
Sam Lantinga
713ba2e31a
SDL API renaming: SDL_audio.h
...
Fixes https://github.com/libsdl-org/SDL/issues/6879
2022-12-27 05:32:55 -08:00
Sam Lantinga
9625fb2832
Documentation cleanup
2022-12-27 05:28:18 -08:00
Sylvain Becker
47170d288e
Don't export SDL_AudioInit/Quit, use SDL_InitSubsystem instead ( #6912 )
...
* Don't export SDL_AudioInit/Quit, use SDL_InitSubsystem instead
* Update README
Co-authored-by: Sam Lantinga <slouken@libsdl.org>
2022-12-27 05:22:22 -08:00
Sylvain
3fb0c8b54a
Remove/Rename SDL_FreeWAV() to SDL_free()
2022-12-27 05:14:52 -08:00
Ozkan Sezer
29ba5f5d64
SDL_thread.h: fix beginthread param of SDL_CreateThreadWithStackSize for win32
2022-12-27 00:10:00 +03:00
Vincent Hamm
5410d361f7
Fix SDL_CreateThreadWithStackSize not passing staacksize with win32 static api
...
(cherry picked from commit 68073c627684ba35c113d0e128af15b5191b42d6)
2022-12-26 11:24:17 -08:00
Sam Lantinga
63724c113b
Removed the vi format comments from the source
...
Vim users can use the [editorconfig plugin](https://github.com/editorconfig/editorconfig-vim ) to automatically set tab spacing for the SDL coding style.
Fixes https://github.com/libsdl-org/SDL/issues/6903
2022-12-26 11:17:23 -08:00