Commit graph

5479 commits

Author SHA1 Message Date
thefiddler
96aaef9b37 [Mac] Implemented Mouse.GetCursorState() 2014-05-12 02:20:53 +02:00
thefiddler
b89c920f32 [Examples] Test Mouse.SetPosition 2014-05-12 02:20:52 +02:00
thefiddler
7eefb3e3ff [SDL] Use h-wheel events 2014-05-12 02:20:52 +02:00
thefiddler
bb8dfe4304 [Input] Improve SDL2 and Windows GetCursorState 2014-05-12 02:20:52 +02:00
thefiddler
f4a3cab0e0 [Input] Added Mouse.GetCursorPos() (WIP) 2014-05-12 02:20:52 +02:00
thefiddler
cd7342b688 Merge pull request #114 from thefiddler/nativewindow
INativeWindow cleanup and consolidation
2014-05-12 02:20:29 +02:00
thefiddler
0e48ad30d0 [Examples] Fixed Scroll.X/Y misreporting
Scroll.X and Y are no longer swapped.
2014-05-10 01:52:06 +02:00
thefiddler
d7e0373852 [Platform] Fixed keys getting stuck on focus loss
NativeWindowBase will now clear all keyboard keys when losing focus.
This prevents keys from getting stuck when refocusing the window.

[Win] Also fixed WindowState.Maximized when WindowBorder is Hidden and
the window is minimized.
2014-05-09 16:45:45 +02:00
thefiddler
4556e54405 [Win] Fixed infinite recursion 2014-05-09 16:14:13 +02:00
thefiddler
fb034de00d [Graphics] Made entry points internal
Internal protected means internal *or* protected, not internal *and*
protected.
2014-05-09 15:24:12 +02:00
thefiddler
c98b4ea178 [Input] Do not hook FocusedChanged
This is handled by NativeWindowBase now.
2014-05-09 15:23:39 +02:00
thefiddler
8eae337d93 [Win] Cleaned up window size/pos properties 2014-05-09 15:22:33 +02:00
thefiddler
f0d0f6e53a [X11] Fixed WindowBorder and WindowState setters
After many hours of fighting with xlib, the monster is slain and
WindowBorder/WindowState changes now take effect without messing
up the window size or position on the desktop.

