Commit graph

8736 commits

Author SHA1 Message Date
Ryan C. Gordon
b8b82c170e Added SDL_DROPTEXT event, for dragging and dropping string data.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.

--HG--
extra : histedit_source : e662a1d2d2a9bba6a75c799d9f7228303d654de1
2016-01-05 02:26:45 -05:00
Ryan C. Gordon
6a3cfbf68f Added SDL_GetDisplayUsableBounds().
--HG--
extra : histedit_source : 3c9c2d344e3e3ff20bd86035066b65810346ac3e
2016-01-04 23:52:40 -05:00
Ryan C. Gordon
4aa26b888f x11: Optimize SDL_GetGlobalMouseState() a little.
Use XInput2 to mark the global mouse state as dirty so we don't have to make
a bunch of roundtrips to the X server when nothing has changed.

--HG--
extra : histedit_source : f78011dde9ebf0fa20039df2ac19ee6cb2c4defa
2015-04-22 16:50:48 -04:00
Ryan C. Gordon
2eef453e66 x11: window managers might mark windows as FULLSCREEN _and_ MAXIMIZED.
This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.

--HG--
extra : histedit_source : c6a80f7a21cca9f90f3310127b24e7ff0ec03238
2015-04-21 10:14:17 -04:00
Ryan C. Gordon
89d34883fe x11: Workaround window managers that mark fullscreen windows as maximized.
This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.

--HG--
extra : amend_source : 121efd21a0162ffdb1673fd5af969bcd53eed4c2
extra : histedit_source : 1ce73eb25b5fdf5ce767f6336601442e92bbd69a
2015-04-21 01:22:32 -04:00
Ryan C. Gordon
9c45fcc0ef x11: Let apps specify that video init should fail if XRandR is unavailable.
Notably: it sets the error string to inform you that your custom SDL is built
without xrandr support, which apparently has been a support issue for
Unreal Engine 4 developers.

--HG--
extra : histedit_source : e7b25deeb7b4d79dd897f4b31d356d7959d80d60
2016-01-04 23:44:27 -05:00
Ryan C. Gordon
b7dd1e0aa8 x11: _NET_WM_PID needs a long, not a pid_t, I think.
--HG--
extra : amend_source : 97a89fba5156c66969cb35c0b4272846f932404b
extra : histedit_source : a6da982a89236c010a04054fe69586dea8e882c4%2Ced148ccf3e6f061385acd3356c8ec9d9abf93c5c
2016-01-05 02:40:14 -05:00
Ryan C. Gordon
d76bd41747 CMake: Let static libraries optionally be built with Position Independent Code.
--HG--
extra : histedit_source : 3eb8e36a43b9760753b643401799020b8626b8f4
2016-01-05 01:26:32 -05:00
Ryan C. Gordon
7406930291 CMake: use the old MACOSX_RPATH behavior (for now), silence the warning.
--HG--
extra : histedit_source : 66863b16c3a9c4d7cdd43ae36bbcd869f5fcab73
2016-01-05 01:25:54 -05:00
Ryan C. Gordon
feae2421c8 Updated comment: this is the correct way to do fullscreen on X11 now.
--HG--
extra : histedit_source : c23425d752c1aa71cd02df35fe4bc4593c8c01d4
2015-04-21 10:19:20 -04:00
Ryan C. Gordon
42fe73367b Added a few FIXMEs.
--HG--
extra : histedit_source : 53a67a6787730f05bb1e357680274e2473621629
2015-04-21 09:46:48 -04:00
Ryan C. Gordon
914be5d09c Try to build with GCC's -Wdeclaration-after-statement.
This will help catch things that'll cause issues on C89 compilers before we
send them on to fail on Buildbot.

--HG--
extra : amend_source : 2a21da040338a9f796b8baf7038cf866ce54b595
2016-01-04 22:58:38 -05:00
Ryan C. Gordon
63c0f224db Mac: allows apps to use OpenGL on a slower, integrated GPU.
This is often useful for SDL apps that aren't meant to be games: the
integrated GPU starts up faster, uses less power, and is often more than
fast enough.

