platform/core/csapi/opentk.git
10 years ago[Test] Added API.Desktop to OpenTK.sln
thefiddler [Sat, 31 May 2014 22:38:32 +0000 (00:38 +0200)]
[Test] Added API.Desktop to OpenTK.sln

10 years ago[Test] Added API compatibility test
thefiddler [Sat, 31 May 2014 22:10:21 +0000 (00:10 +0200)]
[Test] Added API compatibility test

This test checks every public API under OpenTK.Audio, OpenTK.Compute
and OpenTK.Graphics for compatibility. Incompatible changes will cause
a compilation failure.

10 years agoMerge pull request #126 from thefiddler/sdlversion
thefiddler [Sat, 31 May 2014 13:54:20 +0000 (15:54 +0200)]
Merge pull request #126 from thefiddler/sdlversion

[SDL] Do not attempt to use versions < 2.0.0

10 years ago[SDL] Removed unnecessary if-branch
thefiddler [Fri, 30 May 2014 11:50:11 +0000 (13:50 +0200)]
[SDL] Removed unnecessary if-branch

10 years ago[SDL] Do not attempt to use versions < 2.0.0
thefiddler [Fri, 30 May 2014 11:47:27 +0000 (13:47 +0200)]
[SDL] Do not attempt to use versions < 2.0.0

Versions prior to 2.0.0 are not ABI-compatible with 2.0.x and
attempting to use those will result in random instability. We now
explicitly check the SDL2 version before enabling the SDL2 backend.

10 years agoMerge pull request #125 from thefiddler/r112
thefiddler [Mon, 19 May 2014 23:11:41 +0000 (01:11 +0200)]
Merge pull request #125 from thefiddler/r112

Prepare for 1.1.2 release

10 years ago[Mac] Fixed NRE and initial position on 64bit
thefiddler [Mon, 19 May 2014 23:00:54 +0000 (01:00 +0200)]
[Mac] Fixed NRE and initial position on 64bit

10 years ago[Mac] Added NSFloat implementation
thefiddler [Mon, 19 May 2014 22:14:57 +0000 (00:14 +0200)]
[Mac] Added NSFloat implementation

10 years agoMerge pull request #123 from thefiddler/eglfix
thefiddler [Mon, 19 May 2014 21:14:41 +0000 (23:14 +0200)]
Merge pull request #123 from thefiddler/eglfix

[EGL] Fix initialization and extension loading

10 years agoMerge pull request #124 from thefiddler/xdestroyfix
thefiddler [Mon, 19 May 2014 21:14:32 +0000 (23:14 +0200)]
Merge pull request #124 from thefiddler/xdestroyfix

[X11] Fixed BadWindow error on shutdown

10 years ago[Docs] Yet more formatting fixes
thefiddler [Mon, 19 May 2014 21:11:25 +0000 (23:11 +0200)]
[Docs] Yet more formatting fixes

10 years ago[Docs] Minor formatting fixes
thefiddler [Mon, 19 May 2014 21:08:22 +0000 (23:08 +0200)]
[Docs] Minor formatting fixes

10 years ago[Graphics] Synced with May 2014 Khronos spec
thefiddler [Mon, 19 May 2014 21:03:39 +0000 (23:03 +0200)]
[Graphics] Synced with May 2014 Khronos spec

10 years ago[Docs] Updated documentation for release
thefiddler [Mon, 19 May 2014 21:01:29 +0000 (23:01 +0200)]
[Docs] Updated documentation for release

10 years ago[X11] Fixed BadWindow error on shutdown
thefiddler [Mon, 19 May 2014 20:02:46 +0000 (22:02 +0200)]
[X11] Fixed BadWindow error on shutdown

This was caused by calling XDestroyWindow inside Dispose(), or
by processing events after calling XDestroyWindow. Pending events
are now discarded when Close() is called and not cancelled, and
XDestroyWindow is only called if the window exists.

10 years agoRemoved file committed by mistake
thefiddler [Mon, 19 May 2014 10:34:09 +0000 (12:34 +0200)]
Removed file committed by mistake

