src/video


Log

Author Commit Date CI Message
Sam Lantinga 4295a92f 2013-11-14T22:26:49 Fixed bug 2240 - On OS/X after calling SDL_SetWindowBordered right mouse clicks no longer register philhassey On OS/X after calling SDL_SetWindowBordered right mouse clicks no longer register. Steps to Reproduce: 1. Open a windowed window on OS/X. (With the border on.) 2. e.button.button will give values 1,2,3 depending on which mouse button I click. 3. Call SDL_SetWindowBordered to disable the border. 4. e.button.button will only give values 1,2. 3 (right mouse button) stops coming through. Expected result: I expect all mouse buttons to register.
Gabriel Jacobo 35915d4f 2013-11-14T20:14:02 Clean up the EGL related video backends (X11, Android, RPi)
Ryan C. Gordon e899f0c4 2013-11-14T14:42:20 Haiku: fixed uninitialized variable.
Ryan C. Gordon 00003e8c 2013-11-14T11:51:24 Renamed things named after BeOS to be named after Haiku instead.
Gabriel Jacobo 5b8b403e 2013-11-13T11:18:37 [Windows] Fixes bug #1555, handle ALT+F4 on Windows
Sam Lantinga 397f5a85 2013-11-12T02:18:52 Retain the high dpi flag when recreating the window (e.g when creating a renderer context)
Sam Lantinga 12961352 2013-11-12T02:04:12 Fixed build error with SDK < 10.7
Sam Lantinga 253b9ba8 2013-11-12T02:02:12 We still want to generally minimize on focus loss, but not when we're in a fullscreen space on Mac OS X.
Sam Lantinga 75145ea0 2013-11-12T01:52:54 Added a hint SDL_HINT_VIDEO_FULLSCREEN_SPACES to specify that windows go fullscreen into their own spaces on Mac OS X.
Sam Lantinga 5f8a0b18 2013-11-12T00:32:29 Fullscreen space naming cleanup to avoid confusion with normal fullscreen mode
Sam Lantinga 7459b159 2013-11-11T23:42:43 Made sure the window had the correct border when manually being brought back from fullscreen mode.
Sam Lantinga cb190b82 2013-11-11T22:43:05 Fixed assertion when quickly toggling from fullscreen back to fullscreen: "Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'backgroundWindows not nil in enterFullScreenTransitionWithOptions:animated:activatingIt:'" To reproduce this, run testsprite2, press Alt-Enter once, again while it's animating to fullscreen, and then again while it's animating out of fullscreen.
Sam Lantinga 8f8070db 2013-11-11T21:38:11 Fixed window resizing when entering and leaving fullscreen mode
Sam Lantinga 7cf76ffb 2013-11-11T21:21:18 Fixed assertion failure when minimizing a fullscreen window.
Sam Lantinga 75a23d99 2013-11-11T20:51:19 Fixed bug 2212 - SDL_SetTextInputRect has no effect on iOS philhassey Overview: While SDL_SetTextInputRect works perfectly to move my window out of the way of the virtual keyboard using SDL2/Android, on iOS this function has no effect. Steps to Reproduce: Call SDL_SetTextInputRect with a rect near the bottom of the screen before calling SDL_StartTextInput. Actual Results: The iOS virtual keyboard is displayed after calling SDL_StartTextInput, but the screen is not shifted to reveal the TextInputRect region. Expected Results: The screen should be shifted to reveal the TextInputRect region (like with SDL2/Android.) This patch implements SDL_SetTextInputRect for uikit/iOS. It sets up notification handlers to respond to changes in the display of the keyboard. These handlers then change the frame of the view so it is moved out of the way of the keyboard as per SetTextInputRect.
Sam Lantinga cb31a80d 2013-11-11T20:42:59 Properly handle toggling fullscreen state when another fullscreen state change is in progress.
Gabriel Jacobo 819148a8 2013-11-11T19:17:32 [X11] Fix up compilation when EGL headers are not present.
Sam Lantinga f0692d65 2013-11-11T03:29:11 Fixed compiling with older Mac OS X SDK
Sam Lantinga 2384ad5b 2013-11-11T03:12:50 Fixed compiling with ISO C90
Sam Lantinga 2ceeb74e 2013-11-11T03:02:42 Don't minimize by default when in fullscreen desktop mode. This fixes behavior with the new Mac OS X fullscreen space code, as well as improve behavior on Linux desktops. The default for normal fullscreen mode is still to minimize because we're likely doing a mode switch and don't want to stick around as a borderless window in the background.
Sam Lantinga 4c1322f6 2013-11-11T02:53:00 Added support for new style fullscreen transitions on Mac OS X
Sam Lantinga 6ec3e690 2013-11-11T01:59:40 Fixed whitespace style
Sam Lantinga 893afbaf 2013-11-10T19:19:44 Fixed pool memory leak
Sam Lantinga b30e396b 2013-11-10T17:56:07 Fixed bug 1965 - Mac: dead code for supporting OS 10.4 Alex Szpakowski The new patch removes all the truly obsolete code I could find. I tested on OS 10.8 and OS 10.5.
Sam Lantinga 5821466c 2013-11-10T17:40:35 Fixed bug 2176 - SDL_CreateWindow(w=INT_MAX, h=INT_MAX) causes program to hang Catch exceptions generated when trying to create a Cocoa window.
Gabriel Jacobo 15a3bbcb 2013-11-10T20:38:50 [X11] Ignore both NotifyGrab and NotifyUngrab modes in FocusIn/FocusOut events
Sam Lantinga 9228c845 2013-11-10T14:48:44 Fixed issue with dead key press/release events being filtered out.
Sam Lantinga 0d39d090 2013-11-10T14:33:01 Hopefully fixed focus problems when handling a global hotkey on X11. See this thread for details: https://bugzilla.mozilla.org/show_bug.cgi?id=578265
Sam Lantinga e19f15dd 2013-11-10T14:10:00 Fixed bug 2067 - Window size limit calculation issue when exiting fullscreen on Windows Also fixed minimize and maximize state detection for Windows.
Philipp Wiesemann aa337980 2013-11-10T14:50:37 Added a new unused key code from Android 4.4 (API 19).
Sam Lantinga 550676d0 2013-11-09T00:56:05 Fixed signed/unsigned warning
Sam Lantinga 976c8769 2013-11-08T14:05:23 Fixed bug 2172 - Window loses maximized state when activated I still haven't figured out why my application is being minimized when I try to raise, it but my previous workaround is causing issues. For now the correct way to raise and/or restore the window is as follows: if ( !(SDL_GetWindowFlags( window ) & SDL_WINDOW_MINIMIZED) ) { SDL_RaiseWindow( window ); } if ( SDL_GetWindowFlags( window ) & SDL_WINDOW_MINIMIZED ) { SDL_RestoreWindow( window ); } I will investigate the window state change rules more fully in the future. CR: Alfred Reynolds
Sam Lantinga faebe94c 2013-11-08T14:05:08 Mac: Fix a crash with SDL_MAC_NO_SANDBOX. When we get a kCGEventTapDisabledByTimeout or kCGEventTapDisabledByUserInput, the event tap would perform an invalid memory access. void pointers are so fun. This code only runs if you explicitly build with SDL_MAC_NO_SANDBOX.
Sam Lantinga 621c7f8f 2013-11-08T14:04:51 Added SDL_HINT_CTRL_CLICK_EMULATE_RIGHT_CLICK hint which controls whether ctrl+click should emulate a right click on OSX.
Sam Lantinga 493fadd5 2013-11-08T14:04:35 Fixed spot where SDL was assuming that two displays having the same origin means they're the same display. Changed it to check for the same extents instead. (Sam actually wrote this, I'm just reviewing and checking it in.)
Sam Lantinga 95c67ed9 2013-11-07T19:15:58 Fixed bug 2219 - BMP loader do not handle big BITMAPINFOHEADER structure Patrice Mandin I encountered a problem trying to load a 8-bit paletted BMP file using SDL. This file was generated using GIMP 2.8. It has a big BITMAPINFOHEADER (0x6c bytes for biSize field), and thus the palette is incorrectly setup.
Sam Lantinga 48e44f7f 2013-11-06T23:59:24 Fixed Windows compile error
Sam Lantinga 3b050fc9 2013-11-06T23:35:08 Horizontal wheel support in windows Lorenzo Pistone this patch adds support for the horizontal wheel in Windows. It is shamelessly copied off the vertical wheel code, but I guess that that is a value added in consistency.
Gabriel Jacobo 22770a8f 2013-11-06T11:23:24 [Android] Fixes Bug 2041 - can't get SDL_QUIT event... Thanks to Denis Bernard! Also, changed the Android manifest so the app doesn't quit with orientation changes, and made testgles.c exit properly on Android.
Sam Lantinga f2224e1f 2013-11-03T09:55:27 Fixed bug 1990 - focus/keyboard events not generated correctly for multiple windows Mai Lavelle I've recently tried to create multiple windows and process key events for them, and found that key events weren't being generated for most of the windows. After some investigating I've observed the following effects. All but the most recently created window experience these effects... - a focus lost event is generated immediately after the focus gained event, even tho window still has focus - key events report window id 0 rather than the id of the window which has focus, SDL thinks no window has focus? - giving focus to a non SDL window and then selecting an SDL window causes events to be generated as expected, but only until focus changes again Focus change events are queued and delayed (200 ticks) before they are dispatched. The problem occurs when a focus out and focus in event are received on the same tick. When these delayed events are dispatched they will be sent in the order determined by the window list rather than the order in which they are received. The focus out dispatch is implemented by calling SDL_SetKeyboardFocus(NULL). This will remove focus from any window, regardless of whether it is the one originally targeted by the X11 event. Since SDL_SetKeyboardFocus() will always dispatch a focus lost event as needed, the easiest solution is simply to only call SDL_SetKeyboardFocus(NULL) when SDL_GetKeyboardFocus() matches the target window.
Philipp Wiesemann 0f8d9995 2013-11-02T11:42:00 Corrected typo in source comment.
Gabriel Jacobo e651ab12 2013-10-31T10:02:21 Fixes Bug #2191,incorrect test for egl_context validity Thanks David Binderman!
Ryan C. Gordon d36c7363 2013-10-28T22:43:39 Updated GL version tests for Mac OS X 10.9 ("Mavericks"). They changed the name of their GL 3.2 enum, added the GL 4.1 core profile.
Pierre-Loup A. Griffais e0771482 2013-10-23T13:43:17 Fix regression causing crashes when running without a window manager.
Sam Lantinga 298d3d62 2013-10-22T21:54:52 Fixed duplicate const warning
Sam Lantinga bcf5472d 2013-10-21T02:37:03 Fixed bug 2073 - Mac: window moves unexpectedly when exiting SDL_WINDOW_FULLSCREEN_DESKTOP mode Alex Szpakowski In Mac OS X, when SDL_SetWindowFullscreen(window, 0) is called on a window which was in SDL_WINDOW_FULLSCREEN_DESKTOP mode, its original size is restored but its position is moved to the bottom of the screen. I tracked down the issue to these two lines: http://hg.libsdl.org/SDL/file/fdd5cc9e9f90/src/video/cocoa/SDL_cocoawindow.m#l1034 I believe [nswindow setFrameOrigin:rect.origin] implicitly calls [nswindow constrainFrameRect:rect toScreen:screen], which will attempt to constrain the window to the screen, but at that point the window size is still full-screen rather than the restored window size, so the constrainFrameRect function operates on the wrong window size. https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/NSWindow_Class/Reference/Reference.html#//apple_ref/occ/instm/NSWindow/constrainFrameRect:toScreen: I resolved the issue by swapping the order of the function calls, like so: [nswindow setContentSize:rect.size]; [nswindow setFrameOrigin:rect.origin];
Sam Lantinga b8b9bfbe 2013-10-21T01:16:16 Fixed some warnings building for 64-bit Windows
Sam Lantinga 80930559 2013-10-21T00:25:43 Fixed bug 2012 - Algorithm logic getting wrong in ComputeOutCode Nitz I was going through the SDL_IntersectRectAndLine function and wondered to see the ComputeOutCode function implementation. The problem in this algo is, x and y axis are getting check with respect to 0, Which is wrong, it should be get checked with respect to rectangle x and y axis.
Sam Lantinga 360c3d85 2013-10-21T00:15:24 Better cleanup if OpenGL initialization fails
Sam Lantinga f8c11bb9 2013-10-20T23:05:53 Fixed the status bar visibility in iOS 7
Sam Lantinga 08fa8da7 2013-10-20T21:56:15 Fixed bug 2129 - fix for bug 2121 breaks linking for mingw and throws multiple warnings Andreas Ertelt The problem in question is caused by changeset 7771 (http://hg.libsdl.org/SDL/rev/5486e579872e / https://bugzilla.libsdl.org/show_bug.cgi?id=2121) The redefinition of __inline__ (introduced by the addition of begin_code.h:128's "|| __STRICT_ANSI__") results in mingw's gcc throwing multiple warning: always_inline function might not be inlinable [-Wattributes] as well as a whole bunch of redefinitions of mingw internals which break linking of projects including the SDL2 headers.
Sam Lantinga f5fa492e 2013-10-20T20:42:55 Added a macro SDL_TICKS_PASSED() to correctly compare two 32-bit tick values. Went through the code and used the macro and fixed a couple places that were using incorrect timestamp comparisons.
Ryan C. Gordon 0e699eb5 2013-10-20T21:18:05 Added SDL_GL_FRAMEBUFFER_SRGB_CAPABLE (thanks, David!). Fixes Bugzilla #1985.
Ryan C. Gordon d1bde399 2013-10-20T20:24:00 Backed out changeset 737771c47c6f, done testing Buildbot changes.
Ryan C. Gordon df368084 2013-10-20T20:02:02 Intentionally breaking Windows and Raspberry Pi builds to test Buildbot change.
Sam Lantinga a25b5192 2013-10-20T09:58:37 Fixed compiling with the new X11 symbol wrapping
Stefanos Apostolopoulos 6a3478c2 2013-10-20T17:23:43 Fix bug 1300 by querying current border size in ConfigureNotify, and adjusting window coordinates accordingly.
Ryan C. Gordon b4a00144 2013-10-18T10:56:45 Fixed the XInput2 X11 symbols.
Sam Lantinga 379c0054 2013-10-18T00:47:22 Fixed bug 2123 - SDL_BlitScaled crashes in src/video/SDL_blit_N.c:2145 We need to reset the blit function when switching between scaled and unscaled blits.
Sam Lantinga 888d807a 2013-10-17T23:05:40 Removed redundant #ifdef
Sam Lantinga 12ca3ce3 2013-10-17T23:02:29 Fixed building using MinGW Our SDL_windows.h needed to be included before anything else so UNICODE is defined.
Ryan C. Gordon a2bd8970 2013-10-18T01:36:41 Don't supply duplicate X11 symbols inside SDL. Fixes static linking when something else also uses X11.
Sam Lantinga 14e13e13 2013-10-17T17:38:55 Fixed compiler warning if dynamic X11 loading isn't enabled.
Sam Lantinga 7db31223 2013-10-17T17:37:23 Fixed using the wrong variable when reporting a missing SDL scancode mapping.
Sam Lantinga 6435a82d 2013-10-14T09:12:30 Backed out revision fb5ab0e91c56, the platform specific messagebox functions don't have the right prototype since they're designed to be used standalone.
Sam Lantinga 4b603abf 2013-10-14T08:56:55 For some reason, trying to raise the window programmatically while it's alt-tabbed away will minimize it. Added a workaround for this.
Sam Lantinga fea2699c 2013-10-14T08:56:50 Fixed the windows message debug output so it works without HAVE_LIBC
Sam Lantinga 8ec3ba38 2013-10-13T19:59:40 Fixed accumulating mouse wheel motion for the Microsoft Wireless Mouse 5000
Gabriel Jacobo 074a1c4c 2013-10-12T16:29:34 Fixes X11 video backend compilation when no GL is available For example, in our Raspberry Pi sysroot.
Ryan C. Gordon f7e0a9b2 2013-10-10T02:21:41 Patched to compile in C90 mode.
Gabriel Jacobo d0fddfab 2013-10-10T00:30:03 Fixes Bug 2134 - [Android] Black screen after resume (sometimes)
J?rgen P. Tjern? 2568a367 2013-10-07T16:01:40 Mac: Better handling when someone else is the app delegate.
J?rgen P. Tjern? c455f729 2013-10-07T14:16:38 Fix SDL_SetWindowPosition on fullscreen windows. This reverts http://hg.libsdl.org/SDL/rev/7cdeb64faa72 and fixes it in the correct way. If you call SDL_SetWindowPosition on a fullscreen window, it would update the x & y variables for the window, but not actually move the window (since it was fullscreen). That would make the internal state of the SDL_Window incorrect, causing SDL_WarpMouseInWindow to offset incorrectly. This makes it so SDL_SetWindowPosition updates the `windowed' x & y coordinates, which take effect when you revert from fullscreen.
Sam Lantinga 11c45c4e 2013-10-06T13:50:36 Removed unused variables (thanks Joseph!)
Philipp Wiesemann 0db36f51 2013-10-05T17:08:19 Added detection of touch devices before first touch events happen on Android. On Android available touch devices are now added with video initialization (like the keyboard). This fixes SDL_GetNumTouchDevices() returning 0 before any touch events happened although there is a touch screen available. The adding of touch devices after a touch event was received is still active to allow connecting devices later (if this is possible) and to provide a fallback if the new init did not work somehow. For the implementation JNI was used and API level 9 is required. There seems to be nothing in the Android NDK's input header (input.h) to implement everything on C side without communication with Java side.
Ryan C. Gordon 5607cc45 2013-10-05T00:29:57 Avoid redundant state changes in the GLES2 renderer.
Gabriel Jacobo 9c489c7c 2013-10-04T08:23:37 Fix EGL/OpenGL ES paths
Sam Lantinga 8fbd7dc7 2013-10-03T00:54:58 Fixed bug 2130 - Two members of Windows WindowData not initialized norfanin SetupWindowData in SDL_windowswindow.c doesn't initialize two members of SDL_WindowData with NULL. This is an issue because other parts of the SDL code seem to make the assumption that this is the case. WIN_DestroyWindowFramebuffer for example uses data->mdc and data->hbm if they're not NULL.
Ryan C. Gordon ce45fa28 2013-10-02T22:18:04 SDLK_DELETE should probably be SDLK_BACKSPACE on iOS. The key on the software keyboard works like backspace, at least. Not sure what happens with a bluetooth keyboard here.
Sam Lantinga 69a4351e 2013-09-30T22:35:32 Fixed bug 2121 - GCC throws error on SDL_FORCE_INLINE when compiling with -ansi
Gabriel Jacobo 889b6bd7 2013-09-28T19:23:59 Removes unused property use_egl from internal structure gl_config
Sam Lantinga 9f390e79 2013-09-28T14:06:59 Moved SDL_Direct3D9GetAdapterIndex() to SDL_windowsvideo.c since it doesn't belong in the window code.
Sam Lantinga b6be1435 2013-09-28T14:06:20 Moved D3D_LoadDLL and SDL_Direct3D9GetAdapterIndex to SDL_windowswindow.c at Jorgen's insistence. That file is wrapped in a more appropriate define check so it will work if somebody builds a binary without D3D support. Added a reference to SDL_Direct3D9GetAdapterIndex to SDL_test_common.c so SDL will fail to compile if the new symbol isn't included properly. CR: Jorgen
Gabriel Jacobo 9ceed73d 2013-09-28T13:28:19 Raspberry Pi support (also unified UDEV and EVDEV support)
Philipp Wiesemann 90afb94e 2013-09-28T12:48:26 Corrected name of SDL_Color field from unused to a.
Sam Lantinga 8b6ad7ff 2013-09-27T23:47:57 Fixed bug 2101 - CWBackPixel causes weird window flickering on window resize aBothe I tried to experiment a bit with SDL2 and OpenGL today and noticed that something caused some weird flickering when resizing my nicely drawn SDL2/OpenGL window: Just after resizing, the background went black and I had to let my OpenGL code redraw the contents.. However, after some hours spent with googling I found out that in OpenGL examples where this CWBackPixel flag was not used when creating X windows, there was no flickering while resizing the window. See http://www.sbin.org/doc/Xlib/chapt_04.html @ "The Window Background" for more info.
Sam Lantinga b9567776 2013-09-27T23:35:17 # User Darren Salt <devspam@moreofthesa.me.uk> # Date 1379621782 -3600 # Thu Sep 19 21:16:22 2013 +0100 Work around a false-positive in the X11 mouse wheel code This false positive occurs when one particular button on my mouse is pressed. The kernel which I'm using is patched to cause a release event to be synthesised immediately when the mouse says that this button is pressed because the mouse doesn't signal release until the button is next pressed. (Also documents a false negative, observed with the horizontal scroll wheel on the same mouse.)
Sam Lantinga c95761e0 2013-09-27T23:29:05 Fixed bug 2100 - directfb fails to build
Sam Lantinga 0103bc0b 2013-09-27T22:09:51 Default to OpenGL ES 2.0 instead of 1.0 when it's available.
Edward Rudd 869a7076 2013-09-20T13:43:00 add in High DPI support (aka Retina) - based on J?rgen's patch with a few bug fixes
Sam Lantinga d3d6f9ad 2013-09-14T11:25:52 Fixed syntax error in C style block comment.
Ryan C. Gordon bfe1b1d0 2013-09-14T01:30:57 Don't incorrectly report success for negative swap intervals on Mac OS X.
Sam Lantinga fae4190d 2013-09-13T17:42:46 Added SDL_Direct3D9GetAdapterIndex(), which returns the adapter index you would pass into CreateDevice to get your device on the right monitor in full screen mode. This fixes the default adapter in SDL_render_d3d.c, which means that tests will work fullscreen off the main monitor now. CR: Sam
Sam Lantinga 49d64d52 2013-09-13T17:42:38 Fix X11_RestoreWindow() and X11_RaiseWindow() to properly do window activation. X11_RestoreWindow() had a call ordering problem that prevented activation, and X11_RaiseWindow() wasn't attempting activation. Windows and OS X both activate in these cases. CR: saml
Sam Lantinga 67c02a28 2013-09-13T17:42:31 Mac: Translate Ctrl-Left click to right click.
Sam Lantinga e231d5b4 2013-09-13T17:41:17 Mac: Turn off momentum-based scrolling.
Sam Lantinga 37509cf3 2013-09-13T17:40:41 Mac: Fix cast warning.
pgriffais a9166450 2013-09-10T18:25:13 [SDL] X11+GL: Allow Visual override for GL windows. SDL provides an SDL_VIDEO_X11_VISUALID environment variable that lets you override window visuals, but it wasn't being checked for OpenGL windows. CR: Sam.
Ryan C. Gordon b63d11ce 2013-09-04T23:40:11 The SDL_PixelFormat* passed to SDL_ConvertSurface() should be const.
Gabriel Jacobo ace1e98a 2013-08-29T15:02:32 Fixes bug #2040, prepare SDL_GL_CONTEXT_EGL for deprecation on v2.1 SDL_GL_CONTEXT_EGL = 1 is now internally treated as profile_mask = SDL_GL_CONTEXT_PROFILE_ES