Note that even with this change, the app will still default to the more
powerful, discrete GPU if one is available; an app that prefers the integrated
GPU will still need the NSSupportsAutomaticGraphicsSwitching key properly
set in its Info.plist and Mac OS X 10.7 or later.

https://developer.apple.com/library/mac/qa/qa1734/_index.html
2016-01-04 22:00:04 -05:00
Ryan C. Gordon
8a7251c4f1 Patch to compile on C89 compilers. 2016-01-04 16:36:42 -05:00
Ryan C. Gordon
efad83a3a1 x11: Support _NET_WM_USER_TIME and give _NET_ACTIVE_WINDOW a valid timestamp.
Fixes Bugzilla #3056.
2016-01-04 16:25:27 -05:00
Ryan C. Gordon
30911d30ba CMake: Don't link directly to libGL on Unix.
(we always dynamically load it at runtime when appropriate.)
2016-01-03 21:48:17 -05:00
Ryan C. Gordon
4f8b05a556 CMake: Don't make a libSDL2.so symlink on Mac OS X (do .dylib instead). 2016-01-03 20:52:44 -05:00
Ryan C. Gordon
60493ef8b1 Remove almost all instances of "volatile" keyword.
As Tiffany pointed out in Bugzilla, volatile is not useful for thread safety:

https://software.intel.com/en-us/blogs/2007/11/30/volatile-almost-useless-for-multi-threaded-programming/

Some of these volatiles didn't need to be, some were otherwise protected by
spinlocks or mutexes, and some got moved over to SDL_atomic_t data, etc.

Fixes Bugzilla #3220.
2016-01-03 06:50:50 -05:00
Sam Lantinga
1f6b2a51bc Added tag release-2.0.4 for changeset e12c38730512 2016-01-02 12:17:33 -08:00
Sam Lantinga
8be6e5ca90 Backed out commit 4de94185790e, this causes Visual Studio build failure on buildbot 2016-01-02 11:17:06 -08:00
Sam Lantinga
c4420fc9de Fixed sed error on Mac OS X and updated copyright on a few last files 2016-01-02 10:38:51 -08:00
Sam Lantinga
23d9d9fade Fixed bug 3092 - Statically link sdl2 with /MT for msvc
Martin Gerhardy

