platform/core/csapi/opentk.git
10 years agoMerge pull request #160 from thefiddler/pad_db_hat
thefiddler [Tue, 29 Jul 2014 21:37:06 +0000 (23:37 +0200)]
Merge pull request #160 from thefiddler/pad_db_hat

[Input] Implemented JoystickHat GamePad mapping

10 years ago[Input] Cleaned up line endings and joystick hat mapping
thefiddler [Tue, 29 Jul 2014 21:21:37 +0000 (23:21 +0200)]
[Input] Cleaned up line endings and joystick hat mapping

10 years ago[Input][SDL] Fix JoystickHat bugs
Andrew O'Connor [Sun, 27 Jul 2014 13:54:36 +0000 (14:54 +0100)]
[Input][SDL] Fix JoystickHat bugs

On SDL, DPad inputs were not correctly translated from joystick
hat inputs.
Updated MappedGamePadDriver so that it will correctly recognize
combined joystick hat directions e.g. DPadLeft should be true when
DownLeft, Left, or UpLeft are returned from the joystick hat.

10 years ago[Input] Implemented JoystickHat GamePad mapping
thefiddler [Fri, 25 Jul 2014 21:26:03 +0000 (23:26 +0200)]
[Input] Implemented JoystickHat GamePad mapping

10 years ago[Docs] Updated documentation for 1.1.4c release
thefiddler [Wed, 23 Jul 2014 23:14:05 +0000 (01:14 +0200)]
[Docs] Updated documentation for 1.1.4c release

10 years ago[Input] Corrected invalid GUID in GamePad database
thefiddler [Wed, 23 Jul 2014 23:10:22 +0000 (01:10 +0200)]
[Input] Corrected invalid GUID in GamePad database

10 years ago[Docs] Updated documentation for 1.1.4b release
thefiddler [Wed, 23 Jul 2014 22:37:01 +0000 (00:37 +0200)]
[Docs] Updated documentation for 1.1.4b release

10 years agoMerge pull request #159 from thefiddler/joydb
thefiddler [Wed, 23 Jul 2014 22:30:59 +0000 (00:30 +0200)]
Merge pull request #159 from thefiddler/joydb

[Input] Sync GamePad database with SDL 2.0.4

10 years ago[Input] Sync GamePad database with SDL 2.0.4
thefiddler [Wed, 23 Jul 2014 22:19:41 +0000 (00:19 +0200)]
[Input] Sync GamePad database with SDL 2.0.4

10 years agoMerge pull request #158 from thefiddler/fuzzfix
thefiddler [Wed, 23 Jul 2014 21:53:16 +0000 (23:53 +0200)]
Merge pull request #158 from thefiddler/fuzzfix

[Mac] Improve stability under Cocoa

10 years ago[Mac] Release input driver before other resources
thefiddler [Wed, 23 Jul 2014 21:23:14 +0000 (23:23 +0200)]
[Mac] Release input driver before other resources

The input driver relies on the existence of a CFRunLoop. Releasing it
first ensures that a CFRunLoop is available for its complete life cycle.

10 years ago[Mac] Do not use autorelease pool
thefiddler [Wed, 23 Jul 2014 21:22:00 +0000 (23:22 +0200)]
[Mac] Do not use autorelease pool

Avoids a potential crash on shutdown.

10 years ago[Mac] Correctly release mach port
thefiddler [Wed, 23 Jul 2014 21:21:04 +0000 (23:21 +0200)]
[Mac] Correctly release mach port

The event tap is released automatically along with the mach port. Fixes
crash on shutdown.

10 years ago[Graphics] Implemented structural equality
thefiddler [Wed, 23 Jul 2014 19:24:24 +0000 (21:24 +0200)]
[Graphics] Implemented structural equality

GraphicsContexts are now considered equal if they store the same
context handle. Debugging information is also improved.

10 years ago[Mac] Removed stored delegate list
thefiddler [Wed, 23 Jul 2014 19:23:25 +0000 (21:23 +0200)]
[Mac] Removed stored delegate list

The stored delegate list would store delegates indefinitely, causing a
memory leak. It is now the responsibility of each class to maintain
references to any callback functions it defines.

