src/video


Log

Author Commit Date CI Message
Sam Lantinga 3ac9e2aa 2018-10-05T17:06:05 Fixed bug 4296 - kmsdrm video driver leaks 1 bo in KMSDRM_GLES_SetupCrtc() Icenowy Zheng One front buffer is locked in GLES_SetupCrtc() and overrides the next_bo just locked in KMSDRM_GLES_SwapWindow, then the next_bo gets lost and is not released even when quitting the video. It may leads to problems with GLES drivers that doesn't clean up GBM correctly if there's any bo left (e.g. the Mali Utgard r6p2 blob). In the case of Mali Utgard r6p2 blob, the DRM device file is still hold by the blob, and if you try to SDL_Quit to let another program to run (this is done by EmulationStation), the new program will fail to open DRM device.
Ryan C. Gordon 367f9b91 2018-10-05T17:24:03 wayland: Fixed missing window sizing events. Fixes Bugzilla #4242.
Sam Lantinga 6e35e421 2018-10-01T14:43:03 Working on bug 3921 - Add some Fastpath to BlitNtoNKey and BlitNtoNKeyCopyAlpha Sylvain I did various benches. with clang 6.0.0 on linux, and ndk-r16b on android (NDK_TOOLCHAIN_VERSION=clang). - still see a x10 speed factor. - with duff_loops, it does not use vectorisation (but doesn't seem to be a problem). on linux my patch is already at full speed on -O2, whereas the duff_loops need -O3 (200 ms at -03, and 300ms at -02). I realized that on Android, I had a slight variation which fits best. both on linux with -O2 and -O3, and on android with 02/03 and armeabi-v7a/arm64. Here's the patch.
Ozkan Sezer 922623e1 2018-10-01T21:29:11 SDL_blit_N.c (BlitNtoNKeyCopyAlpha): fix -Wshadow warnings by adding _ suffix to the temp Pixel local in the DUFFS_LOOP. SDL_blit.h (ASSEMBLE_RGB): add _ prefix to temp Pixel locals to avoid any possible shadowings. The warnings were like the following: In file included from src/video/SDL_blit_N.c:26:0: src/video/SDL_blit_N.c: In function 'BlitNtoNKeyCopyAlpha': src/video/SDL_blit_N.c:2421:24: warning: declaration of 'Pixel' shadows a previous local [-Wshadow] Uint32 Pixel = ((*src32 & rgbmask) == ckey) ? *dst32 : *src32; ^ src/video/SDL_blit.h:475:21: note: in definition of macro 'DUFFS_LOOP8' case 0: do { pixel_copy_increment; /* fallthrough */ \ ^ src/video/SDL_blit_N.c:2419:13: note: in expansion of macro 'DUFFS_LOOP' DUFFS_LOOP( ^ src/video/SDL_blit_N.c:2399:12: warning: shadowed declaration is here [-Wshadow] Uint32 Pixel; ^
Sam Lantinga 95579f5f 2018-10-01T09:40:58 Fixed bug 4220 - SDL_GL_CONTEXT_DEBUG_FLAG can fail silently on some Android devices
Alex Szpakowski fb485986 2018-09-30T11:26:41 macOS: Fix a crash when the video subsystem quits, if SDL_MAC_NO_SANDBOX was defined when SDL was compiled.
Sam Lantinga 74638ea3 2018-09-28T20:39:57 Ensure we wait on the surface resize before returning from setting fullscreen mode.
Sam Lantinga 7df0f4fd 2018-09-27T14:56:29 Fixed bug 4277 - warnings patch Sylvain Patch a few warnings when using: -Wmissing-prototypes -Wdocumentation -Wdocumentation-unknown-command They are automatically enabled with -Wall
Ryan C. Gordon 7689162c 2018-09-26T20:10:32 cocoa: Force an OpenGL context update when the window becomes key. Fixes missing rendering on macOS 10.14 ("Mojave"). Fixes Bugzilla #4272.
Sam Lantinga 55b24b93 2018-09-26T11:17:43 Fixed bug 4265 - SDL window falls to the bottom of the screen when dragged down and stuck there Alexei On WM_WINDOWPOSCHANGED event, WIN_UpdateClipCursor() is called. SDL_WINDOW_INPUT_FOCUS is set even when the mouse pointer is not inside the SDL window and therefore ClipCursor(&rect) is called. When dragging the window and rect.bottom=800 (i.e. the bottom edge of the screen) the SDL window is clipped to the bottom of the screen and it is not possible to move it back to the center of the screen.
Sam Lantinga ef347048 2018-09-24T16:41:55 Fixed bug 4264 - SDL_CreateTextureFromSurface generates error message but returns ok Anthony @ POW Games SDL_CreateTextureFromSurface makes an internal call to SDL_GetColorKey which can return an error and spams the error log with "Surface doesn't have a colorkey" even though the original function didn't return an error.
Sam Lantinga 5febdfce 2018-09-24T11:49:25 Fixed whitespace
Sam Lantinga 6b3e8931 2018-09-14T19:26:26 Added hints SDL_HINT_MOUSE_DOUBLE_CLICK_TIME and SDL_HINT_MOUSE_DOUBLE_CLICK_RADIUS to allow tuning double-click sensitivity. Also increased the default double-click radius to 32 pixels to be more forgiving for touch interfaces
Sam Lantinga 0b3a350c 2018-09-10T23:01:33 Fixed Chinese IME support (thanks ???!)
Sam Lantinga af823cc1 2018-09-10T23:00:09 Fixed building on tvOS
Sam Lantinga 404ba5ee 2018-08-28T13:37:11 Fixed bug 4229 - Add support for ABGR format in DirectFB renderer Alexandre DirectFB supports 32-bit ABGR pixel format via DSPF_ABGR, but SDL doesn't map SDL_PIXELFORMAT_ABGR8888 to DSPF_ABGR. A patch is attached and should add support for ABGR pixel format devices.
Sam Lantinga a1ca8441 2018-08-26T20:37:23 Update the cursor clipping each frame, in case it was stolen by another application.
Sam Lantinga 15b3794f 2018-08-26T10:34:23 Only reset the clip rect if it's currently the rect we previously clipped. This prevents us from clearing the clip rect globally when another application has set it. There's also an experimental change to regularly update the clip rect for a window defensively, in case someone else has reset it. It works well, but I don't know if it's cheap enough to call as frequently as it would be called now, and might have other undesirable side effects. Also fixed whitespace and SDL coding style
Jeremy Ong a794126d 2018-08-24T09:49:48 vulkan: SDL_Vulkan_GetInstanceExtensions should accept a NULL window. Fixes Bugzilla #4235.
Sam Lantinga 088070e5 2018-08-22T23:47:29 Moved display orientation handling on iOS out to a separate function for Qt apps
Sam Lantinga f225af0c 2018-08-22T21:48:28 Added SDL_GetDisplayOrientation() to get the display orientation, and added a new event SDL_DISPLAYEVENT to notify the application when the orientation changes. Documented the values returned by the accelerometer and gyroscope sensors
Sam Lantinga 6f758ad2 2018-08-21T20:03:54 Moved SDL_IsTablet() to a cross-platform API function
Sam Lantinga 109544ca 2018-08-21T11:23:47 Add SDL_IsTablet() to Android and iOS SDL.
Ryan Speets aeea6b9b 2018-08-18T12:30:04 Emscripten: Fixed SDL_SYSTEM_CURSOR_SIZEALL
Ryan C. Gordon 941c5b47 2018-08-07T18:07:11 haiku: Rename internal functions from BE_* to HAIKU_* Fixes Bugzilla #2349.
Ryan C. Gordon e061a92d 2018-08-02T16:03:47 Some drag'and'drop improvements. First: disable d'n'd events by default; most apps don't need these at all, and if an app doesn't explicitly handle these, each drop on the window will cause a memory leak if the events are enabled. This follows the guidelines we have for SDL_TEXTINPUT events already. Second: when events are enabled or disabled, signal the video layer, as it might be able to inform the OS, causing UI changes or optimizations (for example, dropping a file icon on a Cocoa app that isn't accepting drops will cause macOS to show a rejection animation instead of the drop operation just vanishing into the ether, X11 might show a different cursor when dragging onto an accepting window, etc). Third: fill in the drop event details in the test library and enable the events in testwm.c for making sure this all works as expected.
Ryan C. Gordon 8f0cc4a4 2018-07-22T19:42:08 Backed out changeset 2e42ec46061e. This change isn't correct. See comments in Bugzilla #4183.
Ryan C. Gordon 862aa4b4 2018-07-22T19:28:27 windows: Fixed some Visual Studio warnings about shadowed variables. Fixes Bugzilla #4118.
Marc Di Luzio c3178e67 2018-07-12T16:52:45 Ensure we still clear the X locale modifiers even if not compiled with ibus or fcitx support
Ozkan Sezer 013b146d 2018-06-30T20:55:51 SDL_windowstaskdialog.h (struct _TASKDIALOGCONFIG): make unions anonymous otherwise build fails. (at least with my VS2005. and the code accesses the arms of the unions anonymously anyway.)
Ryan C. Gordon 7c2028f8 2018-06-29T16:56:11 Attempt to fix "cast from pointer to integer of different size" warnings.
Ryan C. Gordon 5a8ecf4e 2018-06-25T13:14:52 yuv: Patched to make static analysis happy (warned about unused variable).
Ryan C. Gordon c8ac9096 2018-06-24T22:42:36 wayland: Implemented xdg-wm-base support. This is just in parity with the existing zxdg-shell-unstable-v6 code. Making the Wayland target robust (and uh, with title bars) is going to take a lot of work on top of this.
Ryan C. Gordon 59574fe2 2018-06-24T13:57:22 x11: Normalize x11xinput2 touch x to be 1.0 at width (thanks, Zach!). "Applications (such as SDL's testgesture) do "event.tfinger.x * window_width" to find window coord. Currently the X11 XInput2 backend expects application to do "event.tfinger.x * (window_width-1)" instead. X11 XInput2 touch events are normalized so x is 1.0 at "width - 1" but other SDL backends appear to have x be 1.0 at "width". Same issue for touch event y with regards to height." Fixes Bugzilla #4183.
Sam Lantinga 88dfa466 2018-06-18T13:14:04 Use a blank cursor instead of PointerIcon.TYPE_NULL since that shows the default cursor on Samsung DeX
Tomeu Vizoso fe682827 2018-06-14T06:12:12 egl: Don't change context when deleting current. If we change the current context behind the app's back, those tracking the current context to minimize context changes are going to get confused. This brings the EGL backend in line with the GLX one. Fixes Bugzilla #4199.
Sam Lantinga 4a4bac95 2018-06-12T13:22:58 Deal with fullscreen limitations under windowed Android environments (Chromebook, DeX, etc.) (Thanks Rachel!)
Sam Lantinga fe196db7 2018-06-07T17:07:03 Track android device panel width & height as well as window surface & height. Expand SDLActivity::SDLSurface::surfaceChanged() callback to grab the panel width and height at the same time and pass that along to the native code. Only works on API 17+. Duplicates surface dimensions whenever it fails. Add Android_DeviceWidth/Android_DeviceHeight globals to native code. Disambiguate Android_ScreenWidth/Android_ScreenHeight -> Android_SurfaceWidth/Android_SurfaceHeight Use device width/height for all display mode settings.
Sam Lantinga 2dedbc72 2018-06-05T12:46:11 Add Android support for relative mouse mode to SDL.
Sam Lantinga 9d6ac3de 2018-06-05T12:46:09 Fix creating a minimized window in SDL to not cause focus to be stolen (because ShowWindow( hwnd, SW_MINIMIZE ) would be called after creation, thus changing focus to the prior window based on some per-app list in windows, rather than the window being created with WS_MINIMIZED to start with). This means we have to consider SDL_WINDOW_MINIMIZED a window creation flag, but on non-windows platforms we just remove it and let the normal FinishWindowCreation re-apply and do the minimize as I have no idea what is right on them or if anything should change. CR: Phil
Ryan C. Gordon 3d387098 2018-05-27T20:30:03 metal: contrary to documentation, we need to set the drawableSize explicitly. Fixes Bugzilla #4149.
Sam Lantinga 999af809 2018-05-18T13:09:30 Merged latest changes from Steam Link app
Sam Lantinga a4d0571e 2018-05-07T20:10:12 Reverted change for bug 4152 - restrict the win10 mouse bug workaround to win10 v1709 only Daniel Gibson Sorry, but it seems like Microsoft didn't fix the issue properly. I just updated my Win10 machine, it now is Version 1803, Build 17134.1 I tested with SDL2 2.0.7 (my workaround was released with 2.0.8) and still got lots of events that directly undid the prior "real" events - just like before. (See simple testcase in attachement) By default it sets SDL_HINT_MOUSE_RELATIVE_MODE_WARP - which triggered (and on my machine still triggers) the buggy behavior. You can start it with -raw, then it'll not set that hint and the events will be as expected. The easiest way to see the difference is looking at the window title, which shows accumulated X and Y values: If you just move your mouse to the right, in -raw mode the number just increases. In non-raw mode (using mouse warping) it stays around 0. I also had a WinAPI-only testcase: https://gist.github.com/DanielGibson/b5b033c67b9137f0280af9fc53352c68 It just calls SetCursorPos(320,240); on each WM_MOUSEMOVE event, and it also logs all those events to a mouseevents.log textfile. This log indeed looks a bit different since the latest Win10 update: It seems like all those events with x=320 y=240 do arrive - but only after I stopped moving the mouse - even though the cursor seems to be moved back every frame (or so). So moving the mouse to the right gives X coordinates like 330, 325, 333, 340, 330, ... and then when stopping movement I get lots of events with X coordinate 320
Sam Lantinga 606c5a58 2018-05-05T10:27:53 Fixed bug 4152 - Windows 10 v1803 update seems to have fixed the jumping mouse bug (see bug #3931.)
Sam Lantinga 386790ef 2018-04-23T22:29:14 Improved error messages when Vulkan isn't configured (thanks Daniel Gibson!)
Ryan C. Gordon 2df59062 2018-04-15T17:42:09 wayland: zxdg_shell_v6 needs a configure event before using a surface at all. Fixes Bugzilla #4109. Fixes Bugzilla #4119.
Sam Lantinga 6a0ef0cd 2018-04-09T10:37:31 SDL: On Windows, have SDL_ShowWindow() not activate the window if the window has the WS_EX_NOACTIVATE window flag.
Sam Lantinga 4d78a995 2018-03-26T12:38:29 Fixed bug where an SDL window that was activated while hidden could never be shown. Test code: { SDL_Window *win = SDL_CreateWindow( "Dummy", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 128, 128, SDL_WINDOW_HIDDEN ); SDL_SysWMinfo info; SDL_VERSION( &info.version ); SDL_GetWindowWMInfo( win, &info ); SetActiveWindow( info.info.win.window ); { DWORD then = SDL_GetTicks(); while ( ( SDL_GetTicks() - then ) < 3000 ) { SDL_Event evt; SDL_PollEvent( &evt ); } SDL_ShowWindow( win ); then = SDL_GetTicks(); while ( ( SDL_GetTicks() - then ) < 3000 ) { SDL_Event evt; SDL_PollEvent( &evt ); } } SDL_DestroyWindow( win ); }
Sam Lantinga e14278ef 2018-03-24T10:26:40 Fixed bug 3804 - Message box on Windows truncates button ID Simon Hug I just wanted to fix a simple compiler warning in SDL_ShowMessageBox on Windows (which Sam fixed recently) and ended up finding some issues. Attached patch fixes these issues: - Because Windows only reports the lower 16 bits of the control identifier that was pushed, the button IDs used by SDL (C type int, most likely 32 bits) can get cut off. - The documentation states (somewhat ambiguously) that the button ID will be -1 if the dialog was closed, but the current code sets 0. For SDL 2.1, I think this should be a return code of SDL_ShowMessageBox itself. That will free up the button ID and it seems a more appropriate place for signaling this event. - Ampersands in controls will create mnemonics on Windows (underlined letters that, if combined with the Alt key, will push the button). I was thinking of adding a hint or flag to let the users enable it, but that might have unexpected results. - When the size of the text gets calculated, it doesn't use the same parameters as the static control. This can cut off text or wrap it weirdly. - On Windows, the Tab key is used to switch between control groups and sometimes between buttons in dialogs. This didn't seem to work correctly. Attached patch also adds: - Icons. Just the system ones that can be loaded with the ordinals IDI_ERROR, IDI_WARNING and IDI_INFORMATION. - A button limit of 2^16 - 101. - Some more specific error messages, but they never reach the user because how SDL_ShowMessageBox handles them if an implementation returns with an error.
Sam Lantinga f536fbea 2018-03-16T11:08:53 Reimplemented Android cursor API support using reflection so it builds with older SDKs
Sam Lantinga e20d4173 2018-03-15T18:22:48 Added Android custom cursor implementation This is commented out in SDLActivity.java, with the note #CURSORIMPLEENTATION because it requires API 24, which is higher than the minimum required SDK
Sam Lantinga cc7b2fc5 2018-03-10T21:13:50 Temporary fix for bug 3432 - macOS 10.12: small scrolls (1 wheel notch) don't generate events Eric Wasylishen This bug was reintroduced by https://hg.libsdl.org/SDL/rev/fcf24b38a28a The steps to reproduce are the same: run the "testrelative" SDL demo with "--info all", connect a USB mouse with a scroll wheel, and roll the scroll wheel one "notch". You'll get log output like: testdraw2[1644:67222] INFO: SDL EVENT: Mouse: wheel scrolled 0 in x and 0 in y (reversed: 1) in window 1 As far as I can tell macOS doesn't have an API for getting the number of "wheel notches"; I get a deltaY of 0.100006 for one "notch", and it's heavily accelerated (if you roll the wheel quickly you'll get large deltas). So NSEvent's deltaY is only meant to be used for scrolling a scroll view, with the given distance in points, not something like selecting an item in a game. Here's a temporary patch that at restores the foor/ceil in Cocoa_HandleMouseWheel. Not ideal, but at least it restores the ability to scroll one notch of a mousewheel.
Sam Lantinga 2419d267 2018-03-02T22:53:25 Progress fixing bug 4100 - errors and warnings after changeset 11917 Ozkan Sezer 2018-03-02 20:02:37 UTC http://hg.libsdl.org/SDL/rev/d702b0c54e52 resulted in an error and two warnings when compiled with mingw. 1. Error from SDL_windowstaskdialog.h: In file included from src/video/windows/SDL_windowsmessagebox.c:29:0: src/video/windows/SDL_windowstaskdialog.h:23:54: error: expected ')' before 'HWND' This is fixed by removing unnecessary annotations: 2. Warning from SDL_assert.c: src/SDL_assert.c: In function 'SDL_ExitProcess': src/SDL_assert.c:138:1: warning: 'noreturn' function does return Indeed ExitProcess() is prototyped with DECLSPEC_NORETURN, but TerminateProcess() is not. This can be rectified by adding an exit() call in there. Do NOTE, however, that requires building with a libc: 3. Warning from SDL_windowsmessagebox.c: src/video/windows/SDL_windowsmessagebox.c: In function 'WIN_ShowMessageBox': src/video/windows/SDL_windowsmessagebox.c:513:9: warning: 'nCancelButton' may be used uninitialized in this function My lazy solution was manually initializing nCancelButton to 0.
Sam Lantinga ac2d1f67 2018-03-02T12:08:18 Fixed setting the layer drawable size Without this change the drawable had a size of 0 and the metal renderer asserted because the projection matrix wasn't set.
Ryan C. Gordon cef1c1c2 2018-03-02T14:10:25 windows: Restore patches for Task Dialogs and TerminateProcess(). 2.0.8 has shipped, these can live in revision control now!
Ryan C. Gordon 3537c3e7 2018-02-28T10:39:41 Back out Task Dialog and TerminateProcess patches for 2.0.8. These can return to revision control once we ship.
Ryan C. Gordon 6a1cfcce 2018-02-28T02:14:15 windows: dos2unix'd messagebox code, and (hopefully) fixed on MingW.
Ryan C. Gordon a749035f 2018-02-28T01:54:22 windows: Message boxes use Task Dialogs if possible (thanks, Jack!). This lets the message box have an icon. Unless the app has opted-in to using the v6 common controls, though, this will fall back to the usual SDL message boxes.
Mark Callow be6ca785 2018-02-25T23:02:09 Support official Vulkan SDK for macOS. This tries to load vulkan.framework or libvulkan.1.dylib before MoltenVK.framework or libMoltenVK.dylib. In the previous version, layers would not work for applications run-time loading the default library.
Sam Lantinga 849d042f 2018-02-24T08:58:22 Fixed bug 4091 - Undefined references to Android audio functions when SDL_AUDIO_DISABLED is on Manuel Sabogal If SDL is compiled with the Audio subsystem disabled there are some undefined references to the functions ANDROIDAUDIO_ResumeDevices and ANDROIDAUDIO_PauseDevices in the file src/video/android/SDL_androidevents.c.
Brandon Schaefer 0626486e 2018-02-23T19:12:04 Backout the vulkan change in d449dea10fc8 breaks Mir builds
Brandon Schaefer e17c3219 2018-02-23T11:24:26 mir: Disable Mir by default as Mir supports Wayland clients Also remove enabling VK support for Mir
Ryan C. Gordon ac309df7 2018-02-21T22:27:09 vulkan: Possibly fix a compiler warning (-Wstrict-prototypes).
Mark Callow 69958441 2018-02-21T09:58:21 Fix high-dpi support on macOS and simplify it and iOS variant. The detault drawableSize for a CAMetalLayer is its bounds x its scale. So it is sufficient to set the *layer's* scale to the desired value.
Ryan C. Gordon 2ea4419a 2018-02-17T20:18:48 yuv: patched to compile.
Ryan C. Gordon 7c0c2c22 2018-02-17T20:10:13 yuv: fixed variable declaration shadowing warnings. Fixes Bugzilla #4062.
Ryan C. Gordon 6867f618 2018-02-16T14:56:28 video: put a spinlock around a global linked list. This should only contend if you're allocating or freeing surfaces from multiple threads at once, and then just for a short time. Fixes Bugzilla #4084.
Sam Lantinga 8ddebfa0 2018-02-16T10:23:10 Fixed bug 4085 - X11: Allow configuring _NET_WM_BYPASS_COMPOSITOR through SDL hints Callum McGing This patch allows the user to disable the behaviour that blocks the compositor through a new hint: SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR. This allows tools or other windowed applications to behave properly under KWin.
Sam Lantinga 5abd7d16 2018-02-13T22:58:20 Don't attempt WM_NCCALCSIZE adjustment when in fullscreen window transition
sezero 40b27fd5 2018-02-12T17:00:00 revert the recent typecast assignment changes (see bug #4079) also change the void* typedefs for the two vulkan function pointers added in vulkan_internal.h into generic function pointer typedefs.
sezero 8a1ae708 2018-02-12T10:00:00 kill C99'ism in SDL_waylandvulkan.c
Sam Lantinga 6e01fbb7 2018-02-11T18:23:37 On Android show the system UI when an SDL window is windowed, hide the system UI when it's fullscreen, like we do on iOS. We're increasing the Android SDK minimum version to API 19, this doesn't increase the minimum target API, which is API 14.
Sam Lantinga 873141ac 2018-02-11T15:29:36 ISO C correct fix for casting void* to function pointer
Ryan C. Gordon 882215e1 2018-02-11T18:16:01 vulkan: Fix assignment of vkGetInstanceProcAddr on Windows. "*(void**)pfn = LoadAddress()" would cast the NULL pointer in pfn to a void**, and then dereference it, which wasn't what we wanted. Replaced with a clearer cast operation.
Sam Lantinga 7b50aee9 2018-02-08T18:07:14 Fixed min/max window size handling for borderless resizable windows
Sam Lantinga 940933d8 2018-02-07T15:05:30 Fixed bug 4054 - Raspberry Pi refresh rate detection Viacheslav Slavinsky SDL_rpivideo driver has 60 frames per second hardcoded in it, this is a problem for games that need to keep pace using VSYNC. I believe that I have found a solution to this. It is based on code in tvservice.c in rpi userland: https://github.com/raspberrypi/userland/blob/a1b89e91f393c7134b4cdc36431f863bb3333163/host_applications/linux/apps/tvservice/tvservice.c#L433
Guillermo A. Amaral bd0def06 2018-02-07T14:12:26 Set rpath instead of changing environment for RPi Credit goes to Adrian Perez de Castro for the improvement. Signed-off-by: Guillermo A. Amaral <g@maral.me>
Ryan C. Gordon cd532207 2018-02-07T13:13:55 wayland: Add support for xdg-shell protocol (unstable v6). This is meant to be the desktop-enhanced version of wl_shell. Right now we just match what the existing wl_shell code does, but there are other areas of functionality available to us now, that we can fill in later. This uses the "unstable" API, since this is what ships in Ubuntu 17.10 (as part of Wayland 1.10), but Wayland 1.12 promotes this to stable with extremely minor changes. We will add support for the stable version when it makes sense to do so.
Sam Lantinga 73c26c20 2018-02-06T16:43:31 Send Apple TV remote input as key events unless it's opened as a joystick, to match Android behavior.
Sam Lantinga f59b9c8b 2018-02-06T15:03:38 Replaced SDL_HINT_APPLE_TV_REMOTE_SWIPES_AS_ARROW_KEYS with SDL_HINT_TV_REMOTE_AS_JOYSTICK which controls whether remotes on iOS and Android are interpreted as joysticks (the default) or as return/escape/arrow keys.
Sam Lantinga 35322ed8 2018-02-01T15:46:51 Fixed building on tvOS
Sam Lantinga 85c34e9a 2018-02-01T15:21:01 Added SDL_HINT_IOS_HIDE_HOME_INDICATOR to determine how the home indicator on the iPhone X is handled. This variable can be set to the following values: "0" - The indicator bar is not hidden (default for windowed applications) "1" - The indicator bar is hidden and is shown when the screen is touched (useful for movie playback applications) "2" - The indicator bar is dim and the first swipe makes it visible and the second swipe performs the "home" action (default for fullscreen applications)
Sam Lantinga 90e72bf4 2018-01-30T18:08:34 Fixed ISO C99 compatibility SDL now builds with gcc 7.2 with the following command line options: -Wall -pedantic-errors -Wno-deprecated-declarations -Wno-overlength-strings --std=c99
Sam Lantinga 2d7420f2 2018-01-25T11:12:20 Fixed bug 3985 - SDL_CreateWindow() has stopped changing screen mode when SDL_WINDOW_FULLSCREEN is used Anthony This worked in 2.0.5 as normal, but stopped working in 2.0.7. The monitor's resolution doesn't change, a window is created in full screen mode at the virtual desktop resolution instead.
Sam Lantinga 9338a619 2018-01-17T17:24:15 Added a hint SDL_HINT_APPLE_TV_REMOTE_SWIPES_AS_ARROW_KEYS to prevent turning Apple TV remote swipes into arrow key events
Guillermo A. Amaral 35554caf 2018-01-17T13:17:10 Make rpi video cross-compiler friendly. * Stops using fixed path to find GLES/EGL libs. * Tries pkg-config to locate bcm_host. Signed-off-by: Guillermo A. Amaral <g@maral.me>
Sam Lantinga 509db8af 2018-01-17T13:12:39 Fixed formatting, added actual count to SDL error message
Dawid Gan 61261e59 2018-01-16T21:29:32 EGL: Request sRGB framebuffer in correct place. The EGL_GL_COLORSPACE_KHR is an attribute for eglCreate*Surface. As written in EGL_KHR_gl_colorspace documentation: Accepted as an attribute name by eglCreateWindowSurface, eglCreatePbufferSurface and eglCreatePixmapSurface EGL_GL_COLORSPACE_KHR 0x309D (...)
Sam Lantinga 0cba6847 2018-01-15T10:29:53 Fixed bug 4043 - SDL_windowswindow.c incorrect icon height Needed to allocate space for the mask in the ICONIMAGE structure
John Bartholomew f9bdce61 2018-01-14T13:34:50 Vulkan: Allow SDL_Vulkan_GetInstanceExtensions to be called with a larger array than necessary.
Marius Gripsgard 7cd39b7d 2018-01-13T01:58:11 Mir: Handle close window events
Sam Lantinga a0c4eb2a 2018-01-10T18:00:51 Restored borderless window behavior where DOTA created a borderless window the size of the desktop and expected it to behave like a fullscreen desktop window. A future SDL release will change the borderless window to act more like a normal window that happens to have no chrome, to support windows that draw their own chrome. In the meantime, those applications should set the "SDL_BORDERLESS_WINDOWED_STYLE" hint.
Sam Lantinga 66baf736 2018-01-03T11:31:42 Fixed spacing in copyright headers
Sam Lantinga 7c60bec4 2018-01-03T10:58:58 Fixed bug 4018 - Implement SDL_GetWindowBordersSize() under Windows/Win32/WinAPI Ismael Ferreras Morezuelas (Swyter) As a new year gift I have implemented the Windows version of SDL_GetWindowBordersSize(). I needed it for auto-selecting a cozy window size for the game I'm currently working on and noticed that it only worked under X11, so I thought it could be a good excuse to contribute back more stuff. The Mercurial patch is attached as a .diff file. Let me know what you think. Happy 2018 to all the SDL2 devs and users! -- PS: Keep in mind that Windows 10 includes the 8px invisible grip borders as part of the frame. There's a way of detecting if Aero/DWM is being used and ask only for the visible rect, but I believe that GetWindowRect() is doing that for a reason and working as intended, so I haven't changed it. (See [2]) References: [1]: http://www.firststeps.ru/mfc/winapi/r.php?72 [2]: https://stackoverflow.com/a/34143777/674685 [3]: https://stackoverflow.com/a/431548/674685 [4]: https://wiki.libsdl.org/SDL_GetWindowBordersSize
Sam Lantinga 8111a632 2018-01-03T10:49:26 Fixed bug 4013 - Wayland: fix videoquit on multimonitor system Vladimir On multimonitor system Wayland_VideoQuit invalid deiniting. Tested in Centos7 + Weston
Sam Lantinga 1fa4bcca 2018-01-03T10:43:01 Fixed bug 4012 - Wayland: invalid direction on mouse wheel Vladimir Invalid direction on mouse wheel Patch tested in Centos 7 + Weston
Sam Lantinga 6bc38737 2018-01-03T10:07:27 Fixed bug 4011 - Wayland: fix free cursor Vladimir Sometimes SDL application crashes on cursor free. Patch tested under Centos 7 + weston
Sam Lantinga e3cc5b2c 2018-01-03T10:03:25 Updated copyright for 2018
Alex Szpakowski f9cd7650 2018-01-02T21:44:28 metal and moltenvk: fix highdpi.
Ryan C. Gordon 7c667a6f 2018-01-01T19:16:51 windows: Remove references to GetVersionExA (thanks, Andrew Pilley!). "GetVersionExA is deprecated in windows 8.1 and above's SDK, causing a warning when building against the win10 SDK. Attached patch cleans up the usage for a warning-free build. GetVersionExA was being used to test to see if SDL was running on win9x or winnt. A quick chat with Ryan on twitter suggested that SDL doesn't officially support win9x anymore, so the call to this can be outright removed. As an aside, replacing the call to GetVersionExA with VerifyVersionInfoA (the recommended path) would have been pointless, as VerifyVersionInfoA only supports VER_PLATFORM_WIN32_NT and doesn't officially support any other value for dwPlatformId currently. (And it's probable that win9x SDKs didn't have VerifyVersionInfo* in them anyway.)" Fixes Bugzilla #4019.