thefiddler
1b0a72472e
[SDL] Use TranslateAxis() to decode ControllerAxisEvent
...
SDL GameControllerAxis and GamePadAxes are not interchangeable. The
driver will now correctly interpret incoming SDL messages and update
the GamePadState for the relevant axis.
2013-12-30 13:42:37 +01:00
thefiddler
f7fbf38c43
IsButtonBind should check for buttons, not axes
2013-12-25 01:47:27 +01:00
thefiddler
b4b8bc1665
Implemented SDL IJoystickDriver2 and IGamePadDriver
2013-12-24 19:15:23 +01:00
thefiddler
c51c4934df
Added GameControllerGetBind APIs
2013-12-24 19:14:54 +01:00
Stefanos A
2839db587e
Implemented thumbsticks and trigger caps
2013-12-24 17:18:04 +01:00
Stefanos A
7e5307bd4a
Added IJoystickDevice2 interface
2013-12-24 17:18:03 +01:00
Stefanos A
44351a03c4
More robust handling of device add/remove events
2013-12-24 17:18:02 +01:00
Stefanos A
31ce400a7e
Fixed expansion of joysticks collection
2013-12-24 17:18:02 +01:00
Stefanos A
2f1a81da2c
Log errors in subsystem initialization
2013-12-24 17:18:02 +01:00
Stefanos A
1d61bd9dd2
Reuse Sdl2Factory.InputDriver in Sdl2NativeWindow
2013-12-24 17:18:01 +01:00
Stefanos A
a72d70c3d0
Delay joystick initialization until necessary
2013-12-24 17:18:01 +01:00
Stefanos A
3660509dee
Added SDL_InitSubSystem method
2013-12-24 17:18:01 +01:00
thefiddler
484af18673
Updated internal IGamePadDriver interface
2013-12-24 17:18:00 +01:00
thefiddler
ee65f81f56
Implemented GameController API bindings
2013-12-24 17:18:00 +01:00
thefiddler
d9985fc571
Use SDL2 event API for joystick devices
2013-12-24 17:18:00 +01:00
thefiddler
022e5c845c
Implemented SDL2 Joystick and GameController events
2013-12-24 17:17:59 +01:00
Stefanos A.
498f16c2bd
Improved diagnostics
...
This helps when tracking down GraphicsContext-related issues in SDL2.
2013-12-16 10:39:54 +01:00
Stefanos A.
6ad91dcc5b
Added hack for MonoGame compatibility
...
MonoGame uses reflection to access internal APIs. We need to keep these
available until this is fixed downstream.
2013-12-16 10:39:11 +01:00
Stefanos A.
1392d48ec0
Protect against recursion in Closing event
...
Misbehaving clients that shall not be named here may call
GameWindow.Close() inside the GameWindow.Closing event. This causes
recursion in SDL2, crashing the application.
This patch adds a guard to protect against recursion when calling
GameWindow.Close().
2013-12-16 10:37:59 +01:00
Stefanos A
e9f54dc61e
Fixed memory corruption on string return type marshaling
2013-12-15 20:57:25 +01:00
Stefanos A
dfd683ef49
Merge master into no-reflect
2013-12-15 16:36:37 +01:00
Stefanos A
0bdb871e90
Merge remote-tracking branch 'origin/master' into no-reflect
2013-12-05 14:53:37 +01:00
Stefanos A.
1475b3d427
Made DPI-awareness configurable (issue #6 )
...
It is now possible to indicate that an application is not DPI-aware. In
that case, OpenTK will let the operating system handle DPI scaling. This
results in worse visuals (pixel doubling) but allows non DPI-aware
applications to continue working.
2013-12-02 22:18:16 +01:00
Stefanos A.
c53c0bc66f
Added GetProcAddress(IntPtr) overloads
...
This might allow us to improve startup performance, by avoiding string
marshaling during extension loading.
2013-11-28 23:21:19 +01:00
Elias Holzer
6ee04b2ff9
Implemented KeyPress event for Sdl2NativeWindow.
2013-11-22 18:05:11 +01:00
Elias Holzer
f851d8887c
Implemented KeyDown and KeyUp events for Sdl2NativeWindow.
2013-11-22 18:04:53 +01:00
Stefanos A.
08701d318c
Destroy SDL window when finalized
...
SDL_DestroyWindow must be called on the main thread. If the window is
finalized, the finalizer will push a CLOSE event to the event loop
(thread-safe) and the window will be destroyed on the main thread.
2013-11-21 09:31:32 +01:00
Stefanos A.
75d4f3d07c
Fixed #5
...
We need to release the cursor before closing a GameWindow, otherwise
subsequent GameWindows may fail to receive mouse events.
2013-11-20 18:05:45 +01:00
Stefanos A.
1d19a80b53
Removed incorrect comment
2013-11-20 13:05:49 +01:00
Stefanos A.
48803bb4d6
Fixed #4
...
Sdl2InputDriver.Dispose() would call SDL_DelEventWatch with a different
"user_data" parameter than SDL_AdEventWatch. This caused the EventFilter
to remain registered and subsequently crash when closing and reopening a
window.
2013-11-20 09:10:12 +01:00
Stefanos A.
32828ecd8a
Do not call SDL.GetVersion unless requested
2013-11-18 18:35:23 +01:00
parallels
7f921dae47
Merge branch 'master' of https://github.com/thefiddler/opentk into modes
2013-11-09 17:15:05 +01:00
parallels
da684d233e
Swallow DllNotFoundException in Sdl2 constructor
2013-11-09 17:13:24 +01:00
Stefanos A
0f01a6d128
Stronger check for ES support
...
It is not enough to check for EGL, we also need to check that
ContextProfileFlags.ES is set.
2013-11-09 15:07:18 +01:00
Stefanos A
f77a6b11c3
SDL_GL_GetAttribute requires a valid context
...
Calling SDL_GL_GetAttribute when context construction has failed leads
to erroneous behavior. This call should only be made when a context has
been constructed correctly.
2013-11-08 17:31:54 +01:00
Stefanos A
e0ffd9b42d
More sane Sdl2Factory.CreateGetCurrentContext() implementation
2013-11-08 15:26:52 +01:00
Stefanos A
29fe1052de
Added SDL_GL_GetCurrentContext method and TouchMouseID constant.
...
SDL_GL_GetCurrentContext will allow us to replace the weird
implementation in Sdl2Factory.CreateGetCurrentGraphicsContext()
and the latter to disable mouse emulation if we wish to.
Conflicts:
Source/OpenTK/Platform/SDL2/Sdl2.cs
2013-11-08 15:25:42 +01:00
Stefanos A
28fa768257
Fixed platform detection for Android
...
Conflicts:
Source/OpenTK/Configuration.cs
2013-11-08 10:54:50 +01:00
Stefanos A.
c9b905d235
Stronger check for ES support
...
It is not enough to check for EGL, we also need to check that
ContextProfileFlags.ES is set.
2013-11-08 10:42:48 +01:00
Stefanos A.
62c9793a6e
Fixed number of buffers
...
ContextAttribute.DOUBLEBUFFER is a boolean in SDL (false->single
buffering, true->double buffering). We need to adjust the number of
buffers accordingly (single buffering->1 buffer, double buffering->2
buffers).
2013-11-06 01:04:59 +01:00
Stefanos A.
be6c583f4f
Implemented Sdl2GraphicsMode..
2013-10-24 09:32:17 +02:00
Stefanos A.
192fedbca5
Removed sdl2-cs in favor of a leaner, better-designed binding.
2013-10-24 02:02:35 +02:00
Stefanos A
80f0569f9a
Implemented new, leaner SDL2 binding.
...
The new binding is based on the SDL2.0.1 RC1 headers.
2013-10-24 01:45:13 +02:00
Stefanos A
915ead34cb
Modify dllimport path on Android builds.
2013-10-12 15:17:10 +02:00
Stefanos A
1130d988b0
Use OpenTK.Minimal to stub out missing System.Drawing functionality
...
when building on Android or iOS platforms.
2013-10-12 05:06:54 +02:00
thefiddler
f013c44ba1
Fixed Tilde and Number1 scancodes
2013-10-11 09:51:08 +02:00
Stefanos A
5aba35668b
Always Set HIDPI flag
...
It does not to set this flag on previous SDL2 versions, it is ignored silently when not supported.
2013-10-10 00:34:15 +02:00
Stefanos A
fb86334835
HIDPI support requires SDL > 2.0.0
...
SDL_GL_GetDrawableSize was introduced after 2.0.0, so we need to check for that version before we call this method. Fixes MethodNotFounException on vanilla libsdl2-2.0.0 on linux.
2013-10-07 14:17:42 +03:00
Stefanos A
d81bedf5f8
Moved all input processing to Sdl2InputDriver
...
This reduces the duplication of code between Sdl2NativeWindow and
Sdl2InputDriver. Sdl2InputDriver is now solely responsible for handling
input.
2013-10-04 10:02:19 +02:00
Stefanos A
bad2b7b6d7
Implemented IDisposable in Sdl2Joystick
...
Sdl2Joystick calls SDL_JoystickOpen, which means we must call
SDL_JoystickClose on shutdown.
2013-10-04 10:00:57 +02:00