10 years ago[OpenTK] Removed the finalizer in OpenTK.Toolkit
thefiddler [Wed, 23 Jul 2014 19:22:22 +0000 (21:22 +0200)]
[OpenTK] Removed the finalizer in OpenTK.Toolkit

This resolves crashes related to the platform factory being reset while
resources are still live.

10 years ago[OpenTK] Dispose() now clear the list of resources
thefiddler [Wed, 23 Jul 2014 19:20:28 +0000 (21:20 +0200)]
[OpenTK] Dispose() now clear the list of resources

10 years ago[Mac] Explicitly close removed devices
thefiddler [Wed, 23 Jul 2014 19:19:46 +0000 (21:19 +0200)]
[Mac] Explicitly close removed devices

Devices are now explicitly closed when they a DeviceRemoved event is
received. Additionally, exceptions are no longer allowed to escape into
unmanaged code, where they might crash the runtime.

10 years ago[Mac] Mark callback calling convention
thefiddler [Wed, 23 Jul 2014 19:18:34 +0000 (21:18 +0200)]
[Mac] Mark callback calling convention

Callbacks are now explicitly marked as unmanaged pointers with the
correct (platform-defined) calling convention. Exceptions raised inside
these callbacks are no longer allowed to escape into unmanaged code,
where they will crash the runtime.

Additionally, the window is now only closed on the UI thread, and only
if it is actually open.

10 years ago[Mac] Only dispose context on UI thread
thefiddler [Wed, 23 Jul 2014 19:15:16 +0000 (21:15 +0200)]
[Mac] Only dispose context on UI thread

10 years ago[Mac]] Add NSApplication.IsUIThread property
thefiddler [Wed, 23 Jul 2014 19:14:47 +0000 (21:14 +0200)]
[Mac]] Add NSApplication.IsUIThread property

This can be used to check whether it is safe to access UI components in
the calling thread.

10 years ago[Mac] Resource registration moved to the facades
thefiddler [Wed, 23 Jul 2014 12:36:09 +0000 (14:36 +0200)]
[Mac] Resource registration moved to the facades

10 years ago[Mac] Ensure Cocoa bindings are initialized first
thefiddler [Wed, 23 Jul 2014 12:35:51 +0000 (14:35 +0200)]
[Mac] Ensure Cocoa bindings are initialized first

10 years ago[OpenTK] Register GraphicsContext and NativeWindow
thefiddler [Wed, 23 Jul 2014 12:35:33 +0000 (14:35 +0200)]
[OpenTK] Register GraphicsContext and NativeWindow

10 years ago[OpenTK] Added IPlatformFactory.RegisterResource()
thefiddler [Wed, 23 Jul 2014 12:34:52 +0000 (14:34 +0200)]
[OpenTK] Added IPlatformFactory.RegisterResource()

10 years ago[Mac] Do not set callback delegates to null
thefiddler [Wed, 23 Jul 2014 08:10:37 +0000 (10:10 +0200)]
[Mac] Do not set callback delegates to null

This is done automatically by the GC once they are eligible for
collection.

10 years ago[Mac] Store a reference to callback delegates
thefiddler [Wed, 23 Jul 2014 08:10:08 +0000 (10:10 +0200)]
[Mac] Store a reference to callback delegates

This avoids a potential crashes by the GC reclaiming the delegates
prematurely.

10 years ago[OpenTK] Reduce duplication in GraphicsContextBase
thefiddler [Wed, 23 Jul 2014 08:08:57 +0000 (10:08 +0200)]
[OpenTK] Reduce duplication in GraphicsContextBase

Inheritors now take advantage of base class functionality to avoid
duplicating finalizers and warning messages.

10 years ago[Mac] Register platform resources for disposal
thefiddler [Wed, 23 Jul 2014 07:21:28 +0000 (09:21 +0200)]
[Mac] Register platform resources for disposal

10 years ago[OpenTK] Add allocated resource registry
thefiddler [Wed, 23 Jul 2014 07:21:20 +0000 (09:21 +0200)]
[OpenTK] Add allocated resource registry

