Brandon Schaefer
f0708fc9dd
MIR: Support relative mouse mode
2016-06-07 09:01:23 -07:00
Alex Szpakowski
ea2f5e5930
Windows: Fix other window positions/sizes being changed when exiting exclusive fullscreen (bug #3315 , thanks Simon Hug!)
2016-05-23 15:29:25 -03:00
Alex Szpakowski
0a4085a048
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.
2016-05-21 12:09:23 -03:00
Alex Szpakowski
4a468739f8
Removed Mac OS 10.5 support (bug #3137 ). Also fixed a warning about deprecated Carbon code when using SDL_audio (bug #3127 , thanks Dominik!)
2016-05-21 00:20:52 -03:00
Philipp Wiesemann
d4140ca473
Windows: Fixed missing error message if SDL_GetDisplayDPI() failed.
2016-05-20 22:15:58 +02:00
Philipp Wiesemann
d7b9d321fa
X11: Fixed typos in error messages and source comments.
2016-05-20 22:15:28 +02:00
Philipp Wiesemann
81235118ab
X11: Fixed missing error message if SDL_GetDisplayDPI() failed.
2016-05-20 22:14:40 +02:00
David Ludwig
441359bd5a
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.
2016-05-14 23:29:49 -04:00
Philipp Wiesemann
e964d00f64
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.
2016-05-11 21:11:12 +02:00
Philipp Wiesemann
748b05289c
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.
2016-05-11 21:10:41 +02:00
Philipp Wiesemann
bf7a76155e
Fixed missing error message if SDL_GetDisplayDPI() is unsupported.
2016-05-10 21:14:36 +02:00
David Ludwig
52fec6aff0
WinRT: allow on-screen keyboard to be shown via SDL APIs, Win10/UWP only
2016-05-07 21:41:59 -04:00
Alex Szpakowski
b15efce277
Cocoa mouse code: Replaced NSPointInRect with NSMouseInRect (thanks Eric Wasylishen!) Fixes bug #3312 .
2016-05-01 21:41:30 -03:00
Alex Szpakowski
d383502657
Mac: replaced a deprecated CGSetLocalEventsSuppressionInterval call that I missed in commit 2f72bdfee9bb
2016-05-01 19:51:10 -03:00
Philipp Wiesemann
31cbb34ec9
Wayland: Removed not needed including and setting of errno.
...
One internal function was setting errno on error but it was not read afterwards.
2016-04-14 21:11:43 +02:00
David Ludwig
caf152def7
WinRT: build/link fix
2016-04-13 21:59:50 -04:00
Ryan C. Gordon
9b4db2b8aa
Patched to compile on various platforms.
2016-04-12 18:11:36 -04:00
Ryan C. Gordon
c61675dc5d
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.
2016-04-12 16:45:10 -04:00
Alex Szpakowski
34f095e098
iOS: Fixed SDL_GL_CreateContext crashing instead of returning null when a GLES3 context is requested on iOS 6 and older.
2016-04-10 22:07:10 -03:00
Alex Szpakowski
6cfa71a10e
iOS: Also do the Dictation crash workaround before executing the animation callback.
2016-04-02 13:21:01 -03:00
Alex Szpakowski
88372277b7
Add a new hint SDL_HINT_MAC_MOUSE_FOCUS_CLICKTHROUGH, which allows mouse click events to occur when clicking to focus a window in Mac OS X.
...
Fixes bug #3300 .
2016-04-02 11:54:05 -03:00
Alex Szpakowski
5520ed9cc2
iOS: Workaround for a crash after Dictation is used.
2016-04-01 19:18:50 -03:00
Philipp Wiesemann
12c78c5ca5
PSP: Fixed missing error message for unsupported SDL_CreateWindowFrom().
2016-04-01 21:11:31 +02:00
Philipp Wiesemann
a9edc5137e
Wayland: Fixed missing error message if creating a custom cursor failed.
...
SDL_GetError() returned no error message because it was written to stderr only.
2016-03-28 21:03:04 +02:00
Alex Szpakowski
08488e6d34
Mac: avoid calling CGSetLocalEventsSuppressionInterval, it was deprecated in OS X 10.6.
2016-03-20 15:35:34 -03:00
Philipp Wiesemann
35da130828
Wayland: Fixed crash if memory mapping failed while creating a custom cursor.
2016-03-16 22:09:39 +01:00
Philipp Wiesemann
fa77df4e91
Wayland: Fixed storing a theme cursor which is never used in video data.
2016-03-16 22:09:23 +01:00
Sam Lantinga
a29a925d7e
Pick up new display mode information after a mode change (Windows only right now).
2016-03-11 08:33:47 -08:00
Philipp Wiesemann
19f18558ac
Emscripten: Deactivated custom cursor support because it created system cursors.
2016-03-11 22:10:35 +01:00
Philipp Wiesemann
676041aa16
Wayland: Fixed drawing created cursors without transparency.
2016-03-11 22:10:15 +01:00
Philipp Wiesemann
167dd4a1fa
Wayland: Fixed showing created cursors incorrectly before the first redraw.
2016-03-11 22:09:50 +01:00
Philipp Wiesemann
0c923fda0b
WinRT: Removed dead code and fixed memory leak if allocation for driver failed.
2016-03-10 21:00:44 +01:00
Ryan C. Gordon
f647dfe874
x11: Fix a few more XMoveWindow() calls to adjust for border size.
...
Also, fix my inability to do basic math ('+' should have been '-').
2016-03-04 19:41:16 -05:00
Ryan C. Gordon
02f49fdb53
x11: Deal with window borders better.
...
- Cache the _NET_FRAME_EXTENTS data locally, so we don't have to query
the X server for them (instead, we update our cached data when PropertyNotify
events alert us to a change).
- Use our cached extents for X11_GetWindowBordersSize(), so it's a fast call.
- Window position was meant to refer to the client area, not the window
decorations, so adjust appropriately when getting/setting the position.
2016-03-04 18:47:19 -05:00
Philipp Wiesemann
05b6ca3c35
Raspberry: Fixed crash if memory allocation for cursor failed.
2016-03-03 20:12:51 +01:00
Philipp Wiesemann
be34036ed7
Wayland: Fixed fault in event handling which might have caused a crash someday.
...
Found by Cppcheck.
2016-03-02 20:25:23 +01:00
Philipp Wiesemann
ab8be04310
Wayland: Fixed crash if allocating memory for cursor failed.
...
Also added missing error message if first allocation failed.
2016-03-02 20:25:09 +01:00
Jonas ?dahl
3a22321d55
wayland: Add wl_proxy_marshal_constructor_versioned sym
...
wl_proxy_marshal_constructor_versioned was introduce in wayland-client 1.10.
2016-02-17 15:14:20 +08:00
Brandon Schaefer
90ef601d8c
Mir: Do not use opengl to find the valid pixel format if we dont use opengl
2016-02-25 10:06:33 -08:00
Philipp Wiesemann
966aa3721b
Mir: Replaced memcpy() with SDL_memcpy().
2016-02-24 21:07:19 +01:00
Philipp Wiesemann
b4b36122a4
Mir: Fixed comment at conditional compilation macro.
2016-02-24 21:06:46 +01:00
Philipp Wiesemann
92209c260d
Mir: Fixed crash if allocating memory for cursor failed.
2016-02-22 19:00:22 +01:00
bschaefer
3607d3b756
Fix API/ABI breakage in Mir 0.13/0.14.
2016-02-21 15:19:35 -08:00
Ryan C. Gordon
2436ca200d
x11: better fix for the previous commit's fullscreen vs maximized issue.
2016-02-20 01:03:39 -05:00
Ryan C. Gordon
a4627c5eda
x11: Don't mess with fullscreen vs maximized window state on unmapped windows.
2016-02-20 00:44:42 -05:00
Ryan C. Gordon
df4be2f200
x11/wayland/mir: Make the dynamic loading macro salsa a little less messy.
2016-02-18 23:27:58 -05:00
Ryan C. Gordon
0e2badc144
x11: Patched to compile with DEBUG_XEVENTS on C89 compilers.
2016-02-12 00:27:21 -05:00
Ryan C. Gordon
45407d0eac
x11: Removed an assert.
...
This assert triggers when run under XMonad. It's safe to pass a zero here
anyhow, as this will still work "well enough" and the original
problem--GNOME printing a warning message--is still fixed because GNOME's
window manager gives us a chance to grab a non-zero user-time value before
this code is run.
2016-02-15 21:49:09 -05:00
Philipp Wiesemann
7da168db0a
Fixed spaces in license comments.
2016-02-10 19:31:23 +01:00
Ryan C. Gordon
5ed63ae317
x11: Updated imKStoUCS.* to latest from x.org.
...
This was a version from XFree86 before now. :) Although not much has
changed.
2016-02-08 01:08:21 -05:00
Alex Szpakowski
8e7cd6b5da
iOS: Implemented clipboard support.
2016-02-03 20:32:55 -04:00
Alex Szpakowski
325921789a
x11: Fix AltGr generating an invalid keycode (bug #3244 ). Thanks Thomas!
2016-01-31 09:39:42 -04:00
Sam Lantinga
67f9fd2bc4
Fixed creating fullscreen windows on Steam Link
2016-01-22 13:12:16 -08:00
Sam Lantinga
e5d575b933
Expose the EGL display and window for Vivante SDL windows
2016-01-16 21:58:49 -08:00
Philipp Wiesemann
8d035b1aee
Android: Added mouse initialization to reset state.
...
If the app is launched again then the shared object may be reused (on Android).
2016-01-12 22:23:00 +01:00
Philipp Wiesemann
1560351905
Android: Added mapping of mouse forward button and mouse back button.
2016-01-11 20:02:48 +01:00
Alex Szpakowski
87ea39be84
Removed dead code (caught by Clang's static analyzer).
2016-01-09 17:41:09 -04:00
Ryan C. Gordon
ed62033366
x11: make last mouse coords sane upon window entry (thanks, Cengiz!).
...
(and thanks to Cengiz for many of the previous Unreal-related
patches! They were generically credited to Epic Games, but a large
amount of that work was his contribution.)
Fixes Bugzilla #3067 .
2016-01-07 19:58:00 -05:00
Ryan C. Gordon
416d046663
Mac: Implemented SDL_GetDisplayDPI (thanks, Kirill!).
...
Fixes Bugzilla #3223 .
2016-01-07 14:02:37 -05:00
Ryan C. Gordon
49e47688b4
Patched to compile on iOS.
2016-01-05 05:38:55 -05:00
Ryan C. Gordon
eeb899999f
Patched to compile.
2016-01-05 05:22:35 -05:00
Ryan C. Gordon
7605ccf68a
Use SDL's stdinc functions instead of C runtime calls.
2016-01-05 02:29:16 -05:00
Ryan C. Gordon
dc532c70e8
Added SDL_WINDOWEVENT_TAKE_FOCUS.
...
This is for corner cases where a multi-window app is activated and wants to
make a decision about where focus should go.
This patch came from Unreal Engine 4's fork of SDL, compliments of Epic Games.
2016-01-05 02:27:50 -05:00
Ryan C. Gordon
aa4952fdef
Added SDL_WINDOWEVENT_HIT_TEST.
...
This lets windows know when they are dropping a mouse event because their
hit test reported something other than SDL_HITTEST_NORMAL. It lets them know
exactly where in the event queue this happened.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2015-04-21 10:10:59 -04:00
Ryan C. Gordon
d4aedf9951
Added SDL_SetWindowModalFor().
...
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2015-04-21 09:45:58 -04:00
Ryan C. Gordon
e497e46515
Added SDL_SetWindowInputFocus().
...
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 02:28:56 -05:00
Ryan C. Gordon
3bdaf4c611
Added SDL_SetWindowOpacity() and SDL_GetWindowOpacity().
...
This is currently implemented for X11, Cocoa, Windows, and DirectFB.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 02:46:10 -05:00
Ryan C. Gordon
5696e88e6b
Added SDL_GetWindowBordersSize().
...
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 02:29:06 -05:00
Ryan C. Gordon
f9af0c0376
x11: Put a matching window_group wmhint on every window created.
...
This is useful to the Window Manager, so it can know to associate multiple SDL
windows with a single app.
2016-01-05 02:27:26 -05:00
Ryan C. Gordon
8e855f2fbc
Added SDL_DROPBEGIN and SDL_DROPCOMPLETE events, plus window IDs for drops.
...
This allows an app to know when a set of drops are coming in a grouping of
some sort (for example, a user selected multiple files and dropped them all
on the window with a single drag), and when that set is complete.
This also adds a window ID to the drop events, so the app can determine to
which window a given drop was delivered. For application-level drops (for
example, you launched an app by dropping a file on its icon), the window ID
will be zero.
2016-01-05 01:42:00 -05:00
Ryan C. Gordon
f2defe5e11
Added special window type flags.
...
Specifically: always on top, skip taskbar, tooltip, utility, and popup menu.
This is currently only implemented for X11.
This patch is based on work in Unreal Engine 4's fork of SDL,
compliments of Epic Games.
2016-01-05 01:30:40 -05:00
Ryan C. Gordon
f9b7379341
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.
2016-01-05 02:26:45 -05:00
Ryan C. Gordon
c3114975db
Added SDL_GetDisplayUsableBounds().
2016-01-04 23:52:40 -05:00
Ryan C. Gordon
8875a4014f
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.
2015-04-22 16:50:48 -04:00
Ryan C. Gordon
14e007772a
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.
2015-04-21 10:14:17 -04:00
Ryan C. Gordon
9a7527988a
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.
2015-04-21 01:22:32 -04:00
Ryan C. Gordon
81209acbd8
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.
2016-01-04 23:44:27 -05:00
Ryan C. Gordon
f9d478b6c3
x11: _NET_WM_PID needs a long, not a pid_t, I think.
2016-01-05 02:40:14 -05:00
Ryan C. Gordon
0c0ce2096c
Updated comment: this is the correct way to do fullscreen on X11 now.
2015-04-21 10:19:20 -04:00
Ryan C. Gordon
e0e04542d0
Added a few FIXMEs.
2015-04-21 09:46:48 -04:00
Ryan C. Gordon
15bc7aea64
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
7678b1db88
Patch to compile on C89 compilers.
2016-01-04 16:36:42 -05:00
Ryan C. Gordon
6df5e1e535
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
fa8c83c1c1
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
68a3272852
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
42065e785d
Updated copyright to 2016
2016-01-02 10:10:34 -08:00
David Ludwig
44c0b2da87
WinRT: minor code-comment cleanups
2015-12-31 01:54:11 -05:00
David Ludwig
854cf7ac40
Fixed Bug 3215 - Win32: 'fullscreen' app doesn't always extend to top of screen
2015-12-30 12:44:13 -05:00
Philipp Wiesemann
c41feca5de
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
18c7d6df21
XRandR: fixed primary output detection logic (thanks, "winterknight"!).
...
Fixes Bugzilla #3185 .
2015-12-29 02:16:14 -05:00
Ryan C. Gordon
326b357804
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
51c1d69d13
Mac: Whoops, lost legit Caps lock keypress events. Fixed.
2015-12-28 13:30:58 -05:00
Ryan C. Gordon
fd6b435c6a
Windows: resync num/caps lock when window is gaining focus.
2015-12-28 13:08:19 -05:00
Ryan C. Gordon
257b7af247
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
d3b323f89d
Mac: Fix keyboard state if capslock was toggled while app wasn't in foreground.
2015-12-27 23:39:43 -05:00
Ryan C. Gordon
2befe01d39
Removed a tabstop.
2015-12-27 18:56:46 -05:00
Ryan C. Gordon
6a2e8a7a90
Win: make sure SDL keyboard state reflects system capslock state at startup.
2015-12-27 18:48:14 -05:00
Ryan C. Gordon
faed05850e
Mac: make sure SDL keyboard state reflects system capslock state at startup.
2015-12-27 16:46:12 -05:00
David Ludwig
8281cc72ba
WinRT: Fixed bug 3210, "alt-tab doesn't work correctly with full-screened, UWP (Win10 Store) apps"
2015-12-22 00:58:47 -05:00
Alex Szpakowski
4026980917
Cleaned up some code formatting.
2015-12-18 00:49:27 -04:00