10 years agoMerge branch 'xkeyfix' of https://github.com/thefiddler/opentk into develop
thefiddler [Mon, 19 May 2014 08:52:37 +0000 (10:52 +0200)]
Merge branch 'xkeyfix' of https://github.com/thefiddler/opentk into develop

10 years ago[X11] Improved WindowBorder.Fixed detection
thefiddler [Mon, 19 May 2014 07:22:27 +0000 (09:22 +0200)]
[X11] Improved WindowBorder.Fixed detection

This now works even without having to map the window first.

10 years agoMerge branch 'develop' of git://github.com/Goz3rr/opentk into pr/122
thefiddler [Mon, 19 May 2014 06:43:45 +0000 (08:43 +0200)]
Merge branch 'develop' of git://github.com/Goz3rr/opentk into pr/122

10 years ago[EGL] Fixed display connection
thefiddler [Mon, 19 May 2014 06:31:38 +0000 (08:31 +0200)]
[EGL] Fixed display connection

We now use the display connection specified in EglWindowInfo
throughout the EGL backend, instead of opening new connections
in EglGraphicsMode. This fixes EGL errors in
Egl.CreateWindowSurface.

As part of this fix, all instances of
IPlatformFactory.CreateGraphicsMode() have been removed. This
API is no longer used in OpenTK 1.1

10 years ago[EGL] Egl.GetProcAddress only returns extensions
thefiddler [Sun, 18 May 2014 20:04:52 +0000 (22:04 +0200)]
[EGL] Egl.GetProcAddress only returns extensions

We have to load statically exported entry points using the regular OS
symbol loading facilities, and only use eglGetProcAddress for
extensions.

Fixes crash in https://github.com/mono/MonoGame/pull/2377

10 years agoMade NativeWindow set WindowBorder to Fixed when created with FixedWindow flag like...
Goz3rr [Fri, 16 May 2014 22:27:38 +0000 (00:27 +0200)]
Made NativeWindow set WindowBorder to Fixed when created with FixedWindow flag like SDL windows

10 years agoChanged TranslateFlags to actually translate flags instead of using switch
Goz3rr [Thu, 15 May 2014 09:52:55 +0000 (11:52 +0200)]
Changed TranslateFlags to actually translate flags instead of using switch

10 years ago[X11] Renamed XI2Mouse
thefiddler [Thu, 15 May 2014 08:24:03 +0000 (10:24 +0200)]
[X11] Renamed XI2Mouse

This file now implements both mouse and keyboard input, so its name
has been updated to reflect that.

10 years ago[X11] Split X11 and XI2 input drivers
thefiddler [Thu, 15 May 2014 08:22:01 +0000 (10:22 +0200)]
[X11] Split X11 and XI2 input drivers

10 years ago[X11] Implemented XI2 keyboard input
thefiddler [Thu, 15 May 2014 08:21:06 +0000 (10:21 +0200)]
[X11] Implemented XI2 keyboard input

10 years ago[X11] Added XIDeviceType enumeration
thefiddler [Thu, 15 May 2014 08:20:23 +0000 (10:20 +0200)]
[X11] Added XIDeviceType enumeration

10 years ago[X11] Rebased on develop branch
thefiddler [Wed, 14 May 2014 23:16:28 +0000 (01:16 +0200)]
[X11] Rebased on develop branch

10 years ago[X11] Use XKB for layout-independent input
thefiddler [Wed, 14 May 2014 22:33:50 +0000 (00:33 +0200)]
[X11] Use XKB for layout-independent input

The code will fall back to core X11 if XKB is not available.

10 years ago[X11] Added XKB bindings
thefiddler [Wed, 14 May 2014 22:32:37 +0000 (00:32 +0200)]
[X11] Added XKB bindings

10 years agoMerge pull request #120 from thefiddler/xcursorfix
thefiddler [Wed, 14 May 2014 22:43:38 +0000 (00:43 +0200)]
Merge pull request #120 from thefiddler/xcursorfix