10 years ago[Mac] Do not execute run loop prematurely
thefiddler [Wed, 23 Jul 2014 07:20:51 +0000 (09:20 +0200)]
[Mac] Do not execute run loop prematurely

Fixes a potential crash when destroying and recreating OpenTK.Toolkit.

10 years ago[OpenTK] Additional constructor and doc cleanup
thefiddler [Wed, 23 Jul 2014 07:05:29 +0000 (09:05 +0200)]
[OpenTK] Additional constructor and doc cleanup

10 years ago[Mac] More defensive programming
thefiddler [Wed, 23 Jul 2014 07:05:01 +0000 (09:05 +0200)]
[Mac] More defensive programming

CocoaNativeWindow now checks for and reports failures to allocate
resources in its constructor. Additionally, it no longer calls UI
methods in the finalizer thread, as those methods will crash on Cocoa.

10 years ago[OpenTK] Re-add static Factory constructor
thefiddler [Wed, 23 Jul 2014 07:03:18 +0000 (09:03 +0200)]
[OpenTK] Re-add static Factory constructor

There are static methods that rely on `OpenTK.Platform.Factory` having
a static constructor. We need to fix those first, before we can remove
this constructor.

10 years ago[Mac] CursorVisible should only apply when changed
thefiddler [Tue, 22 Jul 2014 19:02:33 +0000 (21:02 +0200)]
[Mac] CursorVisible should only apply when changed

This fixes an issue where `NativeWindow.Dispose()` would move the mouse
cursor.

10 years ago[Mac] Do not use Autorelease pool
thefiddler [Tue, 22 Jul 2014 14:29:52 +0000 (16:29 +0200)]
[Mac] Do not use Autorelease pool

10 years ago[Mac] Added objc_disposeClassPair binding
thefiddler [Tue, 22 Jul 2014 14:29:37 +0000 (16:29 +0200)]
[Mac] Added objc_disposeClassPair binding

10 years ago[Mac] Close CocoaNativeWindow in Dispose()
thefiddler [Tue, 22 Jul 2014 14:29:21 +0000 (16:29 +0200)]
[Mac] Close CocoaNativeWindow in Dispose()

Also fix various memory management issues regarding the `MouseCursor`
and `Icon` properties.

10 years ago[Mac] Retain CFRunLoop while it is in use
thefiddler [Tue, 22 Jul 2014 14:20:46 +0000 (16:20 +0200)]
[Mac] Retain CFRunLoop while it is in use

10 years ago[Mac] Added CFRetain binding
thefiddler [Tue, 22 Jul 2014 14:19:43 +0000 (16:19 +0200)]
[Mac] Added CFRetain binding

10 years ago[OpenTK] Correctly reinitialize platform factory
thefiddler [Tue, 22 Jul 2014 12:29:20 +0000 (14:29 +0200)]
[OpenTK] Correctly reinitialize platform factory

10 years ago[Mac] Correctly shutdown HID input driver
thefiddler [Tue, 22 Jul 2014 12:28:48 +0000 (14:28 +0200)]
[Mac] Correctly shutdown HID input driver

10 years ago[Docs] Updated documentation for release
thefiddler [Mon, 21 Jul 2014 16:07:23 +0000 (18:07 +0200)]
[Docs] Updated documentation for release

10 years agoMerge pull request #157 from thefiddler/warnfix
thefiddler [Mon, 21 Jul 2014 16:05:20 +0000 (18:05 +0200)]
Merge pull request #157 from thefiddler/warnfix

Fix all build warnings on VS2013 and Mono 3.4.0

10 years agoMerge pull request #156 from thefiddler/buildfix
thefiddler [Mon, 21 Jul 2014 15:56:10 +0000 (17:56 +0200)]
Merge pull request #156 from thefiddler/buildfix

