|
454943cf
|
2021-04-11T16:44:48
|
|
emscripten: Don't flag window fullscreen on external requests
Also, the condition was always true.
|
|
55af8dca
|
2019-02-27T14:16:37
|
|
emscripten: use emscripten_set_window_title api
|
|
abc04270
|
2020-04-15T15:22:39
|
|
emscripten: Fix framebuffer array creation optimisation
|
|
b4f11a36
|
2020-04-15T14:48:52
|
|
emscripten: Drop commented out code from the dummy driver
|
|
d8baad7e
|
2019-02-27T14:15:40
|
|
emscripten: use emscripten_get_screen_size api
|
|
0a870756
|
2021-07-08T12:47:57
|
|
Update SDL_config_emscripten.h for upstream
|
|
d4488962
|
2021-05-19T08:24:33
|
|
Add SDL_config_emscripten.h
Currently we maintain a config file in the emscripten
repo, but this seems like what other embedded/cross
platforms do.
|
|
fbc36490
|
2021-08-14T22:29:05
|
|
Use the new SDL_clamp() macro where sensible
There were a few places throughout the SDL code where values were
clamped using SDL_min() and SDL_max(). Now that we have an SDL_clamp()
macro, use this instead.
|
|
35c1bbfa
|
2021-08-13T21:43:00
|
|
SDL_stdinc.h: Add an SDL_clamp() function
Add a function to clamp a value to a range.
SDL_clamp(x, a, b) is equivalent to SDL_min(a, SDL_max(x, b)): it
ensures that x is not smaller than a, nor larger than b.
While, as best I can tell, this isn't actually standardised anywhere,
it's a very useful function/macro to have.
|
|
07a2d71e
|
2021-03-30T11:56:38
|
|
emscripten: Feed silence to device when paused
|
|
dcc5eef0
|
2021-08-14T00:31:46
|
|
Clarify that one of the PIDs of the Xbox Elite Series 2 controller is used in Bluetooth mode
|
|
91a55a02
|
2021-08-13T23:59:39
|
|
Relative mouse motion is delivered to the window with keyboard focus
This was the original intent (note SDL_UpdateWindowGrab() in SDL_OnWindowFocusGained() and SDL_OnWindowFocusLost()) and fixes a bug where relative motion unexpectedly stops if the task bar is covering the bottom of the game window and the mouse happens to move over it while relative mode is enabled.
Another alternative would be to confine the mouse when relative mode is enabled, but that generates mouse motion which would need to be ignored, and it's possible for the user moving the mouse to combine with the mouse moving into the confined area so you can't easily tell whether to ignore the mouse motion. See https://github.com/libsdl-org/SDL/issues/4165 for a case where this is problematic.
|
|
69477151
|
2021-08-13T23:45:01
|
|
Get the window size for the window receiving the mouse motion
This is the mouse focus except in the case where relative motion is enabled and the mouse is over a window floating on top of the application window (e.g. the taskbar)
|
|
6a1e1ed9
|
2021-08-13T23:36:13
|
|
Relative mouse mode grab is based on the window with the input focus
This fixes restoring the cursor clip rectangle after the mouse has moved off of the window.
Also try to better synchronize cursor visibility with mouse position changes when changing relative mode. This doesn't work perfectly, but it seems to improve things on Windows.
|
|
e42e9a12
|
2021-08-13T20:48:56
|
|
Fixed build
|
|
441fbcaa
|
2021-08-13T20:48:54
|
|
Added HIDAPI support for the Xbox Adaptive Controller
|
|
b5e5c1ef
|
2021-08-13T17:53:39
|
|
Added Ctrl-T to toggle topmost mode in test programs
|
|
4d9efcb5
|
2021-08-13T11:52:25
|
|
Fixed flag test for boolean correctness
|
|
b28ed028
|
2021-08-13T11:39:41
|
|
Don't warp the mouse for relative mode when the window doesn't have focus
|
|
629e9f82
|
2021-08-13T11:06:43
|
|
Fixed return value of SDL_GetGrabbedWindow() when we have an internal grab because of mouse relative mode
|
|
6aa1498b
|
2021-08-13T11:03:19
|
|
This assert wasn't correct, we set the internal grab for mouse relative mode as well.
|
|
105f1206
|
2021-08-13T21:25:35
|
|
checkkeys: Create a renderer for window display on Wayland
On Wayland -- or at least on some Wayland implementations -- windows
aren't shown until something has been rendered into them. For the
'checkkeys' test program, this means that keyboard input isn't
registered, making the program rather useless.
By creating a renderer and presenting once, the window is properly
displayed, and the test behaves as it does under X11 (including
XWayland).
The exact same thing was done with testmessge in 1cd97e2695 (PR #4252)
|
|
907943a2
|
2021-08-12T17:51:08
|
|
Added support for the Xbox One S Controller with 5.x series firmware
|
|
1e921352
|
2021-08-13T07:58:48
|
|
Improve portability of SDL_Convert51ToStereo_AVX
Don't rely on checking __clang_major__ since it is not comparable
between different vendors. Don't use "#pragma clang attribute" since it
is only available in relatively recent versions, there's no obvious way
to check if it's supported, and just using __attribute__ directly (for
gcc as well) results in simpler code anyway.
|
|
9bf65575
|
2021-08-13T06:36:49
|
|
Correctly check for bswap builtins before using
The __clang_major__ and __clang_minor__ macros provide a marketing
version, which is not necessarily comparable for clang distributions
from different vendors[1]. In practice, the versioning scheme for
Apple's clang is indeed completely different to that of the llvm.org
releases. It is thus preferable to check for features directly rather
than comparing versions.
In this specific case, __builtin_bswap16 was being used with older
Apple clang versions that don't support it.
[1] https://clang.llvm.org/docs/LanguageExtensions.html#builtin-macros
|
|
7aec0b90
|
2021-08-13T01:56:56
|
|
SDL_hidapi_xboxone.c: fix bogus 'uninitialized' warning from clang.
The last 'size == 50' check is always true anyway.
|
|
cec5a129
|
2021-08-12T15:49:33
|
|
Fixed libudev hotplug notifications in the HIDAPI driver
|
|
6eb4ebb5
|
2021-08-12T15:49:33
|
|
Simplified the HIDAPI Xbox One controller initialization
|
|
25cd749a
|
2021-08-12T15:12:04
|
|
x11: Don't change mode if we are already in the correct mode
If we are already in the desired mode, changing it is a no-op at best,
and harmful at worst: on Xwayland, it sometimes happens that we disable
the crtc and cannot re-enable it.
Resolves: https://github.com/libsdl-org/SDL/issues/4630
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
584b89ab
|
2021-08-12T08:17:10
|
|
Added support for the color LED on the Xbox Elite Series 2 controller
|
|
64882b24
|
2021-08-12T08:17:08
|
|
Added support for the Xbox One Elite 2 Controller with 5.x series firmware
|
|
ed6eb07e
|
2021-08-12T01:40:50
|
|
SDL_wasapi.c: fixed build against older SDKs.
|
|
68ca35c3
|
2021-08-11T21:40:46
|
|
wayland: fix memleak in output listener
|
|
e9179314
|
2021-08-11T21:27:42
|
|
joystick/linux: fix memleaks; streamline joylist item removal
|
|
44a76710
|
2021-08-11T12:55:50
|
|
Don't disable clang avx instrinsics on win32 if __AVX__ is defined.
C.f.: https://github.com/libsdl-org/SDL/issues/4533
|
|
ae7ee2a5
|
2021-08-11T09:59:43
|
|
wayland: Ignore stateless/sizeless configs when starting in fullscreen mode
|
|
ac32c522
|
2021-08-10T18:11:09
|
|
Try using the built-in WASAPI audio rate conversion
Fixes https://github.com/libsdl-org/SDL/issues/4608
|
|
cb1e20b0
|
2021-08-10T17:50:17
|
|
Added KMOD_SCROLL to track the scroll lock state
Fixes https://github.com/libsdl-org/SDL/issues/4566
|
|
609cea1e
|
2021-08-10T17:14:06
|
|
Enable SSE3 intrinsics when building with Visual Studio
Fixes https://github.com/libsdl-org/SDL/issues/4530
|
|
d5ad6f6e
|
2021-08-10T16:51:03
|
|
Clarified that you should never have side-effects in the parameters to SDL_min/SDL_max
|
|
bb91d7a5
|
2021-08-11T01:56:40
|
|
regenerated configure script
|
|
056a42f1
|
2021-08-10T22:20:06
|
|
Sync wiki -> header
|
|
f5794f9e
|
2021-08-10T15:17:59
|
|
Added SDL_SetTextureUserData() and SDL_GetTextureUserData() to associate a user-specified pointer with an SDL texture
|
|
a0af7ce7
|
2021-08-10T15:05:49
|
|
OSS is no longer the preferred audio backend on modern UNIX systems
Fixes https://github.com/libsdl-org/SDL/issues/4207
|
|
3f6ebfff
|
2021-08-10T15:02:36
|
|
Updated to version 2.0.17 for development
|
|
68103993
|
2021-08-10T14:50:43
|
|
Enable AAUDIO driver for Android
I thought this was already enabled for 2.0.16, but apparently not.
Fixes https://github.com/libsdl-org/SDL/issues/3710
|
|
016b02f2
|
2021-08-10T12:16:55
|
|
Fixed build, C89 doesn't allow non-constant static initializers
|
|
77c8d111
|
2021-08-10T20:55:50
|
|
configuration updates for dlopen:
- cmake, configure (CheckDLOPEN): --enable-sdl-dlopen is now history..
detach the dl api discovery from SDL_LOADSO_DLOPEN functionality.
define HAVE_DLOPEN. also define DYNAPI_NEEDS_DLOPEN (CheckDLOPEN is
called only for relevant platforms.)
- update SDL_config.in and SDL_config.cmake accordingly.
- SDL_dynapi.h: set SDL_DYNAMIC_API to 0 if DYNAPI_NEEDS_DLOPEN is
defined, but HAVE_DLOPEN is not.
- pthread/SDL_systhread.c: conditionalize dl api use to HAVE_DLOPEN
- SDL_x11opengl.c, SDL_DirectFB_opengl.c, SDL_naclopengles.c: rely
on HAVE_DLOPEN, not SDL_LOADSO_DLOPEN.
- SDL_config_android.h, SDL_config_iphoneos.h, SDL_config_macosx.h,
SDL_config_pandora.h, and SDL_config_wiz.h: define HAVE_DLOPEN.
Closes: https://github.com/libsdl-org/SDL/pull/4351
|
|
cb0fd05e
|
2021-08-07T22:41:54
|
|
Adding a clarifying comment in case a programmer unfamiliar with UTF-16 and UTF-32's relationship chances upon the code.
|
|
34701129
|
2021-08-07T20:51:49
|
|
Optimizing the implementation.
|
|
712e0d1f
|
2021-08-07T16:23:15
|
|
Fixing WM_CHAR event handling for Unicode characters outside the Basic Multilingual Plane.
|
|
fcfd19db
|
2021-08-10T12:02:17
|
|
Added support for SDL_RENDERER_PRESENTVSYNC to the software renderer
This fixes https://github.com/libsdl-org/SDL/issues/4612
|
|
ea9bece5
|
2021-08-10T18:51:33
|
|
Fix breaking GNUInstallDirs cmake module $CMAKE_INSTALL_LIBDIR directory. Fix #4621
According to https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html
`${CMAKE_INSTALL_LIBDIR} ` is only variable which should be used as base
directory. Without that patch on 64 bit archs libraries, cmake modules and
pkgconfig file are installed for example in /usr/lib6464 base directory.
This patch fixes #4621.
Signed-off-by: Tomasz Kłoczko <koczek@github.com>
|
|
25f9ed87
|
2021-08-10T13:10:36
|
|
audio: Fix false positives in driver name comparison
Without this change, driver names don't get matched correctly;
for example "a" can get matched with "alsa" since it only checks
whether the string matches up to the length of the requested
driver name.
|
|
b3a989d0
|
2021-08-10T13:08:27
|
|
video: Fix false positives in driver name comparison
Without this change, driver names don't get matched correctly;
for example "x" can get matched with "x11" since it only checks
whether the string matches up to the length of the requested
driver name.
|
|
de6ba40d
|
2021-08-09T11:38:22
|
|
Added support for the Flydigi Vader 2 controller in 2.4G Android mode
|
|
3f440daa
|
2021-08-09T10:40:36
|
|
Added support for the Flydigi Vader 2 controller in Bluetooth mode
|
|
6ae227d0
|
2021-08-08T23:27:08
|
|
x11/wayland: fix screensaver suspension via D-Bus
b08b1bde introduced a subtle bug. Despite not using D-Bus types directly,
the code used the SDL_USE_LIBDBUS definition set by SDL_dbus.h to conditionally
compile calls SDL_DBus_ScreensaverTickle() and SDL_DBus_ScreensaverInhibit().
As a result, it still compiled without SDL_dbus.h included, but screensaver
suspension silently failed to work.
The D-Bus stuff could probably use some tweaks to be harder to accidentally
break, but for now just restore the header includes.
|
|
773e1ba1
|
2021-08-08T11:00:07
|
|
testvulkan: Clamp the drawable size to the allowed range
SDL_Vulkan_GetDrawableSize() doesn't always return a size which is
within the Vulkan swapchain's allowed image extent range.
(This happens on X11 a lot when resizing, which is bug #3287)
Clamp the value we get back from SDL_Vulkan_GetDrawableSize() to this
range. Given the range usually is just a single value, this is almost
always equivalent to just using the min or max image extent, but this
seems logically most correct.
|
|
2e6dac87
|
2021-08-09T01:47:42
|
|
wayland: Add a hint to allow disabling libdecor use
Useful for testing xdg-shell path with compositors like Weston.
|
|
092a20d9
|
2021-08-08T16:47:34
|
|
wayland: Avoid busy waiting for vsync
|
|
791d9d3f
|
2021-08-07T12:41:15
|
|
Fixed DInput mapping for NVIDIA Virtual Gamepad
|
|
7be970db
|
2021-08-06T19:51:27
|
|
wayland: Avoid setting floating width/height when re-entering fullscreen
|
|
bec78357
|
2021-08-06T14:20:55
|
|
Better fix for compiling using clang on Windows
This fixes https://github.com/libsdl-org/SDL/issues/4533
|
|
a91ab883
|
2021-08-06T12:28:03
|
|
Fixed building on Windows with cmake, ninja, and clang
|
|
dd683073
|
2021-08-06T15:13:14
|
|
hidapi: Patched to compile on QNX.
Fixes #4591.
|
|
cae7bd9b
|
2021-08-06T12:01:24
|
|
Don't use AVX with clang if the compiler isn't building with AVX instructions
Fixes https://github.com/libsdl-org/SDL/issues/4533
|
|
cdac61ff
|
2021-08-06T12:00:53
|
|
Fixed typo
|
|
eec41d25
|
2021-08-06T11:30:22
|
|
Add info on how to avoid the "Prevented in-tree build" message with CMake
|
|
ac20167e
|
2021-08-06T14:08:50
|
|
configure: Fixes to make SDL link as C++ on Haiku.
Fixes #4590.
|
|
10979d37
|
2021-08-05T12:42:03
|
|
wayland: Always assume configure is wrong for non-resizable windows.
Configure events from compositors have an extremely annoying habit of giving us
completely bogus sizes, from all sorts of places. Thankfully, the protocol
gives us the ability to completely ignore the width/height and just stick with
what we know, so for all windows that are not meant to be resized, pretend we
never even got the width/height at all, the compositor is required to respect
our dimensions whether they match configure's suggestion or not.
|
|
520bc713
|
2021-08-05T14:33:54
|
|
Fix typo in CMake target name
|
|
b83a019d
|
2021-08-04T19:22:10
|
|
cmake: Force linker to treat input as a C++ program on Haiku.
Reference issue #4590.
|
|
88674b4a
|
2021-08-04T13:17:35
|
|
Fixed build
|
|
31726150
|
2021-08-04T13:13:22
|
|
Let Android know that we can handle USB devices
This is important on Android 29 and above if you don't want to be prompted for each device that you open
|
|
c14813a8
|
2021-08-04T13:00:14
|
|
Fixed spacing
|
|
3cad447e
|
2021-08-04T12:57:51
|
|
Only update the window size if setting the display mode succeeded
|
|
0eb6f791
|
2021-05-21T13:48:14
|
|
SDL_SetWindowDisplayMode(): If already fullscreen, adjust window size
Otherwise only the display resolution is changed, but the SDL window size
(and for example the window-surface size) aren't adjusted accordingly
and thus don't fill the whole screen.
See #3313
|
|
72d81285
|
2021-05-19T18:47:56
|
|
Improve SDL_CreateWindow() fullscreen support on Windows
.. and maybe other platforms as well (though X11 was not affected)?
The issue was that passing a higher resolution than the current desktop
resolution to SDL_CreateWindow() with SDL_WINDOW_FULLSCREEN didn't switch
to that resolution (even though it did switch to lower resolutions).
When creating a fullscreen window, window->fullscreen wasn't even set
at all (only zeroed out), setting it only happened if the user explicitly
called SDL_SetWindowDisplayMode(). So without that, SDL_CreateWindow()
-> SDL_UpdateFullscreenMode() -> SDL_GetWindowDisplayMode() used the
resolution from window->windowed.w/h which were limited to the desktop size
due to some weird combination of WIN_AdjustWindowRectWithStyle() and
WIN_WindowProc() being called after a call to SetWindowPos().
fixes #3313
|
|
9fdb0645
|
2021-08-04T11:33:28
|
|
Added support for the Joy-Con Charging Grip when SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS is enabled
|
|
d4839702
|
2021-08-04T13:30:12
|
|
dbus: Wrap init in a spinlock.
This prevents a race if two threads that need d-bus try to init it at the
same time. Note that SDL_Init will likely handle this from a single thread
at startup, but there are places outside of init where one might trigger
D-Bus init, like setting thread priority (a common first thing for a new
thread to do) resulting in SDL trying to use RTKit.
Fixes #4587.
|
|
b08b1bde
|
2021-08-03T22:50:58
|
|
linux: remove d-bus lazy init dead code
Lazy init in X11/Wayland is dead code since dbdbae4
|
|
f5bc58bf
|
2021-08-03T18:30:08
|
|
Add note about keyboard grab to WhatsNew.txt for 2.0.16
|
|
5fc13fcb
|
2021-08-04T07:00:17
|
|
direct3d: Commit viewport state before clearing, attempt 2.
This reintroduces the fix from 0e16ee8330606603, but just marks
the viewport state as dirty after a clear that needs to expand the
viewport to fill the render target, as we'll need to also reset
the orthographic projection state elsewhere, and that won't
happen if we clear the dirty flag here.
Fixes #4210.
(again.)
(...sorry...!)
|
|
ed6ce5cc
|
2021-08-04T02:34:09
|
|
log: Fixed compiler warnings on 64-bit Visual Studio.
|
|
7e88e772
|
2021-08-04T02:30:47
|
|
winrt: Fixed incorrect code in a Windows Phone #ifdef.
|
|
8104c9e3
|
2021-08-04T00:02:39
|
|
doxygen: manually move SDL_CloseAudioDevice docs from wiki.
Apparently we don't fill these in from the wiki if the function doesn't
have _any_ documentation already. That's a bug, I think.
|
|
57bfed79
|
2021-08-03T22:15:04
|
|
README-dynapi.md: Google+ link is gone, remove it.
The Wayback Machine doesn't even have it. :(
|
|
178c95f8
|
2021-08-03T21:52:47
|
|
README-winrt.md: Cleaned up sample code
- Fixed the markdown.
- Code can now be exited by pressing ESC.
- Cleans up and returns from main()
- Mushed all the `if (x) { return 0; }` blocks into else ifs.
|
|
32f909f7
|
2021-08-03T13:30:57
|
|
wayland: Remove redundant waylanddyn.h includes.
All files including waylanddyn.h already include waylandvideo.h first.
|
|
124405a0
|
2021-08-03T13:17:19
|
|
wayland: Fix building without Vulkan support
|
|
02563f75
|
2021-08-03T20:12:56
|
|
regenerate configure
|
|
d2e8998f
|
2021-08-03T07:59:01
|
|
build: Fix the LINKER variable.
The LINKER variable is set in configure.ac as either 'CC' or 'CXX'
where it is then passed to the created Makefile. This fails with
slibtool which can't find the 'CC' file and can be fixed by correctly
setting the LINKER variable to an actual Makefile variable like '$(CC)'
or '$(CXX)' instead. Presumably GNU libtool does some magic here to
hide the issue.
|
|
4077f7a2
|
2021-08-03T20:55:45
|
|
Update the Renderer dpi_scale on SIZE_CHANGED event (fix #4580)
The Renderer logical scaling code scales mouse coordinates, and needs to
take the window DPI into account on HIGHDPI windows. However, the
variable which tracks this, renderer->dpi_scale, is set once when the
renderer is created, and then not updated. In the event that the window
is moved to another screen, or the screen DPI otherwise changes, this
will be outdates, and potentially the coordinates will be all wrong.
So let's update the dpi_scale on the SIZE_CHANGED event: it's at least a
possibility that this will be issued on some OSes when DPI changes, and
it's otherwise already handled by SDL_Renderer's event filter.
|
|
9b4884d5
|
2021-08-03T09:23:54
|
|
Warn if you're building a partially functional RAWINPUT driver without device notifications
|
|
886eb02e
|
2021-08-03T03:16:35
|
|
Fixed detection of Steam Virtual Gamepad with the WGI driver
|
|
7c63e1d3
|
2021-08-03T01:52:02
|
|
Added WGI mappings for the Amazon Luna and Google Stadia controllers
|
|
99c8972b
|
2021-08-03T01:39:07
|
|
Added WGI mappings for PS4 and PS5 controllers
|
|
2dfc92ca
|
2021-08-03T01:33:35
|
|
Added default mapping for WGI game controllers
|
|
3d747078
|
2021-08-03T01:25:54
|
|
Run the renderer so Steam can find the main window
|