Commit Graph

5804 Commits

Author SHA1 Message Date
David Ludwig da0c0a4a33 WinRT: fixed bug: touch input coordinates weren't normalized [0..1]
Thanks to Pierre-Yves for pointing this out and providing a fix!
2013-11-28 21:15:05 -05:00
Sam Lantinga 9fa4da1353 Fixed windows build with conflict resolve 2013-11-28 02:31:32 -08:00
Sam Lantinga dee481350c Added alternative XBox 360 controller GUID on Linux
Leszek Godlewski

As described in the other thread
(http://lists.libsdl.org/pipermail/sdl-libsdl.org/2013-November/091997.html),
I've run into a case of SDL2 not recognizing a wireless Xbox 360
controller receiver properly on Debian Linux amd64 testing.
Apparently, the generated GUID is slightly different.

Device in question:
Bus 001 Device 015: ID 045e:0291 Microsoft Corp. Xbox 360 Wireless
Receiver for Windows
2013-11-27 10:29:43 -08:00
Sam Lantinga d2511d9ef9 Fixed bug 2260 - SDL_SetCursorGrab() is buggy on Windows
BurnSpamAddress

Steps to reproduce:
1. Grab the cursor with SDL_SetCursorGrab()
2. Alt-tab away from the window
3. Click on the titlebar of the window

This will cause the window to disappear underneath the taskbar!

This appears to be a general issue with ClipCursor() on windows, i.e. I am getting the same behavior if I call ClipCursor() directly.

It is caused by a feedback loop between the ClipCursor function and the modal resize/move event loop that handles mouse-based sizing on Windows.
2013-11-27 10:29:38 -08:00
Sam Lantinga fa4e4a643a Fixed large relative mouse motion when iconifying the SDL window.
Windows will move the window to -32000,-32000 when it is iconified, so we don't want to send mouse motion for iconic windows.
2013-11-27 10:29:32 -08:00
Sam Lantinga 2bb344d6dc Don't crash when no WM is present.
CR: Sam Lantinga.
2013-11-27 10:29:27 -08:00
Sam Lantinga 8574c0815c Fixed bug 2274 - SDL_ceil is incorrectly implemented when HAVE_LIBC is not defined
Ghassan Al-Mashareqa

The SDL_ceil function is implemented incorrectly when HAVE_CEIL is not defined (HAVE_LIBC not defined).

The following code:

    double val = SDL_ceil(2.3);
    printf("%g", val);

prints "2.0", as STD_ceil is defined as:

    double
    SDL_ceil(double x)
    {
    #ifdef HAVE_CEIL
        return ceil(x);
    #else
        return (double)(int)((x)+0.5);
    #endif /* HAVE_CEIL */
    }

This functions is used in the SDL_BuildAudioResampleCVT function of the audio subsystem (SDL_audiocvt.c), and causes a bug in that function.
2013-11-27 00:29:46 -08:00
Gabriel Jacobo c343eab67a Fixes #2271, Add KD detection under CMake by Scott Percival 2013-11-26 11:50:54 -03:00
Gabriel Jacobo 96fe749fc7 Fixes #2272, typo in CMakeLists.txt (thanks Boris Bendovsky!) 2013-11-26 11:47:52 -03:00
Gabriel Jacobo 1ad0d24828 [Android] Fixes #2228, reworked touch code
Lets Android take care of which is the primary pointer (the one acting as the
mouse in SDL), reorganized the Java side code as well to make it easier to
understand.
2013-11-25 12:28:09 -03:00
Ryan C. Gordon 7e1289af32 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.
2013-11-24 23:56:17 -05:00
Ryan C. Gordon 31caa22d30 Patched stdlib changes to compile on Windows. 2013-12-09 13:30:35 -05:00
Ryan C. Gordon b72c8bcaf8 Regenerate the configure scripts. 2013-11-25 00:11:52 -05:00
Ryan C. Gordon 5c383489a7 We don't need to check for snprintf() anymore, we don't use it.
SDL_snprintf() is built on vsnprintf() where available.
2013-11-24 23:36:15 -05:00
Ryan C. Gordon e769374096 Added SDL_vsscanf(). 2013-11-24 23:35:38 -05:00
Ryan C. Gordon 928b494630 Moved atomic API implementation out of headers. 2013-11-24 21:04:51 -05:00
Ryan C. Gordon 6cbaf9a055 Don't use -falign-loops=16 on Mac OS X anymore.
It isn't available in Clang at all, and was more important on PowerPC.
2013-11-24 21:15:58 -05:00
Sam Lantinga b44e7470de 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 );
	}