Use "Preserve Newest" option on OpenTK.dll.config

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:55:12 +0000 (17:55 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:52:17 +0000 (17:52 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:48:14 +0000 (17:48 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years agoFixed compilation warnings on Mono 3.4.0
thefiddler [Mon, 21 Jul 2014 15:46:39 +0000 (17:46 +0200)]
Fixed compilation warnings on Mono 3.4.0

10 years ago[Examples] Fixed all warnings
thefiddler [Mon, 21 Jul 2014 15:20:19 +0000 (17:20 +0200)]
[Examples] Fixed all warnings

10 years ago[Compat] Use Preserve Newest in dll.config
thefiddler [Mon, 21 Jul 2014 14:55:07 +0000 (16:55 +0200)]
[Compat] Use Preserve Newest in dll.config

This speeds up compilation times significantly.

10 years ago[ES][GL] Regenerated bindings
thefiddler [Mon, 21 Jul 2014 14:53:36 +0000 (16:53 +0200)]
[ES][GL] Regenerated bindings

10 years ago[ES][GL] Added missing documentation comments
thefiddler [Mon, 21 Jul 2014 14:53:24 +0000 (16:53 +0200)]
[ES][GL] Added missing documentation comments

10 years ago[Bind] Fixed an issue where CLS-compliance was incorrectly overriden
thefiddler [Mon, 21 Jul 2014 14:53:02 +0000 (16:53 +0200)]
[Bind] Fixed an issue where CLS-compliance was incorrectly overriden

10 years agoCleaned up the remaining obsolete warnings
thefiddler [Mon, 21 Jul 2014 14:49:24 +0000 (16:49 +0200)]
Cleaned up the remaining obsolete warnings

10 years agoCleaned up a number of obsolete warnings
thefiddler [Mon, 21 Jul 2014 14:39:58 +0000 (16:39 +0200)]
Cleaned up a number of obsolete warnings

10 years ago[GL] BufferObjects and TextureUnit are not obsolete
thefiddler [Mon, 21 Jul 2014 14:34:21 +0000 (16:34 +0200)]
[GL] BufferObjects and TextureUnit are not obsolete

10 years ago[Bind] Implemented CLS-compliant checks for Enums
thefiddler [Mon, 21 Jul 2014 14:25:21 +0000 (16:25 +0200)]
[Bind] Implemented CLS-compliant checks for Enums

10 years agoFixed a large number of warnings
thefiddler [Mon, 21 Jul 2014 14:03:37 +0000 (16:03 +0200)]
Fixed a large number of warnings

10 years ago[Bind] Added Enum.Obsolete property
thefiddler [Mon, 21 Jul 2014 14:02:56 +0000 (16:02 +0200)]
[Bind] Added Enum.Obsolete property

10 years ago[ES] Marked obsolete enums as such
thefiddler [Mon, 21 Jul 2014 14:02:32 +0000 (16:02 +0200)]
[ES] Marked obsolete enums as such

10 years ago[Bind] Enums can now be marked as obsolete
thefiddler [Mon, 21 Jul 2014 14:02:18 +0000 (16:02 +0200)]
[Bind] Enums can now be marked as obsolete

10 years agoFixed a large number of build warnings
thefiddler [Mon, 21 Jul 2014 13:03:24 +0000 (15:03 +0200)]
Fixed a large number of build warnings

10 years ago[Build] Updated mono version to 3.4.0.
thefiddler [Mon, 21 Jul 2014 12:43:26 +0000 (14:43 +0200)]
[Build] Updated mono version to 3.4.0.

10 years agoMerge pull request #155 from thefiddler/relnotes_july2014
thefiddler [Mon, 21 Jul 2014 12:37:44 +0000 (14:37 +0200)]
Merge pull request #155 from thefiddler/relnotes_july2014

[Docs] Updated documentation for July 2014 release

10 years agoMerge pull request #154 from opentk/glspecs_july2014
thefiddler [Mon, 21 Jul 2014 12:37:34 +0000 (14:37 +0200)]
Merge pull request #154 from opentk/glspecs_july2014

[ES][GL] Sync with July 2014 specification

10 years agoUse "Preserve Newest" option on OpenTK.dll.config
thefiddler [Mon, 21 Jul 2014 12:32:08 +0000 (14:32 +0200)]
Use "Preserve Newest" option on OpenTK.dll.config

OpenTK.dll.config was previously set to be always copied to the
output directory. This caused constant rebuilds in Visual Studio.

Setting this to "Preserve Newest" improves build times
significantly.

10 years ago[Docs] Updated documentation for July 2014 release
thefiddler [Mon, 21 Jul 2014 12:28:24 +0000 (14:28 +0200)]
[Docs] Updated documentation for July 2014 release

10 years ago[ES][GL] Regenerated bindings
thefiddler [Mon, 21 Jul 2014 07:19:39 +0000 (09:19 +0200)]
[ES][GL] Regenerated bindings

10 years ago[GL] Synced with the July 2014 Khronos spec
thefiddler [Mon, 21 Jul 2014 07:19:29 +0000 (09:19 +0200)]
[GL] Synced with the July 2014 Khronos spec

This version fixes various issues in the OES_byte_coordinates extension
and improves the documentation on parameter lengths.

10 years agoMerge pull request #153 from thefiddler/xwindowfix
thefiddler [Sun, 20 Jul 2014 09:46:43 +0000 (11:46 +0200)]
Merge pull request #153 from thefiddler/xwindowfix

[X11] INativeWindow fixes

10 years ago[X11] Use the correct visual info for the context
Stefanos A [Sun, 20 Jul 2014 09:31:02 +0000 (11:31 +0200)]
[X11] Use the correct visual info for the context

This also fixes a potential NRE.

10 years ago[X11] Fixed GLControl on nvidia binary drivers
Stefanos A [Sun, 20 Jul 2014 09:28:43 +0000 (11:28 +0200)]
[X11] Fixed GLControl on nvidia binary drivers

Nvidia drivers fail in Glx.MakeCurrent() when using a 32bpp
visual on a window created with a 24bpp visual. Since we do
not know the actual visual until after the context is constructed,
the solution is to implicitly use 24bpp when 32bpp is requested.

The loss of the alpha channel does not have a user-visible effect,
since WinForms do not support translucent windows on X11.

10 years ago[X11] Fix for issue #143
Stefanos A. [Sat, 19 Jul 2014 18:39:17 +0000 (20:39 +0200)]
[X11] Fix for issue #143

OpenTK will now use the same GLXFBConfig to create the INativeWindow
and IGraphicsContext on Linux/X11. This resolves an issue where OpenGL
3.x contexts could not be created on some graphics drivers (e.g.
nvidia binary.)

10 years ago[X11] Workaround for issue #146
thefiddler [Fri, 18 Jul 2014 15:16:27 +0000 (17:16 +0200)]
[X11] Workaround for issue #146

Windows are now unmapped before being destroyed.

10 years ago[X11] Fixed OnMouseMove being called without mouse movement
thefiddler [Fri, 18 Jul 2014 15:02:47 +0000 (17:02 +0200)]
[X11] Fixed OnMouseMove being called without mouse movement

10 years agoMerge pull request #151 from thefiddler/kms
thefiddler [Fri, 18 Jul 2014 11:39:59 +0000 (13:39 +0200)]
Merge pull request #151 from thefiddler/kms

[KMS] Implement Linux/KMS platform

10 years ago[Linux] Delay input device detection until a key is pressed
thefiddler [Fri, 18 Jul 2014 09:23:28 +0000 (11:23 +0200)]
[Linux] Delay input device detection until a key is pressed

10 years ago[Linux] Fixed OnMouseMove being called without movement
thefiddler [Fri, 18 Jul 2014 08:13:45 +0000 (10:13 +0200)]
[Linux] Fixed OnMouseMove being called without movement

10 years ago[Linux] Additional debugging info on shutdown
thefiddler [Fri, 18 Jul 2014 08:05:13 +0000 (10:05 +0200)]
[Linux] Additional debugging info on shutdown

10 years ago[KMS] Correctly restore crtc on exit.
thefiddler [Fri, 18 Jul 2014 08:04:57 +0000 (10:04 +0200)]
[KMS] Correctly restore crtc on exit.

10 years ago[Linux] Fixed minor typo
thefiddler [Fri, 18 Jul 2014 07:45:04 +0000 (09:45 +0200)]
[Linux] Fixed minor typo

10 years ago[Examples] Only use WinForms when supported.
thefiddler [Fri, 18 Jul 2014 07:44:47 +0000 (09:44 +0200)]
[Examples] Only use WinForms when supported.

10 years ago[Linux] Fixed CursorVisible=false behavior
thefiddler [Fri, 18 Jul 2014 07:22:12 +0000 (09:22 +0200)]
[Linux] Fixed CursorVisible=false behavior

10 years ago[Linux] Fixed X11 vs KMS detection
thefiddler [Fri, 18 Jul 2014 07:19:37 +0000 (09:19 +0200)]
[Linux] Fixed X11 vs KMS detection

10 years ago[Linux] Fixed compilation issue
thefiddler [Fri, 18 Jul 2014 07:05:46 +0000 (09:05 +0200)]
[Linux] Fixed compilation issue

10 years ago[Linux] Print libinput seat for each detected device
thefiddler [Fri, 18 Jul 2014 07:02:01 +0000 (09:02 +0200)]
[Linux] Print libinput seat for each detected device

10 years ago[KMS] VSync off causes a crash; force VSync on until fixed
thefiddler [Thu, 17 Jul 2014 09:59:38 +0000 (11:59 +0200)]
[KMS] VSync off causes a crash; force VSync on until fixed

VSync off leads to buffer starvation and a crash in
Egl.SwapBuffers. We need to understand why and fix that
before we can disable vsync.

10 years ago[KMS] Print device names when adding input devices
thefiddler [Thu, 17 Jul 2014 09:59:04 +0000 (11:59 +0200)]
[KMS] Print device names when adding input devices

10 years ago[Linux] Improved mouse cursor behavior
thefiddler [Thu, 17 Jul 2014 09:20:01 +0000 (11:20 +0200)]
[Linux] Improved mouse cursor behavior

10 years ago[Linux] Implemented CursorVisible
thefiddler [Thu, 17 Jul 2014 07:45:13 +0000 (09:45 +0200)]
[Linux] Implemented CursorVisible

10 years ago[Linux] Implemented MouseCursor
thefiddler [Thu, 17 Jul 2014 07:25:16 +0000 (09:25 +0200)]
[Linux] Implemented MouseCursor

10 years ago[KMS] Implemented INativeWindow.PointToClient/Screen
thefiddler [Wed, 16 Jul 2014 12:51:14 +0000 (14:51 +0200)]
[KMS] Implemented INativeWindow.PointToClient/Screen

10 years ago[Linux] Corrected values for mouse move and scroll events
thefiddler [Wed, 16 Jul 2014 12:25:55 +0000 (14:25 +0200)]
[Linux] Corrected values for mouse move and scroll events

10 years ago[Linux] Implemented INativeWindow keyboard/mouse events
thefiddler [Wed, 16 Jul 2014 10:18:24 +0000 (12:18 +0200)]
[Linux] Implemented INativeWindow keyboard/mouse events

The mouse cursor is now confined to the display bounds.

10 years ago[Linux] Fixed GameWindow.ClientSize values.
thefiddler [Wed, 16 Jul 2014 09:34:01 +0000 (11:34 +0200)]
[Linux] Fixed GameWindow.ClientSize values.

10 years ago[Linux] Implemented libinput IMouseDriver2
thefiddler [Wed, 16 Jul 2014 09:24:53 +0000 (11:24 +0200)]
[Linux] Implemented libinput IMouseDriver2

10 years ago[Input] MouseState position is now stored in floating point
thefiddler [Wed, 16 Jul 2014 09:23:23 +0000 (11:23 +0200)]
[Input] MouseState position is now stored in floating point

Several platforms provide subpixel accuracy for mouse position.
OpenTK can now take advantage of that.

10 years ago[Examples] Reverted mistaken change
thefiddler [Tue, 15 Jul 2014 21:32:57 +0000 (23:32 +0200)]
[Examples] Reverted mistaken change

10 years ago[Linux] Fixed keyboard polling
thefiddler [Tue, 15 Jul 2014 20:54:04 +0000 (22:54 +0200)]
[Linux] Fixed keyboard polling