|
4850d259
|
2014-02-26T11:35:02
|
|
Mac: Redo cursor warp handling.
This fixes bugs related to getting unnaturally large xrel/yrel for
SDL_MOUSEMOTION after warps and enabling / disabling relative mode.
Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=1836
|
|
52a63e82
|
2014-02-25T17:27:41
|
|
Mac: Improve moving relative mode windows.
This makes it possible to move windows by their title bar, even if they're in
relative mode, if you click the title bar when the window does not have focus.
Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2396
|
|
95f7e242
|
2014-02-25T15:28:12
|
|
Mac: Immediately update current OpenGL context's shape.
Previously we were postponing our -[NSOpenGLContext update] call to the next
SDL_GL_SwapWindow, even if the context was current on the current thread. This
changes it so that we will do the update immediately if it's the current
context.
If you're rendering on another thread, you need to call SDL_GL_SwapWindow once
after a resize event to ensure your drawable will produce non-garbage data.
Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2339
|
|
b420ad0e
|
2014-02-24T23:09:35
|
|
Don't warp the mouse while we're doing a modal interaction
|
|
2a6213ad
|
2014-02-24T22:49:30
|
|
Make sure we don't clip the cursor while clicking on the window title bar
|
|
973d890b
|
2014-02-24T22:37:58
|
|
Fixed relative mouse mode with multiple windows.
The window cursor clipping will be taken care of when SDL_UpdateWindowGrab() is called.
|
|
54debf84
|
2014-02-24T22:36:24
|
|
Added a bunch of missing windows messages
|
|
d6b1218b
|
2014-02-24T16:42:08
|
|
Mac: Fix inconsistent repeat of SDL_TEXTINPUT events on 10.7+
Due to the new "tap and hold" IME in Mountain Lion and above, we were getting
inconsistent repeat of SDL_TEXTINPUT events. Disabling that functionality (since
you can't see the popover anyway) solves this.
Bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2387
|
|
6bb2f2ef
|
2014-02-22T17:55:58
|
|
Fixed bug 2347 - On OSX, an SDL app prevents system shutdown.
Tim McDaniel
On OSX, an SDL app forces a system shutdown to be cancelled. This happens because [SDLAppDelegate applicationShouldTerminate] returns NSTerminateCancel. A better approach is to subclass NSApplication and override terminate to do nothing except call SDL_SendQuit. In response to a system shutdown notification, this allows the normal SDL Quit event processing to occur, and if the app then terminates, system shutdown occurs normally. Please see the attached patch, based on SDL 2.0.1.
|
|
b80f4f9e
|
2014-02-22T17:39:35
|
|
Don't fail initialization if the helper window class already exists.
|
|
a5f52ac5
|
2014-02-22T17:32:18
|
|
Fixed bug 2395 - OSX: App name in the menu bar is not localized.
Tim McDaniel
On OSX, the app name in the menu bar is not localized. This can be fixed using the following implementation for GetApplicationName in SDL_cocoaevents.m:
static NSString *
GetApplicationName(void)
{
NSDictionary *dict;
NSString *appName = 0;
appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];
if (!appName)
appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"];
if (![appName length])
appName = [[NSProcessInfo processInfo] processName];
return appName;
}
|
|
f7de4ae1
|
2014-02-22T15:23:09
|
|
Fixed bug 2407 - Support for OpenGL ES 3 contexts on iOS
Alex Szpakowski
Currently the UIKit/EAGL backend for SDL's OpenGL context creation API doesn't support OpenGL ES 3, despite iOS 7+ being capable (on devices with the necessary hardware.)
I have attached a patch to add support. It's also slightly more future-proof, so eventual OpenGL ES 4+ capability on iOS should hopefully work without requiring changes to SDL's UIKit/EAGL backend.
|
|
af0ab490
|
2014-02-22T14:57:12
|
|
Fixed bug 2346 - Mac: mousewheel events have flipped horizontal scroll values
Alex Szpakowski
On my Mac OS X system (10.9.1), the SDL_MOUSEWHEEL event reports negative X values when my trackpad scrolls to the right, and positive X values when my trackpad scrolls to the left. This is backwards from what I'd expect, and I don't think it matches the Windows wheel events.
The vertical scroll values are what I'd expect though, and are consistent what gets reported on Windows (positive Y for scrolling up, negative Y for scrolling down.)
This is with "scroll direction: natural" disabled in the OS X trackpad settings (i.e. my scroll direction in non-SDL OS X programs matches what happens in Windows and Linux.)
I also tested with the horizontal scroll on a real mouse (Logitech G500 without custom drivers), and the horizontal scroll values in SDL are still flipped.
I "solved" the issue for myself by changing this line in the Cocoa_HandleMouseWheel function:
float x = [event deltaX];
to this:
float x = -[event deltaX];
I believe it should work fine with that change - I found something similar in another codebase while looking online for my issue - but I haven't tested on anything below Mac OS 10.8.
|
|
abe2ac2c
|
2014-02-21T08:37:57
|
|
Fixes #2326, clean up the X11 backend a bit
|
|
5c5770ad
|
2014-02-14T11:39:58
|
|
Make sure we don't stay in the windows event loop forever if there are lots of events coming in quickly.
|
|
c52c9105
|
2014-02-13T11:05:30
|
|
Added SDL_DXGIGetOutputInfo which returns the adapter and output indices that are used to create DX10 and DX11 devices and swap chains on a particular display.
CR: SamL
|
|
e34da680
|
2014-02-13T11:05:28
|
|
Fixed lost mouse button when in relative mouse warp mode and you click on the title bar, entering a modal move/resize loop.
Testing:
* Set the SDL_HINT_MOUSE_RELATIVE_MODE_WARP hint true, run testsprite2, press Ctrl-R to enter relative mode, alt tab away from the window, then click on the title bar of the window. Didn't get the mouse button release before, and we do now.
CR: Yahn + Alfred
|
|
a396841f
|
2014-02-10T10:02:18
|
|
Fixed bug where a window created fullscreen and hidden would get activated and "shown" but never actually be visible.
This is the case with the Steam In-Home Streaming client.
|
|
25fcc195
|
2014-02-04T12:28:35
|
|
* Remove android based workaround, it is handled in SDL_EGL_GetProcAddress.
|
|
bd01a9c9
|
2014-02-03T11:53:21
|
|
Unload Wayland libs if memory allocation fails during init.
|
|
89fd0faf
|
2014-02-03T11:52:54
|
|
Hooked up dynamic loading for Mir.
|
|
69d85ff5
|
2014-02-03T11:01:32
|
|
Bumped copyright date on Mir code.
|
|
435b80b9
|
2014-02-02T23:55:51
|
|
Disable some minor things that need newer Mir dev headers.
These headers apparently aren't default in Ubuntu 13.10 yet.
|
|
8674b7ae
|
2014-02-02T23:54:10
|
|
Cleaned up headers and footers on Mir code.
|
|
6bc29770
|
2014-02-02T23:53:48
|
|
Added some SysWM bits for Mir.
|
|
19f8c622
|
2014-02-02T23:41:46
|
|
Added Mir video target (thanks, Brandon!).
|
|
e8f5e010
|
2014-02-02T20:58:46
|
|
Fixed including SDL_internal.h twice for DirectFB.
|
|
58edac3e
|
2014-02-02T00:53:27
|
|
Fixed bug 2374 - Update copyright for 2014...
Is it that time already??
|
|
d76c2cc1
|
2014-01-30T12:30:40
|
|
Add a new hint SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT that allows SDL_CreateWindowFrom() to set the pixel format of another SDL_Window (and also will set the SDL_WINDOW_OPENGL flag on the window created with SDL_CreateWindowFrom()).
The reasoning behind this change is that source2 in -tools mode has a single OpenGL context that is used with multiple different windows. Some of those windows are created outside the engine (i.e. with Qt) and therefore we need to use SDL_CreateWindowFrom() to get an SDL_Window for those. The requirement for sharing an OpenGL context across multiple different windows is that each window has the same pixel format. To facilitate this, I now set SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT for the main window before calling SDL_CreateWindowFrom(). When I do this, SDL_CreateWindowFrom() will:
1. Set the pixel format of the returned window to the same pixel format as this SDL_Window passed in with the hint
2. The flag SDL_WINDOW_OPENGL will be set on the new window so it can be used for OpenGL rendering.
I only currently implemented this for Win32/WGL so implementing it for other platforms (i.e. X11) remains a TODO.
CR: SamL
Some pseudocode that shows how this is used in Source2:
HWND hExternalHwnd; // HWND that was established outside of SDL
// Create main window (happens inside platwindow.cpp)
SDL_Window *mainWindow = SDL_CreateWindow( , SDL_WINDOW_OPENGL .. );
// Create GL context, happens inside rendersystemgl
SDL_GLContext onlyContext = SDL_GL_CreateContext( mainWindow );
// Now I need to create another window from hEternalHwnd for my swap chain that will have the same pixel format as mainWindow, so set the hint
SDL_SetHint( SDL_HINT_VIDEO_WINDOW_SHARE_PIXEL_FORMAT, CFmtStr( %p, mainWindow) );
// Create the secondary window. This returned window will have SDL_WINDOW_OPENGL set and share a pixel format with mainWindow from the hint
SDL_Window *secondaryWindow = SDL_CreateWindowFrom( hExternalHwnd );
// To render to the main window:
SDL_GL_MakeCurrent( mainWindow, onlyContext );
// Do some rendering to main window
// To render to the secondary window:
SDL_GLMakeCurrent( secondaryWindow, onlyContext );
// Do some rendering to secondary window
|
|
dbd4a917
|
2014-01-30T12:27:24
|
|
Document Michael's changes adding TranslateMessage() back to the SDL message loop.
|
|
5c58bd68
|
2014-01-30T12:27:00
|
|
* Added TranslateMessage call to SDL default message pump - was causing problems in S2 tools mode apps that used Qt. Qt relies on the WM_CHAR message generated by TranslateMessage and keyboard input was showing up in the UI as mixed-case. (Depending on which message pump got a given message - both SDL and Qt pump messages for the entire process.) Sam will review and possibly tweak this change before propagating to public SDL, but I'm checking this version in so I can integrate into S2 and fix the issue there.
|
|
338bf9cc
|
2014-01-29T18:38:13
|
|
Add SDL_GL_ResetAttributes.
|
|
366b1727
|
2014-01-29T18:37:23
|
|
Mac: [NSApp keyWindow] is not valid in windowDidBecomeKey:
This fixes weird behavior on Mac where our first responder reverts to the window
itself, rather than the SDLTranslatorResponder, after the window has lost focus
once. This causes Escape to call cancelOperation: on the NSWindow, which by
default removes our fullscreen-ness.
When someone has turned off SDL_TEXTINPUT we should probably set another initial
responder that handles the Escape behavior, so that SDL_TEXTINPUT doesn't change
fullscreen behavior (and possibly other behavior) like it does now.
|
|
f52d7f5e
|
2014-01-28T11:39:37
|
|
[Wayland] Fixes segfault when mouse enters window
|
|
2efa2dc2
|
2014-01-27T13:43:04
|
|
X11: Don't redraw dialog box when mouse moves.
This fixes bug #2343. (https://bugzilla.libsdl.org/show_bug.cgi?id=2343)
Thanks to Melker Narikka for the patch.
|
|
cf9828a2
|
2014-01-20T20:25:43
|
|
Move Wayland driver above dummy, check for driver availability before creation
|
|
2ddd0c58
|
2014-01-20T12:53:44
|
|
Patched to compile if Wayland is disabled via SDL_config.h (thanks, Martin!).
Fixes Bugzilla #2351.
|
|
129640af
|
2014-01-16T15:02:41
|
|
Fixes prototype declaration for wl_proxy_marshal_constructor [Wayland 1.4]
|
|
838e76c6
|
2014-01-16T11:33:39
|
|
Fix to compile against the Wayland v1.4 headers
|
|
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
|
|
bc92383e
|
2014-01-15T11:31:56
|
|
Mac: Don't give windows focus back when we're closing them.
Fixes bug #1840 (https://bugzilla.libsdl.org/show_bug.cgi?id=1840)
|
|
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)
|
|
8f660a46
|
2014-01-14T17:33:24
|
|
Mac: Trigger SDL_FINGERUP for all touches.
Fixes bug #2348. Thanks to Alex Szpakowski for the patch!
|
|
c0d86b92
|
2014-01-14T21:29:38
|
|
Make EGL loading more resilient.
Lesson learned while trying to run L4D2 under Wayland :)
|
|
272ebb8e
|
2014-01-09T13:56:21
|
|
Dynamic loading support for Wayland
|
|
5fd5567c
|
2014-01-08T14:53:08
|
|
define a font-size for the "unicode" message box font so the text isn't unreadable on linux systems
|
|
b44e7470
|
2013-12-30T12:49:15
|
|
Fixed display mode calculations for applications which are not DPI aware.
If your application wants to have access to the full resolution even when the system has DPI scaling enabled, call SetProcessDPIAware() before calling SDL_Init()
e.g.
typedef BOOL (WINAPI *SetProcessDPIAware_t)(void);
HMODULE hMod = LoadLibrary("user32.dll");
if ( hMod ) {
SetProcessDPIAware_t pSetProcessDPIAware = GetProcAddress( hMod, "SetProcessDPIAware" );
if ( pSetProcessDPIAware ) {
pSetProcessDPIAware();
}
FreeLibrary( hMod );
}
|
|
6f6c76a6
|
2013-12-27T10:18:18
|
|
Make sure our window has mouse focus before processing raw input events.
This happens rarely, but not reproducibly, where we get raw input events for the window even though it doesn't have focus.
|
|
27779311
|
2013-12-27T10:18:11
|
|
Bump SDL to build with 10.7 SDK.
This also bumps the minimum requirement for building SDL to 10.7, and
removes some checking we no longer need.
CR: saml
|
|
fce6257c
|
2013-12-27T09:29:39
|
|
Implements touch support on QTWayland. Contributed by Thomas Perl.
|
|
87ad7a1c
|
2013-12-25T16:57:59
|
|
Fixed pointer from integer warning and bug if compiled without EGL.
|
|
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.
|
|
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.
|
|
74692835
|
2013-12-23T12:17:52
|
|
Added support for double-clicks, through a new "clicks" field in the mouse button event.
|
|
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
|
|
4a8c2967
|
2013-12-13T09:48:12
|
|
Context sharing for EGL
|
|
44afc2a3
|
2013-12-06T16:12:18
|
|
Fixed crash if no window has keyboard focus
|
|
7afb7682
|
2013-12-05T09:29:04
|
|
Added code missed in the resolve
|
|
013d9982
|
2013-12-02T23:54:35
|
|
Fixed error return value in SDL_EGL_CreateSurface(), thanks to Mike Kasprzak
|
|
7d9e42f2
|
2013-12-02T10:08:57
|
|
Select EGL config when creating the EGL surface
|
|
f848adff
|
2013-11-29T10:06:08
|
|
Improve Android pause/resume behavior.
|
|
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.
|