2013-12-30 12:49:15 -08:00
Sam Lantinga 6915319683 Switch back to apartment threaded COM initialization, which was the previous default.
We do succeed now if the application previously initialized COM in multi-threaded mode.
2013-12-27 10:18:19 -08:00
Sam Lantinga 6f6c76a6a5 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.
2013-12-27 10:18:18 -08:00
Sam Lantinga 27779311b4 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
2013-12-27 10:18:11 -08:00
Gabriel Jacobo fce6257c49 Implements touch support on QTWayland. Contributed by Thomas Perl. 2013-12-27 09:29:39 -03:00
Philipp Wiesemann 54a1f61a17 Changed return -1 after SDL_SetError() to return SDL_SetError(). 2013-12-25 17:02:15 +01:00
Philipp Wiesemann 87ad7a1c50 Fixed pointer from integer warning and bug if compiled without EGL. 2013-12-25 16:57:59 +01:00
Philipp Wiesemann b2faf3f08d Updated paths in README for Android. 2013-12-25 16:53:39 +01:00
Philipp Wiesemann 65f0142fac Fixed access of command line arguments on Android in two test programs. 2013-12-25 00:11:28 +01:00
Philipp Wiesemann 36cbd50685 Fixed unused local variable warning in test program source. 2013-12-25 00:04:31 +01:00
Philipp Wiesemann 9285537180 Fixed missing @Override annotation warning in source for Android. 2013-12-24 20:04:53 +01:00
Philipp Wiesemann b97e077e47 Fixed unused local variable warning in joystick source for Android. 2013-12-24 20:00:58 +01:00
Philipp Wiesemann 28309c1d13 Fixed implicit declaration of SDL_Log() warning in joystick source for Android. 2013-12-24 19:59:35 +01:00
Philipp Wiesemann 18125f76df Fixed missing return warning in test program source. 2013-12-24 19:55:41 +01:00
Sam Lantinga 2521e49769 Setting the mouse in relative mode implies grabbing the mouse.
This fixes getting mouse button events in raw input relative mode on X11.
2013-12-23 17:55:06 -08:00
Sam Lantinga 7aef2350cf 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.
2013-12-23 17:37:22 -08:00
Sam Lantinga 7fe277cd6a Fixed float to int conversion warning, which was a legitimate bug. 2013-12-23 17:15:32 -08:00
Sam Lantinga 8e0dfef153 Print events with SDL_Log() so they show up in Visual Studio debug output
Added some joystick and controller events to the set that are printed out.
2013-12-23 15:55:47 -08:00
Sam Lantinga 112f60a486 Changed testgamecontroller to wait for controllers to be reattached, the way testjoystick does. 2013-12-23 15:55:08 -08:00
Sam Lantinga 03aece5452 Generate SDL_CONTROLLERDEVICEADDED events for controllers connected at startup 2013-12-23 15:10:03 -08:00
Sam Lantinga 746928350f Added support for double-clicks, through a new "clicks" field in the mouse button event. 2013-12-23 12:17:52 -08:00
Sam Lantinga 3666c1f7ca Explicitly initialize COM with multi-threaded support.
This is the safest option for applications that use COM, multi-threaded or not.
2013-12-23 10:54:27 -08:00
Gabriel Jacobo b5a6c407d0 [Android] Define SDL_VIDEO_OPENGL_ES2 2013-12-16 10:03:26 -03:00
Ryan C. Gordon 45f785f0af Enable ccache for Raspberry Pi buildbot script. 2013-12-15 00:21:42 -05:00
Gabriel Jacobo ec1cb49eab 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
2013-12-14 20:18:43 -03:00
Gabriel Jacobo 4a8c296712 Context sharing for EGL 2013-12-13 09:48:12 -03:00
Gabriel Jacobo 2159de66c4 [Android] Poll joysticks every three seconds 2013-12-12 14:55:33 -03:00
Sam Lantinga 35ab76d083 Fixed bug 2050 - Obvious bugs in SDL_ltoa and SDL_lltoa
pjz

SDL_ltoa(-2147483648,s,10) only returns "-" because there is a bug in the code:

    if ( value < 0 ) {
        *bufp++ = '-';
        value = -value;
    }

but -(-2147483648) is still -2147483648 (0x80000000) as signed int (or long), so the following loop doesn't run at all. Similar bug are also in SDL_lltoa.

BTW, there is no sanity check for radix.
2013-12-11 21:17:24 -08:00
Sam Lantinga fcf692276a Fixed bug 2294 - testdrawchessboard.c Sets the render color alpha to 0x0.
Brandon Schaefer

This means everything will render black if the software rendering backend selects a pixel format that supports alpha. So it seems best to at lease assume alpha is supported.
2013-12-11 21:13:45 -08:00
Gabriel Jacobo bfcd28c1e6 [Android] Hotplugging support for joysticks 2013-12-10 16:24:11 -03:00
Ryan C. Gordon d01ad02be7 Hook up SDL_acos and SDL_asin properly. 2013-12-09 15:17:20 -05:00
Sam Lantinga 5e656f8950 Associate the environment with any thread that calls Android_JNI_GetEnv(), in case it's been manually created with pthread_create() or C++11. 2013-12-07 11:19:52 -08:00
Sam Lantinga 44afc2a305 Fixed crash if no window has keyboard focus 2013-12-06 16:12:18 -08:00