Commit graph

4805 commits

Author SHA1 Message Date
Edward Rudd
7629872a1f Fix device counting in HapticMouse and JoystickOpen routines. 0 is the first item in the list not the last 2014-02-06 09:35:44 -05:00
Edward Rudd
c593f2045c fix indentation and spaces 2014-02-06 09:11:05 -05:00
Ryan C. Gordon
441bde12ca Wired up haptic hotplugging for Windows DirectInput/XInput code. 2014-02-06 07:37:20 -05:00
Ryan C. Gordon
884709423e Fixed memory leak. 2014-02-05 20:07:25 -05:00
Ryan C. Gordon
cece2c2b93 Make SDL_SYS_HapticMouse() count device indexes like HapticByDevIndex(). 2014-02-05 18:36:40 -05:00
Ryan C. Gordon
2757186774 Cleanup some vi footer comments, rename new PRIVATE_* funcs to MacHaptic_*. 2014-02-05 01:02:09 -05:00
Edward Rudd
00970c2034 Implement new backend methods for haptic and hot plugging on OS X 2014-02-04 18:17:16 -05:00
Edward Rudd
e9fa1c76be implement new backend method for Haptics in dummy driver
--HG--
extra : rebase_source : c4bfcf6d0283900051058989d633eae1eeeeb2c1
2014-02-04 16:50:34 -05:00
Edward Rudd
f4141728b7 Rework haptic backend to properly support hotplugging of haptic devices.
* currently only linux backend updated.

--HG--
extra : rebase_source : ef39ed7c749a66ed5a261cf63a88b4e80a7afc88
2014-02-04 15:44:09 -05:00
Brandon Schaefer
4f1f0f7a6c * Remove android based workaround, it is handled in SDL_EGL_GetProcAddress. 2014-02-04 12:28:35 -08:00
Ryan C. Gordon
cd64be14c5 Added SDL_GetAssertionHandler() and SDL_GetDefaultAssertionHandler().
--HG--
extra : rebase_source : 46c4eb0b9b5aaf0f97ccf21036a0462a585b3ba8
2014-02-04 11:38:40 -05:00
Ryan C. Gordon
2ffc05f7d8 Fixed some compiler warnings from the latest Clang, cleaned up some things. 2014-02-03 14:45:38 -05:00
Ryan C. Gordon
c0acfb60f8 Unload Wayland libs if memory allocation fails during init. 2014-02-03 11:53:21 -05:00
Ryan C. Gordon
5704cde18b Hooked up dynamic loading for Mir. 2014-02-03 11:52:54 -05:00
Ryan C. Gordon
65c6eaa486 Bumped copyright date on Mir code. 2014-02-03 11:01:32 -05:00
Ryan C. Gordon
ccfee665db Disable some minor things that need newer Mir dev headers.
These headers apparently aren't default in Ubuntu 13.10 yet.

--HG--
extra : histedit_source : b7ca98efe3198afafd3ca5f8c3112cd3f991578d
2014-02-02 23:55:51 -05:00
Ryan C. Gordon
e242c2f9f4 Added some SysWM bits for Mir.
--HG--
extra : rebase_source : e02d7f813f5b5a5af2a546c29af91ed16e038752
extra : histedit_source : 0f7c419f2002c176606b30e87f94049287bf3aac
2014-02-02 23:53:48 -05:00
Ryan C. Gordon
19617cb9c5 Cleaned up headers and footers on Mir code.
--HG--
extra : histedit_source : c04a94b552d09ab2bd4fb0eb51d2631bed6c2444%2C7cc6fe93d0560fbadbd2f06f5119be4378abe04e
2014-02-02 23:54:10 -05:00
Ryan C. Gordon
adb4d0965e Added Mir video target (thanks, Brandon!).
--HG--
extra : rebase_source : 9564f37024fe0ffe8139803eeb198c9a1fd142d9
extra : histedit_source : 872a8f12b9891854366f6932c7240fca7c2fad9a%2Ca3feb8654d46fbe0caeea33ccbc90e4b457dbc11
2014-02-02 23:41:46 -05:00
Philipp Wiesemann
49074eae7b Fixed including SDL_internal.h twice for DirectFB. 2014-02-02 20:58:46 +01:00
Sam Lantinga
d7940a513e Fixed bug 2374 - Update copyright for 2014...
Is it that time already??
2014-02-02 00:53:27 -08:00
Sam Lantinga
420a70436c Fixed bug 2376 - no SDL_HasAVX
Haneef Mubarak

AVX is the successor to SSE* and is fairly widely available. As such, it really ought to be detectable.

This functionality ought to be trivial to implement, and not having it means being forced to write an ugly workaround to check for AVX (so that normal SSE can be used if AVX is not available).

Here is an example on detecting AVX from SO (it actually shows ways to cehck for all of teh fancy instructions):

