src/video


Log

Author Commit Date CI Message
Sam Lantinga da6197c5 2016-10-01T13:59:59 Fixed 3149 - Mouse Pointer Raspberry Pi corrupt when moving over screen edges Patrick Gutlich The mouse cursor gets corrupted when the mouse moves over the screen edges (right and bottom) a weird type of scaling seems to occur and you end up with a blank square.
Sam Lantinga 473051f6 2016-10-01T13:40:01 Fixed bug 3159 - SDL_blit_slow with BLENDING does not work Fritzor Source Suface is ABGR and Destination Surface is ABGR. We use software blending. In the Switch-Case statement for SDL_COPY_BLEND (Line 126) the alpha-channel is not calculated like in every SDL_blit_auto - function. So if the destination Surface has alpha - channel of zero the resulting surface has zero as well. Add: ?dstA = srcA + ((255 - srcA) * dstA) / 255;? to code and everything is okay.
Sam Lantinga f4b26cd8 2016-10-01T13:16:31 Removed carriage returns from previous patch
Sam Lantinga 7b0ccd32 2016-10-01T13:14:51 Fixed bug 3405 - Wrong default icon size on windows systems Evgeny Vrublevsky Original code in the video/windows/SDL_windowsevents.c registers obsolete WNDCLASS (not WNDCLASSEX). As the result only one icon size is used as the small and normal icons. Also original code doesn't specify required size of an icon. As the result when 256x256 icon is available, the program uses it as a default icon, and it looks ugly. We have to use WNDCLASSEX and load icons with proper sizes which we can get using GetSystemMetrics. Better idea. We could use the first icon from resources, like the Explorer does. Patch is included. It also correctly loads large and small icons, so it will look nice everywhere.
Sam Lantinga 765d8bea 2016-10-01T12:46:36 Fixed bug 3305 - Fixed TextInput status when the keyboard was dismissed with the dismiss key on the iPad Diego The keyboard on iPads has a dismiss button that hides the keyboard. When the keyboard was hidden using that button, instead of the return key, SDL was still reporting IsTextInputActive as true. This patch adds an extra SDL_StopTextInput when iOS reports the keyboard will hide.
Sam Lantinga 0b576962 2016-10-01T12:17:42 Reset dead keys when the SDL window loses focus, so dead keys pressed in SDL applications don't affect text input into other applications.
Sam Lantinga 1e6e5954 2016-10-01T11:54:02 Fixed bug 3332 - Win32: reset deadkeys in StartTextInput/StopTextInput Eric Wasylishen The bug here is that a dead keys pressed before calling SDL_StartTextInput() carries over into future text input, so the next key pressed will have the deadkey applied to it. This in undesirable, imho, and doesn't occur on OS X (haven't check Linux or elsewhere). It's causing a problem for Quakespasm on German keyboard layouts, where we use the ^ deadkey to toggle the console (which enables/disables text input), and ^ characters are showing up in the TEXTINPUT events.
Sam Lantinga 9fff05f8 2016-10-01T11:29:13 Fixed bug 3352 - Adding alpha mask support to SDL_SaveBMP_RW Simon Hug The current SDL_SaveBMP_RW function that saves surfaces to a BMP uses an old bitmap header which doesn't officially support alpha channels. Applications just ignore the byte where the alpha is stored. This can easily be extended by using a newer header version and setting the alpha mask. The attached patch has these changes: - Extending the description of the function in the SDL_surface.h header with the supported formats. - Refining when surfaces get stored to a 32-bit BMP. (Must have bit depth of 8 or higher and must have an alpha mask or colorkey.) - Fixing a small bug that saves 24-bit BGR surfaces with a colorkey in a 24-bit BMP. - Adding code that switches to the bitmap header version 4 if the surface has an alpha mask or colorkey. (I chose version 4 because Microsoft didn't lose its documentation behind a file cabinet like they did with version 3.) - Adding a hint that can disable the use of the version 4 header. This is for people that need the legacy header or like the old behavior better. (I'm not sure about the hint name, though. May need changing if there are any rules to that.)
Sam Lantinga fd1d692b 2016-10-01T10:46:10 Fixed bug 3368 - SDL_Blit_Slow doesn't ignore alpha values in colorkey comparison Simon Hug When the SDL_Blit_Slow function compares the pixel to the color key it does so without removing the alpha component from the pixel value and the key. This is different from the optimized 32-bit blitters which create a rgb mask and apply it to both to filter the alpha out. SDL_Blit_Slow will only skip the pixels with the exact alpha value of the key instead of all pixels with the same color. The attached test case blits a surface with a color key and prints the pixel values to the console. The third row is expected to be skipped.
Ryan C. Gordon e64c5186 2016-09-29T23:42:18 windows: Removed hardcoded "1" for mouse clickthrough hint.
Ryan C. Gordon f10db407 2016-09-29T23:15:56 haiku: Patched to compile.
Ryan C. Gordon f2fcd324 2016-09-29T23:12:58 windows: fix borderless windows at desktop resolution (thanks, Evgeny!). Fixes Bugzilla #3404.
Ryan C. Gordon b2510d9c 2016-09-29T23:01:43 x11: fixed incorrect SDL_GetWindowPosition() after resize (thanks, Jason!). Fixes Bugzilla #3272.
Ryan C. Gordon 4f4c4b62 2016-09-29T22:52:41 Added SDL_SetWindowResizable(). (thanks, Ethan!)
Sam Lantinga 67bdbcca 2016-09-29T16:05:29 Implemented SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH on X11
Sam Lantinga d285af2a 2016-09-29T14:48:33 Added Windows support for SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH
Sam Lantinga a13da2fa 2016-09-29T13:34:49 Generalized the hint for whether the application gets a mouse event when clicking on the window to activate it, and is now named SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH. The behavior is defined to not receive the click event, and this hint allows you to override that.
Sam Lantinga 8ddb4328 2016-09-29T03:59:04 When clicking on a window to give it focus, don't pass the mouse click to the application.
Alex Szpakowski f31c7086 2016-09-25T15:02:06 Enable SDL_LoadObject on iOS 8+ and tvOS.
Alex Szpakowski 77bacfd7 2016-09-25T11:46:25 tvOS launch images are now properly supported.
Alex Szpakowski 40ecac8e 2016-09-25T00:21:12 Don't try to load a launch storyboard on tvOS (it doesn't use them).
Alex Szpakowski 666d3fec 2016-09-24T23:33:49 iOS/tvOS: Try to load the launch screen as a storyboard. Xcode 8 compiles it as a storyboard instead of a nib.
Alex Szpakowski 9165ba7e 2016-09-24T20:12:57 iOS/tvOS: Always send SDL_WINDOWEVENT_FOCUS_GAINED when a window is created on the main screen (fixes bug #3395).
Alex Szpakowski 450fa8cd 2016-09-24T18:46:34 Use OS-provided click counts on macOS and iOS for mouse press and release events.
Alex Szpakowski bac53941 2016-09-24T13:28:40 Fix mouse wheel events on macOS 10.12 (thanks Eric Wasylishen!) Fixes bug #3432
Brandon Schaefer 89c538a4 2016-09-21T18:23:59 Mir: Add gamma support set/get. Still need one more function to complete the set
Brandon Schaefer a729c4f9 2016-09-21T16:28:23 Mir: Add fixme (waiting for a public api to be added)
Brandon Schaefer 705ecf78 2016-09-21T15:57:15 [Mir] Move to the new MirDisplayConfig API
Sam Lantinga 29214826 2016-09-16T22:27:58 Fixed warning with Xcode 7.3.0
Alex Szpakowski 4bcce330 2016-09-15T21:49:29 tvOS: Add drop-file support
Alex Szpakowski f0505766 2016-09-13T22:18:06 Initial Apple TV / tvOS support. The Apple TV remote is currently exposed as a joystick with its touch surface treated as two axes. Key presses are also generated when its buttons and touch surface are used. A new hint has been added to help deal with deciding whether to background the app when the remote's menu button is pressed: SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.
Alex Szpakowski 86708c3c 2016-09-13T19:51:10 Enable more compiler warnings in the Xcode projects (based on Xcode 8's suggestion), made some integer downcasts explicit.
Sam Lantinga 00791f3a 2016-09-13T00:09:21 Only prevent the default browser event handling when the specific event types aren't disabled by the user, patch contributed by Jonas Platte
Charlie Birks 993dd835 2016-09-13T00:04:00 Add mapping for media keys
Alon Zakai 1b6565fc 2016-09-13T00:03:59 use Module.createContext for 2D rendering in emscripten
Alon Zakai bec55734 2016-09-13T00:03:58 add some detail to fullscreen workaround comment; version 6 Conflicts: version.txt
Charlie Birks 405d64b2 2016-09-13T00:03:56 only unset fullscreen flags if fullscreen failed
Charlie Birks c68cac89 2016-09-13T00:03:55 use screen resolution instead of canvas size
Boris Gjenero 791b946a 2016-09-13T00:03:54 Fix full screen mode in Firefox, which was broken by 9d4beb2
Boris Gjenero b71208d4 2016-09-13T00:03:53 Support SDL_SetWindowTitle() via Module['setWindowTitle']()
Jukka Jyl?nki 7cf44f1b 2016-09-13T00:03:51 Remove unused variable warning from Emscripten build in Emscripten_HandleFullscreenChange().
Boris Gjenero b54eb82c 2016-09-13T00:03:49 Unpress all keys on blur to avoid stuck keys
Boris Gjenero a0a75f38 2016-09-13T00:03:48 Listen for blur and focus events on window instead of canvas Blur and focus events were not arriving for the canvas in Firefox 35 and Chrome 40.
Boris Gjenero 3e5c4cec 2016-09-13T00:03:46 Mouse events use CSS coordinates, so don't scale by pixel_ratio
Boris Gjenero a20c40c4 2016-09-13T00:03:45 Accumulate subpixel mouse motion so motion is not lost. Previously when the canvas was scaled up and the pointer was locked, motion corresponding to less than one pixel was lost. Therefore, slow mouse motion resulted in no motion. This fixes that.
TelpeNight 443998ff 2016-09-13T00:03:44 Fix of mouse events in browser without pointer locks
Alon Zakai 2b367cb6 2016-09-13T00:03:43 optimize Emscripten_UpdateWindowFramebuffer - avoid creating contexts and images all the time - use set and then fix alpha directly
Charlie Birks 98ec8443 2016-09-13T00:03:39 send mouse move on enter/leave
Charlie Birks a2ef0db8 2016-09-13T00:03:37 listen for mouse up on document (fixes mouseup outside canvas)
Charlie Birks cd05184f 2016-09-13T00:03:36 use SDL_SetMouseFocus
Sam Lantinga bdca510f 2016-09-13T00:03:28 simplify fullscreen handling using new fullscreen_strategy api, patch contributed by Charlie Birks
Charlie Birks be08cc61 2016-09-12T23:58:08 use css size for touch normalisation
Sam Lantinga 1096f323 2016-09-09T15:12:09 Reverted previous commit which breaks game controller input processing.
Sam Lantinga 61c0f2cf 2016-09-08T20:38:23 Suggestion from Apple: use kCFRunLoopCommonModes which does more complete event processing
Ryan C. Gordon da1e3d69 2016-09-06T13:13:03 emscripten: special case to make SDL_ShowSimpleMessageBox() work. Browsers don't have the functionality to fully support the generic SDL_ShowMessageBox(), but this handles the likely most-common case. Without this, you'd return immediately with a proper error result and no UI, but probably no one checks that for SDL_ShowSimpleMessageBox. And if they did: what would they do to handle this anyhow? We'd need to lobby for an HTML spec of some sort that allows customizable message boxes--that block!--to properly support SDL message boxes on Emscripten, but this is probably Good Enough for now.
Sam Lantinga f11a4409 2016-09-01T01:26:56 wayland: Add support for relative mouse mode, by Jonas ?dahl <jadahl@gmail.com> Generate the C protocol files from the protocol XML files installed by wayland-protocols, and use them to implement support for relative pointer motions and pointer locking. Note that at the time, the protocol is unstable and may change in the future. Any future breaking changes will, however, fail gracefully and result in no regressions compared to before this patch.
Bastien Nocera 736a624d 2016-09-01T01:22:58 Wayland: Set "class" for each window we create This will be used by Wayland compositors to match the application ID and .desktop file to the SDL window(s). Applications can set the SDL_VIDEO_WAYLAND_WMCLASS environemnt variable early in the process to override using the binary name as a fallback. Note that we also support the SDL_VIDEO_X11_WMCLASS in the Wayland backend so that if a program correctly associated the desktop file with the window under X11, only a newer SDL would be needed for it to work under Wayland. https://bugzilla.libsdl.org/show_bug.cgi?id=3376
David Ludwig f5d43cf9 2016-08-31T12:52:55 WinRT: added an extra NULL pointer check for SDL_*ScreenSaver() backend code
Brandon Schaefer ebb05891 2016-08-30T12:58:00 Mir: Add mouse grab support (requires mir 0.24)
Philipp Wiesemann cf28727f 2016-08-30T21:14:52 Android: Fixed missing mouse motion events while button down (thanks, Sylvain!). Happened for real mouse if SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH was active. Fixes Bugzilla #3313.
David Ludwig 5020fe8f 2016-08-29T20:27:21 WinRT: added SDL_*ScreenSaver() support; fixed crash when restoring app from screensaver
Ryan C. Gordon 5bcf1d25 2016-08-28T19:06:31 cocoa: Fixed incorrect autorelease, noted by static analysis.
Ryan C. Gordon 2da1ec83 2016-08-28T13:36:13 Merge audio capture work back into the mainline.
David Ludwig 5150eb36 2016-08-20T13:46:45 WinRT: fixed bug where Win10 GameBar, when shown + hidden, might not restore a cursor's hidden state The repro steps were this: 1. run an sdl2 winrt/uwp app, on Win10, v10.0.10586.0 or higher 2. hide the cursor, via a call to SDL_ShowCursor(0) 3. make the Win10 game bar appear, by pressing the Windows + G hotkey 4. observe that the mouse cursor appears, in order to interact with the game bar (this is expected behavior) 5. make the Win10 game bar disappear, either by pressing the Windows + G hotkey again, or clicking somewhere in the app EXPECTED RESULT: cursor disappears, as game bar disappears ACTUAL RESULT: cursor didn't always disappear
Ryan C. Gordon d05ae194 2016-08-12T19:59:00 emscripten: send fake mouse events for touches, like other targets do. (This really should be handled at the higher level and not in the individual targets, but this fixes the immediate bug.)
Ryan C. Gordon 6f4bcd24 2016-08-11T22:22:09 audio: Renamed some internal driver symbols in various targets.
Philipp Wiesemann 82c94a3f 2016-08-03T22:32:20 PSP: Fixed memory leak if video init failed.
Philipp Wiesemann 9f97ee8a 2016-08-03T22:32:02 WinRT: Removed not needed SDL_zerop() after SDL_calloc(). SDL_calloc() already sets memory to zero.
Philipp Wiesemann 8d6cbdd2 2016-07-20T21:00:52 Pandora: Fixed memory leak in video implementation.
Philipp Wiesemann 53ac5712 2016-07-20T21:00:36 Pandora: Fixed compile warnings in video implementation (thanks, Bombo!). Fixes Bugzilla #2734.
Philipp Wiesemann 562926cd 2016-07-19T21:02:09 Pandora: Fixed SDL version in debug output.
Philipp Wiesemann d478f26e 2016-07-18T22:03:47 Updated comments in video implementations.
Philipp Wiesemann c8cd5c55 2016-07-18T22:02:17 Pandora: Fixed compile error in video implementation (thanks, Bombo!). Partially fixes Bugzilla #2734.
Brandon Schaefer eadb30cd 2016-07-13T07:07:08 MIR: Fix system cursors. Been broken since custom cursor support was added!
Philipp Wiesemann 495057b0 2016-07-09T22:06:00 Android: Added new key codes from API 24.
Alex Szpakowski d0bd0e48 2016-07-02T13:38:31 iOS: Fix an OpenGL ES error when rotating the device if MSAA is used (thanks Cole Campbell!) Fixes bug #3378.
Philipp Wiesemann 6ec5e640 2016-06-28T21:08:23 Fixed freeing strings created by strdup() with SDL_free(). This only worked on platforms where SDL_free() wraps free().
Philipp Wiesemann 2f016cf8 2016-06-26T21:08:57 Mac: Fixed crash if SDL_GetDisplayDPI() got NULL pointers for output parameters.
Jonas ?dahl 19d3500a 2016-06-23T18:39:05 wayland: Build own version of core protocol Since we are loading shared objects dynamically, build our own version of the core protocol symbols, so that we in the future can include protocol extensions.
Brandon Schaefer 4a339a46 2016-06-08T08:01:21 MIR: Add better error handling for a failed connection
Brandon Schaefer f0708fc9 2016-06-07T09:01:23 MIR: Support relative mouse mode
Alex Szpakowski ea2f5e59 2016-05-23T15:29:25 Windows: Fix other window positions/sizes being changed when exiting exclusive fullscreen (bug #3315, thanks Simon Hug!)
Alex Szpakowski 0a4085a0 2016-05-21T12:09:23 Mac: Fix a crash when SDL is compiled with SDL_MAC_NO_SANDBOX enabled, by increasing the stack size of the mouse tap thread back to OS X' default of 512 KB.
Alex Szpakowski 4a468739 2016-05-21T00:20:52 Removed Mac OS 10.5 support (bug #3137). Also fixed a warning about deprecated Carbon code when using SDL_audio (bug #3127, thanks Dominik!)
Philipp Wiesemann d4140ca4 2016-05-20T22:15:58 Windows: Fixed missing error message if SDL_GetDisplayDPI() failed.
Philipp Wiesemann d7b9d321 2016-05-20T22:15:28 X11: Fixed typos in error messages and source comments.
Philipp Wiesemann 81235118 2016-05-20T22:14:40 X11: Fixed missing error message if SDL_GetDisplayDPI() failed.
David Ludwig 441359bd 2016-05-14T23:29:49 WinRT: workaround a possible Windows bug, whereby hiding cursors, disables mouse-moved events This workaround, unfortunately, requires that apps directly link to a set of Win32-style cursor resource files (that contain a transparent cursor image). Copies of suitable resource files are in src/core/winrt/, and should be included directly in an app's MSVC project. A rough explanation of this workaround/hack, and why it's needed (and seemingly can't be done through programmatic means), is in this change's code.
Philipp Wiesemann e964d00f 2016-05-11T21:11:12 X11: Fixed SDL_GL_GetSwapInterval() returning -1 if interval is unknown. It should return 0 as a safe default if the interval can not be determined.
Philipp Wiesemann 748b0528 2016-05-11T21:10:41 EGL: Fixed SDL_GL_GetSwapInterval() returning -1 on error. It should return 0 as a safe default on errors. -1 is returned for late swaps.
Philipp Wiesemann bf7a7615 2016-05-10T21:14:36 Fixed missing error message if SDL_GetDisplayDPI() is unsupported.
David Ludwig 52fec6af 2016-05-07T21:41:59 WinRT: allow on-screen keyboard to be shown via SDL APIs, Win10/UWP only
Alex Szpakowski b15efce2 2016-05-01T21:41:30 Cocoa mouse code: Replaced NSPointInRect with NSMouseInRect (thanks Eric Wasylishen!) Fixes bug #3312.
Alex Szpakowski d3835026 2016-05-01T19:51:10 Mac: replaced a deprecated CGSetLocalEventsSuppressionInterval call that I missed in commit 2f72bdfee9bb
Philipp Wiesemann 31cbb34e 2016-04-14T21:11:43 Wayland: Removed not needed including and setting of errno. One internal function was setting errno on error but it was not read afterwards.
David Ludwig caf152de 2016-04-13T21:59:50 WinRT: build/link fix
Ryan C. Gordon 9b4db2b8 2016-04-12T18:11:36 Patched to compile on various platforms.
Ryan C. Gordon c61675dc 2016-04-12T16:45:10 threads: Move SDL's own thread creation to a new internal API. This allows us to set an explicit stack size (overriding the system default and the global hint an app might have set), and remove all the macro salsa for dealing with _beginthreadex and such, as internal threads always set those to NULL anyhow. I've taken some guesses on reasonable (and tiny!) stack sizes for our internal threads, but some of these might turn out to be too small in practice and need an increase. Most of them are simple functions, though.
Ethan Lee c3e48e71 2016-04-12T10:45:56 Force WM_PAINT events on window resize
Alex Szpakowski 34f095e0 2016-04-10T22:07:10 iOS: Fixed SDL_GL_CreateContext crashing instead of returning null when a GLES3 context is requested on iOS 6 and older.