[X11] Improve mouse input

10 years agoAdded GameWindowFlags.FixedWindow to allow for fixed border SDL Windows
Goz3rr [Wed, 14 May 2014 22:38:06 +0000 (00:38 +0200)]
Added GameWindowFlags.FixedWindow to allow for fixed border SDL Windows

10 years ago[Mac] Explicitly retain/release CocoaWindowInfo instances
thefiddler [Wed, 14 May 2014 16:01:08 +0000 (18:01 +0200)]
[Mac] Explicitly retain/release CocoaWindowInfo instances

10 years ago[X11] Removed unused SetCursor() function
thefiddler [Tue, 13 May 2014 22:42:05 +0000 (00:42 +0200)]
[X11] Removed unused SetCursor() function

10 years ago[X11] Removed stale comment
thefiddler [Tue, 13 May 2014 22:00:13 +0000 (00:00 +0200)]
[X11] Removed stale comment

10 years ago[X11] Removed unused warp detection code
thefiddler [Tue, 13 May 2014 21:51:55 +0000 (23:51 +0200)]
[X11] Removed unused warp detection code

10 years ago[X11] Fixed GetCursorState() after SetPosition()
thefiddler [Tue, 13 May 2014 21:50:39 +0000 (23:50 +0200)]
[X11] Fixed GetCursorState() after SetPosition()

The new position is now immediately reflected in GetCursorPos().

10 years ago[X11] Warn when XI2Mouse is not supported.
thefiddler [Tue, 13 May 2014 21:34:27 +0000 (23:34 +0200)]
[X11] Warn when XI2Mouse is not supported.

Without the XI2 extension, mouse support will suffer significantly.
More specifically, low-level mouse events will not be available.

10 years ago[Input] Renamed MouseScrollWheel to MouseScroll
thefiddler [Tue, 13 May 2014 21:25:56 +0000 (23:25 +0200)]
[Input] Renamed MouseScrollWheel to MouseScroll

This better describes the functionality of this structure.

10 years ago[X11] Implemented high-resolution scroll events
thefiddler [Tue, 13 May 2014 21:23:51 +0000 (23:23 +0200)]
[X11] Implemented high-resolution scroll events

10 years ago[Platform] Fixed OnMouseDown/Up events for secondary buttons
thefiddler [Tue, 13 May 2014 20:53:47 +0000 (22:53 +0200)]
[Platform] Fixed OnMouseDown/Up events for secondary buttons

10 years ago[X11] Improved CursorVisible = false behavior
thefiddler [Tue, 13 May 2014 20:31:45 +0000 (22:31 +0200)]
[X11] Improved CursorVisible = false behavior

We now use an XGrabPointer to confine the cursor to the window,
instead of the XWarpPointer hack. Fixes issue #28 and #36.

10 years ago[X11] Fixed cursor position when CursorVisible becomes true
thefiddler [Tue, 13 May 2014 11:23:20 +0000 (13:23 +0200)]
[X11] Fixed cursor position when CursorVisible becomes true

10 years ago[X11] Fixed Cursor when CursorVisible = false
thefiddler [Tue, 13 May 2014 07:27:21 +0000 (09:27 +0200)]
[X11] Fixed Cursor when CursorVisible = false

Setting Cursor will no longer override CursorVisible.

10 years agoMerge branch 'nulldisplay' into develop
thefiddler [Mon, 12 May 2014 15:01:01 +0000 (17:01 +0200)]
Merge branch 'nulldisplay' into develop

10 years agoMerge branch 'nvidiafix' into develop
thefiddler [Mon, 12 May 2014 15:00:42 +0000 (17:00 +0200)]
Merge branch 'nvidiafix' into develop

10 years agoMerge branch 'arrayfix' into develop
thefiddler [Mon, 12 May 2014 15:00:16 +0000 (17:00 +0200)]
Merge branch 'arrayfix' into develop