According to https://msdn.microsoft.com/de-de/library/2kzt1wy3%28v=vs.120%29.aspx when one is using /MT for msvc compilations the libcmt.lib is already linked to the binary. This lib includes the symbol that is now guarded (see attached patch) by the #ifndef _MT.
2016-01-02 10:25:53 -08:00
Sam Lantinga
7ee8dda270 Updated copyright to 2016 2016-01-02 10:10:34 -08:00
Philipp Wiesemann
8e2a8c6561 Fixed typo in README for iOS. 2016-01-01 17:41:11 +01:00
Philipp Wiesemann
410efa90a8 Added brackets to function names in header comments so doxygen links them. 2016-01-01 17:39:55 +01:00
Alex Szpakowski
1c47d39ad1 Updated some header comments and iOS documentation to better clarify high-dpi / retina support and screen-coordinate sizes versus pixel sizes. 2015-12-31 21:16:43 -04:00
Alex Szpakowski
2ccbf4aa4f CMake: Fixed building for Windows with VS2015 (bug #3080).
- Don't try to link with the Visual C runtime.

- Avoid code generation that would use functions from the VC runtime.
2015-12-31 15:26:40 -04:00
David Ludwig
4baa548a1d WinRT: minor code-comment cleanups 2015-12-31 01:54:11 -05:00
David Ludwig
5605362059 WinRT: fixed bug whereby a Win8.x app's SDL_Window wasn't getting de-marked as maximized (on window restore) 2015-12-31 01:50:30 -05:00
David Ludwig
3b53863969 Fixed Bug 3217 - WinRT: after alt-tab'ing back into fullscreen app, mouse cursor is sometimes wrong 2015-12-31 01:40:50 -05:00
David Ludwig
3054ed0bdd Fixed Bug 3215 - Win32: 'fullscreen' app doesn't always extend to top of screen 2015-12-30 12:44:13 -05:00
Philipp Wiesemann
c9be6d154c Updated configure script. 2015-12-29 19:14:19 +01:00
Philipp Wiesemann
f92eac5d89 Fixed a crash if creating accelerated renderer after accessing window surface.
Partially fixes Bugzilla #3196.
2015-12-29 19:13:56 +01:00
Ryan C. Gordon
8b682f0b6c NetBSD: fixed issues with cpuinfo and pthread_setname_np (thanks, Thomas!).
Fixes Bugzilla #3176.
2015-12-29 02:32:47 -05:00
Ryan C. Gordon
a78b87c133 NetBSD: improved joystick support (thanks, Thomas!).
This patch skips non-joystick HID devices and gives joysticks on NetBSD
a human readable name.

Fixes Bugzilla #3178.
2015-12-29 02:29:56 -05:00
Ryan C. Gordon
c9dbcda234 Added support for building for NetBSD on the Raspberry Pi (thanks, Jared!).
Fixes Bugzilla #3179.
2015-12-29 02:27:02 -05:00
Ryan C. Gordon
87cd4185e7 XRandR: fixed primary output detection logic (thanks, "winterknight"!).
Fixes Bugzilla #3185.
2015-12-29 02:16:14 -05:00
Ryan C. Gordon
be5d22ca20 Mac: don't ignore mouse clicks on the top pixel of a window (thanks, Joshua!).
Fixes Bugzilla #3190.
2015-12-29 01:09:58 -05:00
Ryan C. Gordon
54ded44867 CMake: Changes to get CMake project to work with Android (thanks, Martin!).
Fixes Bugzilla #3194.

(but note that Bugzilla #3200 still needs to be resolved to get this really
going on Android, at a minimum.)
2015-12-29 00:57:24 -05:00
Ryan C. Gordon
3609add147 CMake: fixed a failure to reset CMAKE_REQUIRED_FLAGS (thanks, Martin!).
This would break Emscripten builds with the CMake project files (etc).

Fixes Bugzilla #3197.
2015-12-29 00:36:03 -05:00
Ryan C. Gordon
b5cdb18893 CMake: don't try to use the Linux joystick code on Android (thanks, Martin!).
Fixes Bugzilla #3201.
2015-12-29 00:24:37 -05:00
Ryan C. Gordon
1599e941eb CMake: Fixed to work on Windows 8 SDK (thanks, Martin!).
Fixes Bugzilla #3207.
2015-12-29 00:02:43 -05:00
Ryan C. Gordon
ad2bbbf3bf Fixed typo in sdl2-config.cmake.in (thanks, Rafal!).
Partially fixes Bugzilla #3208.

--HG--
extra : rebase_source : 2f486853c2964b1fc9095f0d51cb58ffe089489d
2015-12-28 23:29:11 -05:00
Ryan C. Gordon
fcd63f6ac9 OpenGL+GLES renderers: Fixed incorrect clip rectangle coords (thanks, Marcel!).
Fixes Bugzilla #2700.

--HG--
extra : rebase_source : 330d2ad63fbea2eb79133a9e47c0abec2cc36974
2015-12-28 15:15:58 -05:00
Alex Szpakowski
98bb021a4b Mac: expose joystick buttons that report themselves as having 'Start' and 'Select' HID usages.
I don't know if any joysticks report those usages for any buttons in practice, but other prominent Mac gaming software exposes them, so we might as well too.
2015-12-28 15:44:09 -04:00
Ryan C. Gordon
cff5825a4f Mac: Whoops, lost legit Caps lock keypress events. Fixed. 2015-12-28 13:30:58 -05:00
Ryan C. Gordon
9eeaf12db5 Windows: resync num/caps lock when window is gaining focus. 2015-12-28 13:08:19 -05:00
Ryan C. Gordon
911aed72e5 Sync up the caps/numlock state properly without sending key events.
Partially fixes Bugzilla #2736 and #3125.
2015-12-28 13:07:44 -05:00
Ryan C. Gordon
745b11a656 Mac: Fix keyboard state if capslock was toggled while app wasn't in foreground. 2015-12-27 23:39:43 -05:00
David Ludwig
80a59e0b0a WinRT: made bug 3202/3213's fix apply for WinRT apps 2015-12-27 22:26:27 -05:00