Phew!
2014-05-09 13:10:23 +02:00
thefiddler
ab29797079 [Platform] Raise KeyUp events on focus lost
This ensures that no keys are stuck in pressed state when the user
switches away from the application window.
2014-05-09 01:50:48 +02:00
thefiddler
86146f54d5 [X11] Fixed key repeat 2014-05-09 00:26:51 +02:00
thefiddler
8195800ee7 [X11] Improved vsync support
OpenTK will now check for GLX_EXT_swap_control, GLX_MESA_swap_control
and GLX_SGI_swap_control. This allows us to control vsync on more
systems.
2014-05-09 00:13:23 +02:00
thefiddler
d430b462fe [X11] Corrected size events 2014-05-08 20:58:11 +02:00
Dave Leaver
81bf3e6f7f Correct spelling in INativeWindow 2014-05-08 10:21:27 +12:00
thefiddler
bfaff0bd66 [GL] Added generic RenderbufferStorage depth-stencil formats
According to the OpenGL 4.4 specification, RenderbufferStorage accepts
both generic and sized depth-stencil formats (DepthComponent and
DepthStencil). See sections 9.2.4, 9.2.5 and 9.4.
2014-05-07 23:21:24 +02:00
thefiddler
e3fd9e1374 [SDL] Avoid CursorVisible = true cursor jump 2014-05-06 09:36:30 +02:00
thefiddler
a270b9328e [SDL] Report mouse in client coordinates 2014-05-06 09:31:35 +02:00
thefiddler
7e86d349d2 [Examples] Test MouseCursor in GameWindowStates 2014-05-06 09:12:08 +02:00
thefiddler
b1f627893b [Mac] Fixed PointTo* calculations
On HiDPI displays, the client rectangle is using a pixel-based
coordinate system, while the screen is using a point-based coordinate
system. PointToClient/PointToScreen now correctly accounts for that.
2014-05-06 09:03:13 +02:00
thefiddler
cd315a3bd6 [Platform] Forward PointToScreen to backend 2014-05-06 09:02:09 +02:00
thefiddler
637a8bee66 [Platform] More selective mouse events
We should not raise mouse events when the cursor state hasn’t changed.
2014-05-06 09:01:23 +02:00
thefiddler
3408523e27 [Examples] Added PointToClient test 2014-05-06 09:00:42 +02:00
thefiddler
52efa3b629 [SDL] Improved documentation of Event size hack 2014-05-05 15:11:01 +02:00
Stefanos A
dffabcb94a [SDL] Fixed a stack corruption issue on win32 2014-05-05 12:46:48 +02:00
thefiddler
41276361fb [Mac] Report KeyDown/Up events for modifier flags 2014-05-05 09:14:14 +02:00
thefiddler
2e9ff4d8b9 [Examples] Print KeyboardState 2014-05-05 00:56:19 +02:00
thefiddler
b53d4a6554 [Examples] Test key events for consistency 2014-05-05 00:43:58 +02:00
thefiddler
8b7d5bc7e4 [Input] Implement key repeat 2014-05-05 00:43:45 +02:00
thefiddler
d968281a1b [OpenTK] Refactor keyboard and mouse handling
A lot of duplicated code is now moved to NativeWindowBase and
LegacyInputDriver.
2014-05-04 17:05:08 +02:00
thefiddler
e155d647de [X11] Added X11KeyMap.TranslateButton()
This code was duplicated on four different places before.
2014-05-04 17:04:03 +02:00
thefiddler
28a1849a72 [Mac] Moved MacOSKeys to MacOS namespace
They are used by both Carbon and Cocoa, so there is little reason to
keep them in MacOS.Carbon
2014-05-04 17:02:37 +02:00
thefiddler
2d5afcf0e8 [Input] Update state through HandleKey* events 2014-05-04 17:02:00 +02:00
thefiddler
268e8fccde [Input] Removed pointless unsafe region 2014-05-04 17:01:34 +02:00
thefiddler
1096a8802a [Input] Removed pointless ValuePrecise setter 2014-05-04 16:58:59 +02:00
thefiddler
7af710f4dd [Input] Removed pointless MouseDevice.SetState
MouseDevice state should only be modified through its HandleMouse*
methods, not directly.
2014-05-04 16:58:24 +02:00
thefiddler
4b115c443b [Mac] Add horizontal scrolling 2014-05-04 15:24:02 +02:00
thefiddler
30c73e8ead [OpenTK] Raise NativeWindow.Mouse* events 2014-05-04 15:23:40 +02:00
thefiddler
9dab96c5c1 [Mac] Disable momentum scrolling and key pop-ups
We might wish to add an option to re-enable momentum scrolling, as this
might be useful to some applications for a more native feel.
2014-05-04 15:23:24 +02:00
thefiddler
15f5abe1e1 [Platform] Remove lambdas 2014-05-04 08:34:13 +02:00
thefiddler
1457e44309 [Examples] Hook both MouseDevice and Mouse events
They should give identical results.
2014-05-04 08:33:51 +02:00
thefiddler
67359a5d90 [Input] MouseDevice is now based on MouseState
This way we have a single state representation (MouseState), shared by
all mouse APIs and events.
2014-05-04 08:33:20 +02:00
thefiddler
e093fd23f6 [Mac] Avoid calling into LegacyInputDriver 2014-05-04 08:32:26 +02:00
thefiddler
ff46455e56 [X11] Removed legacy X11Input driver
Its functionality has been moved directly into X11GLNative and
X11KeyMap.
2014-05-04 08:32:08 +02:00
thefiddler
39eb3b1892 [Input] Improved MouseState.ToString() 2014-05-04 08:31:11 +02:00
thefiddler
94fdf1881c [Platform] Improved mouse interface
- The complete mouse state is now available in mouse events
- Horizontal wheels are now supported
- MouseState now takes up less memory and has a simpler internal
implementation.
2014-05-04 01:29:55 +02:00
thefiddler
e85377c350 [Platform] Added support for horizontal wheel 2014-05-03 16:47:03 +02:00