Commit graph

655 commits

Author SHA1 Message Date
the_fiddler
46d7abc467 Fixed eglGetProcAddress entry point (was eglCopyBuffer). 2011-05-07 18:52:47 +00:00
the_fiddler
cf4619fe6d Added PFD_SUPPORT_COMPOSITION on Vista and higher, to avoid inadvertently disabling Aero.
Allow non-accelerated formats when all accelerated ones fail. Fixes issue [#2224]: "Getting GraphicsModeException from WinGraphicsMode constructor".
2011-02-09 00:23:43 +00:00
the_fiddler
36913ab2bb Add DrawToWindow and SupportOpenGL flags to GetModesARB and check whether Wgl.Arb.ChoosePixelFormat() worked correctly (to avoid undefined results). 2011-01-18 22:34:06 +00:00
the_fiddler
c5e9cea43b * Egl.cs:
* EglContext.cs:
* EglGraphicsMode.cs: Added a parameter to indicate which ES renderer
  version we wish to use. Fixes issue [#2247]: "CreateEGLGraphicsMode
  should select the correct renderer".
2011-01-18 00:29:38 +00:00
the_fiddler
b62effc488 * EglWindowInfo.cs: Corrected error checking for
CreateWindowSurface. Fixes issue [#2248]: "EGL CreateWindowSurface
  function is incorrect".
2011-01-17 23:55:48 +00:00
the_fiddler
799b321375 * EglGraphicsMode.cs:
Removed unused Egl.GetConfigs call.
2011-01-14 10:28:37 +00:00
the_fiddler
0c27512d5f * EglGraphicsMode.cs:
Added missing RENDERABLE_TYPE bits to EGL mode selection. This is
required by the OpenGL ES spec.
2011-01-14 01:57:59 +00:00
the_fiddler
140a278b3e Do not try to register device when device description is empty. 2010-12-03 12:29:01 +00:00
the_fiddler
223c911bf9 * Platform/MacOS/HIDInput.cs, Platform/MacOS/MacOSFactory.cs:
Added support for raw keyboard input.
2010-11-30 23:23:42 +00:00
the_fiddler
e75e4a64b8 * Platform/MacOS/CarbonGLNative.cs:
Fixed handling of key repeat.
Fixed crash when unknown key is pressed.
2010-11-30 23:22:56 +00:00
the_fiddler
24af8471c9 * MacOS/CarbonGLNative.cs:
Removed unnecessary debug information.
2010-11-26 13:32:52 +00:00
the_fiddler
6078b4530a * EventInfo.cs, AglContext.cs, MacOSKeyMap.cs, Application.cs,
CarbonInput.cs, CarbonGLNative.cs, MacOSException.cs,
CarbonBindings/Agl.cs, CarbonBindings/CarbonAPI.cs,
CarbonBindings/MacOSKeys.cs, CarbonBindings/SpeechChannel.cs,
CarbonBindings/CoreFoundation.cs,
CarbonBindings/QuartzDisplayServicesAPI.cs:
Normalized licensing information.
2010-11-26 11:41:45 +00:00
the_fiddler
db6cc338f5 * Platform/MacOS/CarbonGLNative.cs:
Implemented CursorVisible property. Aligned mouse behavior to win32 &
x11. General code cleanup.
2010-11-26 11:01:51 +00:00
the_fiddler
37a744acb3 * Platform/MacOS/CarbonBindings/QuartzDisplayServicesAPI.cs:
Added support for mouse control.
2010-11-26 11:00:57 +00:00
the_fiddler
96791683d0 * Platform/MacOS/CarbonBindings/CarbonAPI.cs:
Added support for mouse delta events.
2010-11-26 11:00:27 +00:00
the_fiddler
7f0212a5fe Disabled event suppression after cursor movements. 2010-11-26 10:59:08 +00:00
the_fiddler
1a3df17dff Implemented SetPosition in terms of CGWarpMouseCursorPosition.
Added constructors to HIPoint.
2010-11-25 00:30:16 +00:00
the_fiddler
5caf6204de Implemented new multi-mouse API on Mac
OS X.
2010-11-24 23:49:40 +00:00
the_fiddler
898315a58f Use main run loop for input callbacks. This way we don't have to run the loop ourselves.
Unregister callbacks for removed devices.
2010-11-24 13:13:14 +00:00
the_fiddler
6a4b41d975 Device discovery now works correctly. Added support for input value callbacks. 2010-11-24 12:50:08 +00:00
the_fiddler
7a83b5decb * MacOSGraphicsMode.cs:
* CarbonBindings/Agl.cs: Added AGL-based GraphicsMode detection on Mac
  OS X. Fixes issue [#1679]: "GraphicsMode returns hardcoded mode on
  Mac OS X".
2010-11-24 00:55:19 +00:00
the_fiddler
4f041bca92 [Win32] Implemented Mouse.SetPosition via SetCursorPos. This was refreshingly simple, the function works exactly as expected! (unlike XWarpPointer on X11) 2010-11-23 22:10:49 +00:00
the_fiddler
d408fd54ce Avoid loading Wgl entry points automatically. This is now explicitly done through WinGLContext. 2010-11-23 22:08:53 +00:00
the_fiddler
227c0dc12e * X11Mouse.cs: Updated comments to clarify the capabilities of the driver. 2010-11-23 19:26:35 +00:00
the_fiddler
ff8e42c77a * XI2Mouse.cs: Removed unused code. 2010-11-23 19:21:28 +00:00
the_fiddler
6d00a1cce3 * X11Mouse.cs: Added SetPosition() implementation.
Added detection of pointer warping and used it to fake relative
  motion.
2010-11-23 19:21:17 +00:00
the_fiddler
76e1d4064b * Input/Mouse.cs:
* Input/IMouseDriver2.cs:
* Platform/X11/X11Mouse.cs:
* Platform/X11/XI2Mouse.cs:
* Platform/X11/Functions.cs:
* Platform/Windows/WMInput.cs:
* Platform/X11/X11GLNative.cs:
* Platform/Windows/WinRawMouse.cs: Added ability to set the position
  of the mouse cursor.
[X11] Avoid grabbing the pointer, as this causes unexpected
  side-effects (XInput2 stops working, debugging becomes difficult).
  We now use XWarpPointer and try to discard the spurious MouseMove
  events it generates.
[X11] Make cursor visible when window loses focus, to make debugging
  easier. Restore previous state when it regains focus.
2010-11-23 17:17:13 +00:00
the_fiddler
82e5401779 * OpenTK.csproj:
* Platform/MacOS/HIDInput.cs:
* Platform/MacOS/MacOSFactory.cs:
* Platform/MacOS/CarbonBindings/CoreFoundation.cs: Initial work on HID
  input manager.
2010-11-22 15:57:26 +00:00
the_fiddler
569c4c86c7 Refactored and simplified DisplayDevice detection (devices are now stored in the platform-specific drivers instead of the frontend).
Made XRR resolution changes more robust.
Resolution changes now refresh the DisplayDevices on Windows.
2010-11-21 20:16:18 +00:00
the_fiddler
294f23f34a Improved and simplified behavior of RelaxParameters. Removed unused code. 2010-11-11 19:32:22 +00:00
the_fiddler
1f715a0c1a Added workaround for zoom-in/zoom-out keys on Microsoft Digital 3000 keyboard. These keys report 0 as a device id, but no such device exists. 2010-11-09 15:19:58 +00:00
the_fiddler
68d35f7d69 * X11GLNative.cs: Added missing KeyDown/KeyUp events. 2010-11-09 11:52:14 +00:00
the_fiddler
3d40ef377b Capture ButtonUp events after ButtonDown even if the mouse leaves the window. 2010-11-09 08:55:55 +00:00
the_fiddler
0c45d7c169 Use async input to poll the keyboard/mouse. 2010-11-08 22:19:44 +00:00
the_fiddler
1f037d077c Reverted to wait for messages. 2010-11-08 22:19:19 +00:00
the_fiddler
f99d6a2c1c Removed obsolete System.Windows.Forms reference. 2010-11-08 21:47:24 +00:00
the_fiddler
e601852547 Added new KeyDown and KeyUp events. 2010-11-08 21:45:15 +00:00
the_fiddler
0a9912469a Removed dependency on System.Windows.Forms. 2010-11-08 21:44:56 +00:00
the_fiddler
9eeac5d40b Refactored input drivers in terms of WinInputBase to reduce code duplication. 2010-11-08 21:43:29 +00:00
the_fiddler
6e00ecefa1 Minor spelling fix.
Use POINT structure instead of System.Drawing.Point.
2010-11-08 21:41:44 +00:00
the_fiddler
1bacea0779 WinRawInput requires Windows 5.1 (XP) or higher. 2010-11-08 21:40:43 +00:00
the_fiddler
045d3d73f6 Removed unimplement SetPixelFormatARB - no such function exists.
Added aggressive locking during context creation and delegate loading in order to avoid potential race conditions.
Now uses Wgl.Imports directly wherever possible in order to improve performance and avoid race conditions.
Slightly improved debugging messages.
2010-11-08 21:38:32 +00:00
the_fiddler
9150a99252 Minor cosmetic fixes. Removed unused code. 2010-11-08 21:36:10 +00:00
the_fiddler
3a57aa777a Removed WinForms dependency and performed general code cleanup. 2010-11-08 19:48:01 +00:00
the_fiddler
3a967fcfb7 Added GraphicsModeComparer for GraphicsMode comparisons.
Added WinInputBase as a base abstraction for all win32 input class.
2010-11-08 19:45:58 +00:00
the_fiddler
cff4ab2d3c Retrieve all pixel formats at once and select the correct one through a custom selection predicate. Simplifies the code significantly and reduces the chance of race conditions. 2010-11-08 19:41:24 +00:00
the_fiddler
2aa1dcef1d Avoid reference to System.Windows.Forms.
Pass a concrete GraphicsMode to the context constructor in SelectPixelFormatARB to avoid NRE.
2010-11-08 16:01:50 +00:00
the_fiddler
b8b32c4f9c Removed duplicate success message. 2010-11-08 15:58:42 +00:00
the_fiddler
16feb28cca Release both shift keys when one is released. Otherwise, we end up with stuck keys. 2010-11-08 08:59:32 +00:00
the_fiddler
52d38059f4 * XI2Mouse.cs:
* X11Factory.cs: Removed window hooking, as it complicates code
  unnecessarily.
2010-11-04 18:01:07 +00:00