10 years ago[Rewrite] Removed unused conditional.
thefiddler [Mon, 12 May 2014 14:34:02 +0000 (16:34 +0200)]
[Rewrite] Removed unused conditional.

10 years ago[OpenTK] Do not crash when no monitor connected
thefiddler [Thu, 1 May 2014 07:47:55 +0000 (09:47 +0200)]
[OpenTK] Do not crash when no monitor connected

NativeWindow now checks for a non-null device before attempting to
access its properties. Affects
https://github.com/mono/MonoGame/issues/2416

10 years ago[X11] Correct Glx.*.SwapInterval definitions
thefiddler [Mon, 12 May 2014 12:50:03 +0000 (14:50 +0200)]
[X11] Correct Glx.*.SwapInterval definitions

Improved error checking means we are no longer crashing when
SwapInterval is not available.

10 years ago[X11] Fixed GLX extension loading
thefiddler [Mon, 12 May 2014 11:59:48 +0000 (13:59 +0200)]
[X11] Fixed GLX extension loading

GLX is now using the new extension loading mechanism,
and the entry point names now much the available slots.

10 years ago[Rewrite] Fixed 2d/3d arrays on .Net
thefiddler [Mon, 12 May 2014 11:03:27 +0000 (13:03 +0200)]
[Rewrite] Fixed 2d/3d arrays on .Net

Mono can use ldlen and ldelema on both 1d arrays (vectors) and 2d/3d
arrays. However, .Net can only use these instructions on 1d arrays -
higher rank arrays must use get_Length and Address explicitly.

10 years ago[X11] Flush XSendEvent on exit
thefiddler [Sun, 11 May 2014 23:49:38 +0000 (01:49 +0200)]
[X11] Flush XSendEvent on exit

10 years ago[X11] Fixed XI2Mouse smooth scrolling
thefiddler [Sun, 11 May 2014 23:48:06 +0000 (01:48 +0200)]
[X11] Fixed XI2Mouse smooth scrolling

The scrolling valuator offsets are now calculated correctly, based on
the number of set bits in the valuator mask.
Additionally XI2Mouse now runs on a background thread, using blocking
XIfEvent. This should improve resonsiveness and reduce CPU usage, due
to reduced polling.

10 years ago[X11] Improved XI2Mouse implementation
thefiddler [Sun, 11 May 2014 20:54:47 +0000 (22:54 +0200)]
[X11] Improved XI2Mouse implementation

Horizontal and vertical smooth scrolling is now supported.
Movement axes are now correctly identified. Device hotplugging
has been improved.

10 years ago[Examples] Improved Mouse.GetState output
thefiddler [Sat, 10 May 2014 15:54:49 +0000 (17:54 +0200)]
[Examples] Improved Mouse.GetState output

10 years ago[Mac] Implemented Mouse.GetCursorState()
thefiddler [Sat, 10 May 2014 15:54:34 +0000 (17:54 +0200)]
[Mac] Implemented Mouse.GetCursorState()

10 years ago[Examples] Test Mouse.SetPosition
thefiddler [Sat, 10 May 2014 00:12:52 +0000 (02:12 +0200)]
[Examples] Test Mouse.SetPosition

10 years ago[SDL] Use h-wheel events
thefiddler [Sat, 10 May 2014 00:06:40 +0000 (02:06 +0200)]
[SDL] Use h-wheel events

10 years ago[Input] Improve SDL2 and Windows GetCursorState
thefiddler [Fri, 9 May 2014 23:44:27 +0000 (01:44 +0200)]
[Input] Improve SDL2 and Windows GetCursorState

10 years ago[Input] Added Mouse.GetCursorPos() (WIP)
thefiddler [Fri, 9 May 2014 23:30:46 +0000 (01:30 +0200)]
[Input] Added Mouse.GetCursorPos() (WIP)

10 years agoMerge pull request #114 from thefiddler/nativewindow
thefiddler [Mon, 12 May 2014 00:20:29 +0000 (02:20 +0200)]
Merge pull request #114 from thefiddler/nativewindow

