src/video/SDL_video.c


Log

Author Commit Date CI Message
Alfred Reynolds 75529476 2014-07-30T17:45:52 SDL - fix re-entrancy into SDL_UpdateFullscreenMode under OSX. During HideWindow we get a RESTORED event which then turns fullscreen back on causing a hang in Cocoa_SetWindowFullscreenSpace waiting for the fullscreen transition to finish.
Ryan C. Gordon b29740b8 2014-06-25T17:06:12 Merged Ryan's SDL-gui-backend branch. Adds three APIs, and implements them on X11, Cocoa, and Windows: - SDL_CaptureMouse() - SDL_GetGlobalMouseState() - SDL_SetWindowHitTest()
Sam Lantinga afe14829 2014-06-25T00:43:10 Fixed bug 2556 - add compilation flag -Wshadow Sylvain here's the full patch for Blit + RLE.
Sam Lantinga d65ac778 2014-06-22T02:48:43 Restore window OpenGL state if creating an OpenGL renderer fails
Sam Lantinga b7b6d8ab 2014-06-22T02:30:36 Fixed crash initializing OpenGL ES renderer if OpenGL renderer fails
Sam Clegg 7e52722d 2014-06-20T11:10:16 Fix compiler warnings in Native Client and Linux builds.
Gabriel Jacobo 1e352d79 2014-06-06T15:45:59 Chrome's Native Client backend implementation
Sam Lantinga 4fd03b95 2014-06-04T10:57:52 Setting the window size changes the fullscreen display mode, unless a window display mode has been set. Testing: * Ran testsprite2 --fullscreen, used Ctrl+ and Ctrl- to change window sizes, verified that the display mode changed as well.
Sam Lantinga da6d9a9f 2014-06-04T10:56:56 Added annotations to help code analysis tools CR: Bruce Dawson
Sam Lantinga 4750fe73 2014-06-04T10:56:37 When the window fullscreen mode changes, update the display resolution
Ryan C. Gordon 98c03f39 2014-05-28T01:22:47 Changed drag area API to a hit-testing API. There were several good arguments for this: it's how Windows works with WM_NCHITTEST, SDL doesn't need to manage a list of rects, it allows more control over the regions (how do you use rects to cleanly surround a circular button?), the callback can be more optimized than a iterating a list of rects, and you don't have to send an updated list of rects whenever the window resizes or layout changes.
Ryan C. Gordon 3cbc83ef 2014-05-27T01:27:42 First shot at SDL_SetWindowDragAreas(). Only Cocoa implemented right now.
Ryan C. Gordon b7d2c0e9 2014-05-24T01:30:37 Implemented SDL_CaptureMouse().
Ryan C. Gordon 846a3e07 2014-05-24T01:27:19 Added some FIXMEs.
Sam Lantinga 5439f9dd 2014-04-17T20:15:44 Fixed window losing the SDL_WINDOW_FOREIGN flag if something tries to recreate it.
David Ludwig 3dcb451f 2014-04-09T21:29:19 Added a README file regarding WinRT support To note, this file is currently formatted with CRLF line endings, rather than LF, to allow the file to be viewed with Notepad.
Ryan C. Gordon 17a8d293 2014-03-26T16:19:52 Changed a C++ single-line comment to /* */ style.
Pierre-Loup A. Griffais 833cfe53 2014-03-26T12:54:51 Remove the RaiseWindow call from OnWindowRestored for now. It seems like a net improvement in all the scenarios Sam and I could think of, and looking at hg history it was added for fullscreen window management specifically. Much of that code has changed since then, but maybe it needs to stay there for that and simply be moved to a fullscreen condition check. It would solve this issue: https://bugzilla.libsdl.org/show_bug.cgi?id=2439 As well as cases where on SteamOS, we hide/show specific Steam overlay windows while expecting them to stay in the background, since changing the window stacking order really angers the NVIDIA driver. CR: Sam.
David Ludwig 119dff55 2014-03-23T22:07:01 WinRT: Implemented SDL_ShowMessageBox for Windows 8.x/RT hosts This change does not include message box support for Windows Phone 8, which does not offer the same message box APIs that Windows 8.x/RT does.
Ryan C. Gordon 3aae0ed2 2014-03-20T16:54:20 Static analysis fix: uninitialized data. (This is Clang not knowing that SDL_SetError() always returns -1.)
Ryan C. Gordon d7a253b5 2014-03-20T16:25:30 Static analysis fix: uninitialized data. (Clang doesn't know that "_this" was already checked for NULLness elsewhere.)
Ryan C. Gordon b99a6253 2014-03-20T11:14:02 Static analysis fix: let clang know _this->displays isn't NULL.
Sam Lantinga f9a58968 2014-03-13T21:21:26 Added missing copyright notices
Sam Lantinga 28398109 2014-03-10T18:45:07 Fixed regression causing the renderer to recreate its window since it's not getting an OpenGL 2.1 context anymore.
Ryan C. Gordon 89648a9a 2014-03-10T00:01:14 Drop the default requested OpenGL version to 1.2. Fixes default context creation on Mac OS X <= 10.6.
Sam Lantinga 1367bf87 2014-03-09T11:36:47 Integrated David Ludwig's support for Windows RT
Sam Lantinga 05c23063 2014-03-09T11:06:11 Fixed line endings on WinRT source code
Sam Lantinga e663b4eb 2014-03-01T09:50:52 Fixed bug 2423 - timeBeginPeriod & timeEndPeriod mismatch Coriiander In src\timer\windows\SDL_systimer.c there is an error with regards to timeBeginPeriod and timeEndPeriod. These functions typically get called when no high resolution timer is available, and GetTickCount is not used. According to MSDN (link: http://msdn.microsoft.com/en-us/library/windows/desktop/dd757624(v=vs.85).aspx), for every call to timeBeginPeriod a subsequent call to timeEndPeriod is required. While SDL is currently doing this, it fails to call timeEndPeriod when cleaning up/shutting down SDL. Please note that these functions affect things on a system level. Failing to call timeEndPeriod, disables applications for using WINMM-timers after usage&shutdown of SDL, as effectively they the mechanism is now broken. Solution: Ensure this code gets called when shutting down the timer subsystem: #ifndef USE_GETTICKCOUNT if (!hires_timer_available) { timeSetPeriod(0); } #endif
Sam Lantinga e56bbe3f 2014-02-28T14:23:41 Added a hint to enable the screensaver by default
Ryan C. Gordon ac32352f 2014-02-27T22:06:41 Disable the screensaver by default. Fixes Bugzilla #2218.
Ryan C. Gordon 19f8c622 2014-02-02T23:41:46 Added Mir video target (thanks, Brandon!).
Sam Lantinga 58edac3e 2014-02-02T00:53:27 Fixed bug 2374 - Update copyright for 2014... Is it that time already??
J?rgen P. Tjern? 338bf9cc 2014-01-29T18:38:13 Add SDL_GL_ResetAttributes.
Gabriel Jacobo cf9828a2 2014-01-20T20:25:43 Move Wayland driver above dummy, check for driver availability before creation
J?rgen P. Tjern? 12e7fdcb 2014-01-15T11:34:03 Don't minimize fullscreen windows when destroying them. Previously, we'd minimize fullscreen windows (if SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS was set) during SDL_DestroyWindow if they had keyboard focus, because we call SDL_SetKeyboardFocus(NULL) which yields a OnWindowsFocusLost event. Related to https://bugzilla.libsdl.org/show_bug.cgi?id=1840
J?rgen P. Tjern? a0c9e649 2014-01-15T11:17:09 Allow switching between FS and desktop FS. This should fix bug #2057 (https://bugzilla.libsdl.org/show_bug.cgi?id=2057)
Sam Lantinga 2521e497 2013-12-23T17:55:06 Setting the mouse in relative mode implies grabbing the mouse. This fixes getting mouse button events in raw input relative mode on X11.
Sam Lantinga 7aef2350 2013-12-23T17:37:22 Added a relative mouse mode that uses mouse warping instead of raw input. To enable this, set the environment variable SDL_MOUSE_RELATIVE_MODE_WARP to "1" When mouse relative mode is disabled, put the cursor back where the application expects it to be, instead of where it was when relative mode was enabled.
Gabriel Jacobo ec1cb49e 2013-12-14T20:18:43 Wayland support Based on the original port to Wayland by: Joel Teichroeb, Benjamin Franzke, Scott Moreau, et al. Additional changes in this commit, done by me: * Wayland uses the common EGL framework * EGL can now create a desktop OpenGL context * testgl2 loads GL functions dynamically, no need to link to libGL anymore * Assorted fixes to the Wayland backend Tested on the Weston Compositor (v1.0.5) that ships with Ubuntu 13.10, running Weston under X. Tests ran: testrendercopyex (all backends), testgl2, testgles2,testintersections
Gabriel Jacobo f848adff 2013-11-29T10:06:08 Improve Android pause/resume behavior.
David Ludwig 46740a5a 2013-11-28T22:09:21 WinRT: merged with latest SDL 2.x/HG code SDL 2.x recently accepted patches to enable OpenGL ES 2 support via Google's ANGLE library. The thought is to try to eventually merge SDL/WinRT's OpenGL code with SDL-official's.
Sam Lantinga 2bb344d6 2013-11-27T10:29:27 Don't crash when no WM is present. CR: Sam Lantinga.
Ryan C. Gordon 7e1289af 2013-11-24T23:56:17 Make internal SDL sources include SDL_internal.h instead of SDL_config.h The new header will include SDL_config.h, but allows for other global stuff.
Ryan C. Gordon 00003e8c 2013-11-14T11:51:24 Renamed things named after BeOS to be named after Haiku instead.
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 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 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 6ec3e690 2013-11-11T01:59:40 Fixed whitespace style
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.
David Ludwig 749117ac 2013-11-04T19:54:29 WinRT: added experimental OpenGL ES 2.0 support A port of the ANGLE library (OpenGL ES 2.0 for Direct3D) to WinRT, via https://github.com/stammen/angleproject, is used as a base. To enable, clone 'angleproject' into the directory one above where SDL/WinRT is, open the file SDL/include/SDL_config_winrt.h, and uncomment the #defines that begin with 'SDL_VIDEO_OPENGL'. From there, apps can create an OpenGL capable SDL_Window via the flag, SDL_WINDOW_OPENGL, and an OpenGL ES 2 context via SDL_GL_CreateContext. The Direct3D 11.1 renderer cannot be used alongside SDL_WINDOW_OPENGL. Only Windows 8/8.1 is supported for now. Shaders may need to be precompiled, in some (all?) cases.
David Ludwig 69c5d21d 2013-10-27T21:26:46 WinRT: merged with SDL 2.0.1 codebase
Sam Lantinga 360c3d85 2013-10-21T00:15:24 Better cleanup if OpenGL initialization fails
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.
Ryan C. Gordon 0e699eb5 2013-10-20T21:18:05 Added SDL_GL_FRAMEBUFFER_SRGB_CAPABLE (thanks, David!). Fixes Bugzilla #1985.
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.
Gabriel Jacobo 9ceed73d 2013-09-28T13:28:19 Raspberry Pi support (also unified UDEV and EVDEV support)
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 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
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
Sam Lantinga e07d7e64 2013-08-29T08:30:21 Christoph Mallon: Replace strlen(x) == 0 (O(n)) by x[0] == '\0' (O(1)).
Sam Lantinga 3e2930de 2013-08-29T08:29:51 Christoph Mallon: Remove pointless if (x) before SDL_FreeSurface(x)
Sam Lantinga f79fc33a 2013-08-29T08:29:21 Christoph Mallon: Remove pointless if (x) before SDL_free(x)
Gabriel Jacobo 64e6eeac 2013-08-25T11:48:49 Fixes "error: conflicting types for 'GLintptr'"
Gabriel Jacobo 63fe3a77 2013-08-20T19:49:24 Fixes a few non C89 compliant comments
Gabriel Jacobo 0eeb76d8 2013-08-19T16:29:46 Fixes bug #2037, common EGL code for Android and X11
David Ludwig f7049b93 2013-08-12T22:29:55 WinRT: merged with SDL 2.0.0 codebase (aka. SDL hg rev d4ce48ff30d1)
Gabriel Jacobo dad42067 2013-08-12T11:13:50 Fixes #2022, do not resume on Android when surfaceChanged If the app is in landscape mode and the user presses the power button, a pause is followed immediately by a surfaceChanged event because the lock screen is shown in portrait mode. This triggers a "false" resume. So, we just pause and resume following the onWindowFocusChanged events. Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before blocking the event pump.
Sam Lantinga 1ad936eb 2013-08-11T19:56:43 Fixed bug 2027 - Full-screen appears to be broken - hang in SDL_DestroyWindow() Rainer Deyke I'm running Linux Mint 15 with the Cinnamon window manager. SDL_DestroyWindow consistently locks up for me when the window if fullscreen.