http://stackoverflow.com/questions/6121792/how-to-check-if-a-cpu-supports-the-sse3-instruction-set
2014-02-02 00:33:31 -08:00
Jørgen P. Tjernø
d17c440442 Add SDL_GL_ResetAttributes.
--HG--
extra : rebase_source : 0a6fd1c977ab93ba651adaae3fa5a71d7c69fa8e
2014-01-29 18:38:13 -08:00
Sam Lantinga
a09aac7720 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
2014-01-30 12:30:40 -08:00
Sam Lantinga
d9f1c7b666 Document Michael's changes adding TranslateMessage() back to the SDL message loop. 2014-01-30 12:27:24 -08:00
Sam Lantinga
ff4616a9f6 * 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. 2014-01-30 12:27:00 -08:00
Jørgen P. Tjernø
fa2b1bca37 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.

--HG--
extra : rebase_source : df8cb6520810c2174f4960c263840b0ed47a757c
2014-01-29 18:37:23 -08:00
dbrady
e2653cfbe5 fixed hat code validation. 2014-01-28 15:28:20 -08:00
Philipp Wiesemann
4900721db6 Fixed spaces in source file license comment. 2014-01-29 00:29:14 +01:00
Philipp Wiesemann
d66561a66d Fixed comments in joystick implementation files claiming to be headers.
It seems comments were originally copied from SDL_sysjoystick.h.
2014-01-29 00:27:54 +01:00
Gabriel Jacobo
299247a5ed [Wayland] Fixes segfault when mouse enters window 2014-01-28 11:39:37 -03:00
Jørgen P. Tjernø
0b00b27fc8 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.
2014-01-27 13:43:04 -08:00
Ryan C. Gordon
24aaf535bc Patched to compile...uh, everywhere. :) 2014-01-27 16:13:13 -05:00
Ryan C. Gordon
452acbeeab Patched to compile on Windows when not supporting Direct3D. 2014-01-27 16:10:15 -05:00
Gabriel Jacobo
b878543be3 [Android] Fixes Bug 2370, don't send accelerometer changes when
Android_JNI_GetAccelerometerValues return SDL_FALSE (thanks to Jairo Luiz)
2014-01-27 17:59:19 -03:00
Gabriel Jacobo
196de652c5 Bug 2358 - [Android] Joystick Button Mappings are strange (fix by David Brady) 2014-01-23 08:44:25 -03:00
Ryan C. Gordon
e1cd175738 Fix detection of iOS for disabling dynamic API. 2014-01-22 12:39:34 -05:00
Gabriel Jacobo
3ae02c72db Fixes 2356, [Android] SDL_JoystickGetAttached does not function
Also fix a potential NULL pointer access in android/SDL_SYS_JoystickGetGUID

--HG--
extra : source : 215d88851d3a51422efeb30d50476e8b34337a95
2014-01-21 18:20:12 -03:00
Gabriel Jacobo
22d076b16f Move Wayland driver above dummy, check for driver availability before creation 2014-01-20 20:25:43 -03:00
Ryan C. Gordon
831ef8c592 Patched to compile if Wayland is disabled via SDL_config.h (thanks, Martin!).
Fixes Bugzilla #2351.
2014-01-20 12:53:44 -05:00
Sam Lantinga
b1e60f303c Make sure you clean up the associated renderer when destroying a window. 2014-01-18 11:47:03 -08:00
Gabriel Jacobo
836efb4c3e Fixes prototype declaration for wl_proxy_marshal_constructor [Wayland 1.4] 2014-01-16 15:02:41 -03:00
Gabriel Jacobo
f6e748c3a9 Fix to compile against the Wayland v1.4 headers 2014-01-16 11:33:39 -03:00
Jørgen P. Tjernø
4cb3bff047 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

--HG--
extra : histedit_source : 79338e62e43f2514a843aac8b62afa3e50c3fd5c
2014-01-15 11:34:03 -08:00
Jørgen P. Tjernø
f93c2e774a Mac: Don't give windows focus back when we're closing them.
Fixes bug #1840 (https://bugzilla.libsdl.org/show_bug.cgi?id=1840)

--HG--
extra : histedit_source : bd88f90110eb00ed9572073f7cc39a53e22a5d1b
2014-01-15 11:31:56 -08:00
Jørgen P. Tjernø
fcd0b2efc3 Allow switching between FS and desktop FS.
This should fix bug #2057 (https://bugzilla.libsdl.org/show_bug.cgi?id=2057)

--HG--
extra : histedit_source : 831e19a46dc0f4fe2e37c0cf0685c98706bada3c%2C9f25529300b5784d3b0574a060366c1625da11f1
2014-01-15 11:17:09 -08:00
Jørgen P. Tjernø
38a50a1236 Test: Add Shift-Enter to switch between FS and desktop FS. 2014-01-15 11:08:55 -08:00
Jørgen P. Tjernø
ff68a1209b Tests: Refactor key modifier checking.
--HG--
extra : histedit_source : 97ec656c66fe1197d537484335ee7a0926ee5728%2C6b85a2c4eb34fd410c7a0549a065ad6b44a746bd
2014-01-15 10:40:14 -08:00
Jørgen P. Tjernø
406ae45a58 Mac: Trigger SDL_FINGERUP for all touches.
Fixes bug #2348. Thanks to Alex Szpakowski for the patch!
2014-01-14 17:33:24 -08:00
Gabriel Jacobo
305b4e4afe Make EGL loading more resilient.
Lesson learned while trying to run L4D2 under Wayland :)
2014-01-14 21:29:38 -03:00