INativeWindow cleanup and consolidation

10 years ago[Examples] Fixed Scroll.X/Y misreporting
thefiddler [Fri, 9 May 2014 23:52:06 +0000 (01:52 +0200)]
[Examples] Fixed Scroll.X/Y misreporting

Scroll.X and Y are no longer swapped.

10 years ago[Platform] Fixed keys getting stuck on focus loss
thefiddler [Fri, 9 May 2014 14:45:45 +0000 (16:45 +0200)]
[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.

10 years ago[Win] Fixed infinite recursion
thefiddler [Fri, 9 May 2014 14:14:13 +0000 (16:14 +0200)]
[Win] Fixed infinite recursion

10 years ago[Graphics] Made entry points internal
thefiddler [Fri, 9 May 2014 13:24:12 +0000 (15:24 +0200)]
[Graphics] Made entry points internal

Internal protected means internal *or* protected, not internal *and*
protected.

10 years ago[Input] Do not hook FocusedChanged
thefiddler [Fri, 9 May 2014 13:23:39 +0000 (15:23 +0200)]
[Input] Do not hook FocusedChanged

This is handled by NativeWindowBase now.

10 years ago[Win] Cleaned up window size/pos properties
thefiddler [Fri, 9 May 2014 13:22:33 +0000 (15:22 +0200)]
[Win] Cleaned up window size/pos properties

10 years ago[X11] Fixed WindowBorder and WindowState setters
thefiddler [Fri, 9 May 2014 11:10:23 +0000 (13:10 +0200)]
[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!

10 years ago[Platform] Raise KeyUp events on focus lost
thefiddler [Thu, 8 May 2014 23:49:51 +0000 (01:49 +0200)]
[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.

10 years ago[X11] Fixed key repeat
thefiddler [Thu, 8 May 2014 22:26:51 +0000 (00:26 +0200)]
[X11] Fixed key repeat

10 years ago[X11] Improved vsync support
thefiddler [Thu, 8 May 2014 22:13:23 +0000 (00:13 +0200)]
[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.

10 years ago[X11] Corrected size events
thefiddler [Thu, 8 May 2014 18:58:11 +0000 (20:58 +0200)]
[X11] Corrected size events

10 years agoMerge pull request #113 from danzel/develop
thefiddler [Wed, 7 May 2014 22:51:32 +0000 (00:51 +0200)]
Merge pull request #113 from danzel/develop

[Platform] Correct spelling in INativeWindow

10 years agoCorrect spelling in INativeWindow
Dave Leaver [Wed, 7 May 2014 22:21:27 +0000 (10:21 +1200)]
Correct spelling in INativeWindow

10 years ago[GL] Added generic RenderbufferStorage depth-stencil formats
thefiddler [Wed, 7 May 2014 21:21:24 +0000 (23:21 +0200)]
[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.

10 years agoMerge pull request #111 from thefiddler/sdl_stack_fix
thefiddler [Wed, 7 May 2014 11:24:22 +0000 (13:24 +0200)]
Merge pull request #111 from thefiddler/sdl_stack_fix

[SDL] Fixed a stack corruption issue on win32

10 years ago[SDL] Avoid CursorVisible = true cursor jump
thefiddler [Tue, 6 May 2014 07:36:30 +0000 (09:36 +0200)]
[SDL] Avoid CursorVisible = true cursor jump

10 years ago[SDL] Report mouse in client coordinates
thefiddler [Tue, 6 May 2014 07:31:35 +0000 (09:31 +0200)]
[SDL] Report mouse in client coordinates

10 years ago[Examples] Test MouseCursor in GameWindowStates
thefiddler [Tue, 6 May 2014 07:12:08 +0000 (09:12 +0200)]
[Examples] Test MouseCursor in GameWindowStates

10 years ago[Mac] Fixed PointTo* calculations
thefiddler [Tue, 6 May 2014 07:03:13 +0000 (09:03 +0200)]
[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.

10 years ago[Platform] Forward PointToScreen to backend
thefiddler [Tue, 6 May 2014 07:02:09 +0000 (09:02 +0200)]
[Platform] Forward PointToScreen to backend

10 years ago[Platform] More selective mouse events
thefiddler [Tue, 6 May 2014 07:01:23 +0000 (09:01 +0200)]
[Platform] More selective mouse events

We should not raise mouse events when the cursor state hasn’t changed.

10 years ago[Examples] Added PointToClient test
thefiddler [Tue, 6 May 2014 07:00:42 +0000 (09:00 +0200)]
[Examples] Added PointToClient test

10 years ago[SDL] Improved documentation of Event size hack
thefiddler [Mon, 5 May 2014 13:11:01 +0000 (15:11 +0200)]
[SDL] Improved documentation of Event size hack

10 years ago[SDL] Fixed a stack corruption issue on win32
Stefanos A [Mon, 5 May 2014 10:46:48 +0000 (12:46 +0200)]
[SDL] Fixed a stack corruption issue on win32

10 years ago[Mac] Report KeyDown/Up events for modifier flags
thefiddler [Mon, 5 May 2014 07:14:14 +0000 (09:14 +0200)]
[Mac] Report KeyDown/Up events for modifier flags

10 years ago[Examples] Print KeyboardState
thefiddler [Sun, 4 May 2014 22:56:19 +0000 (00:56 +0200)]
[Examples] Print KeyboardState

10 years ago[Examples] Test key events for consistency
thefiddler [Sun, 4 May 2014 22:43:58 +0000 (00:43 +0200)]
[Examples] Test key events for consistency

10 years ago[Input] Implement key repeat
thefiddler [Sun, 4 May 2014 22:43:45 +0000 (00:43 +0200)]
[Input] Implement key repeat

10 years ago[OpenTK] Refactor keyboard and mouse handling
thefiddler [Sun, 4 May 2014 15:05:08 +0000 (17:05 +0200)]
[OpenTK] Refactor keyboard and mouse handling

A lot of duplicated code is now moved to NativeWindowBase and
LegacyInputDriver.

10 years ago[X11] Added X11KeyMap.TranslateButton()
thefiddler [Sun, 4 May 2014 15:04:03 +0000 (17:04 +0200)]
[X11] Added X11KeyMap.TranslateButton()

This code was duplicated on four different places before.

10 years ago[Mac] Moved MacOSKeys to MacOS namespace
thefiddler [Sun, 4 May 2014 15:02:37 +0000 (17:02 +0200)]
[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

10 years ago[Input] Update state through HandleKey* events
thefiddler [Sun, 4 May 2014 15:02:00 +0000 (17:02 +0200)]
[Input] Update state through HandleKey* events

10 years ago[Input] Removed pointless unsafe region
thefiddler [Sun, 4 May 2014 15:01:34 +0000 (17:01 +0200)]
[Input] Removed pointless unsafe region

10 years ago[Input] Removed pointless ValuePrecise setter
thefiddler [Sun, 4 May 2014 14:58:59 +0000 (16:58 +0200)]
[Input] Removed pointless ValuePrecise setter

10 years ago[Input] Removed pointless MouseDevice.SetState
thefiddler [Sun, 4 May 2014 14:58:24 +0000 (16:58 +0200)]
[Input] Removed pointless MouseDevice.SetState

MouseDevice state should only be modified through its HandleMouse*
methods, not directly.

10 years ago[Mac] Add horizontal scrolling
thefiddler [Sun, 4 May 2014 13:24:02 +0000 (15:24 +0200)]
[Mac] Add horizontal scrolling

10 years ago[OpenTK] Raise NativeWindow.Mouse* events
thefiddler [Sun, 4 May 2014 13:23:40 +0000 (15:23 +0200)]
[OpenTK] Raise NativeWindow.Mouse* events

10 years ago[Mac] Disable momentum scrolling and key pop-ups
thefiddler [Sun, 4 May 2014 13:23:24 +0000 (15:23 +0200)]
[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.