platform/core/csapi/opentk.git
10 years agoAdded nuget lib directory to gitignore
Stefanos A [Fri, 13 Dec 2013 23:19:03 +0000 (00:19 +0100)]
Added nuget lib directory to gitignore

10 years agoAdded nuget build target to OpenTK.sln
Stefanos A [Fri, 13 Dec 2013 09:52:11 +0000 (10:52 +0100)]
Added nuget build target to OpenTK.sln

10 years agoAdded nuget build target
Stefanos A [Fri, 13 Dec 2013 09:51:34 +0000 (10:51 +0100)]
Added nuget build target

This will create a nupkg file for OpenTK and copy it to the base
directory. Version information is currently hardcoded to 1.1 (this
should be fixed.)

10 years agoCache size of char
Stefanos A [Mon, 9 Dec 2013 22:46:07 +0000 (23:46 +0100)]
Cache size of char

BlittableValueType<char> caches the size of the type parameter. This
way, we avoid calling Marshal.SizeOf repeatedly for every keyboard
event.

10 years agoEliminated memory allocations in Keyboard events
Stefanos A [Mon, 9 Dec 2013 22:44:51 +0000 (23:44 +0100)]
Eliminated memory allocations in Keyboard events

10 years agoDo not generate KeyPress events for non-printable characters
Stefanos A [Mon, 9 Dec 2013 22:43:36 +0000 (23:43 +0100)]
Do not generate KeyPress events for non-printable characters

10 years agoMerge branch 'enumfix'
Stefanos A [Sun, 8 Dec 2013 20:07:46 +0000 (21:07 +0100)]
Merge branch 'enumfix'

10 years agoRegenerated bindings
Stefanos A [Sun, 8 Dec 2013 15:20:30 +0000 (16:20 +0100)]
Regenerated bindings

10 years agoAdded overloads for compatibility with 1.0 and 1.1 APIs
Stefanos A [Sun, 8 Dec 2013 15:20:22 +0000 (16:20 +0100)]
Added overloads for compatibility with 1.0 and 1.1 APIs

10 years agoMaintain Obsolete property when cloning a function
Stefanos A [Sun, 8 Dec 2013 15:20:04 +0000 (16:20 +0100)]
Maintain Obsolete property when cloning a function

10 years agoCreate convenience overloads based on wrappers, not entry points
Stefanos A [Sun, 8 Dec 2013 15:19:46 +0000 (16:19 +0100)]
Create convenience overloads based on wrappers, not entry points

It makes sense to generate convenience overloads for each relevant
wrapper function, instead of each entry point. This way, we generate
convenience overloads for every wrapper in overrides.xml (even wrappers
for background compatibility), which would otherwise be ignored.

10 years agoFix for issue #16 "X11 misreported as unsupported platform"
parallels [Sun, 8 Dec 2013 11:38:06 +0000 (12:38 +0100)]
Fix for issue #16 "X11 misreported as unsupported platform"

10 years agoRegenerated bindings
Stefanos A. [Fri, 6 Dec 2013 17:37:11 +0000 (18:37 +0100)]
Regenerated bindings

10 years agoUpdated to Revision 24389
Stefanos A. [Fri, 6 Dec 2013 17:37:03 +0000 (18:37 +0100)]
Updated to Revision 24389

10 years agoImproved handling of enum parameters
Stefanos A. [Fri, 6 Dec 2013 17:36:31 +0000 (18:36 +0100)]
Improved handling of enum parameters

When a function parameter matches a strongly-typed enum, the parameter
type is explicitly set to that enum. This fixes issues with function
parameters referring to enums whose names change after translation.

10 years agoCleaned up instructions for Converter.exe
Stefanos A. [Fri, 6 Dec 2013 17:28:38 +0000 (18:28 +0100)]
Cleaned up instructions for Converter.exe

10 years agoClientRectangle should not affect window location
Stefanos A. [Thu, 5 Dec 2013 16:44:13 +0000 (17:44 +0100)]
ClientRectangle should not affect window location

Fixes issue #13

10 years agoMove installer to destination directory 1.1-b2
Stefanos A. [Thu, 5 Dec 2013 11:05:26 +0000 (12:05 +0100)]
Move installer to destination directory

This reduces the garbage left behind by the installer generation script.

10 years agoStreamlined nsis installer
Stefanos A. [Thu, 5 Dec 2013 11:04:58 +0000 (12:04 +0100)]
Streamlined nsis installer

OpenAL is now included in the Dependencies/ folder and NShader is no
longer linked to by the installer.

10 years agoIgnore generated installers
Stefanos A. [Thu, 5 Dec 2013 11:04:15 +0000 (12:04 +0100)]
Ignore generated installers

10 years agoCorrected zip build script
Stefanos A. [Thu, 5 Dec 2013 10:42:01 +0000 (11:42 +0100)]
Corrected zip build script

Excluded items are now really excluded.

10 years agoWorkaround for #5
Stefanos A. [Mon, 2 Dec 2013 22:39:36 +0000 (23:39 +0100)]
Workaround for #5

WS_CLIPCHILDREN and WS_CLIPSIBLINGS appear to cause flickering on
specific video cards. OpenGL appears to work correctly without these, so
we'll disable them to return to OpenTK 1.0 behavior.

10 years agoFixed centering for non DPI-aware applications
Stefanos A. [Mon, 2 Dec 2013 22:37:22 +0000 (23:37 +0100)]
Fixed centering for non DPI-aware applications

10 years agoDPI-scaling should affect resolution
Stefanos A. [Mon, 2 Dec 2013 22:37:00 +0000 (23:37 +0100)]
DPI-scaling should affect resolution

The correct resolution will now be reported depending on whether the
application is DPI-aware.

10 years agoHigh-resolution mode is enabled by default
Stefanos A. [Mon, 2 Dec 2013 21:34:39 +0000 (22:34 +0100)]
High-resolution mode is enabled by default

10 years agoMade DPI-awareness configurable (issue #6)
Stefanos A. [Mon, 2 Dec 2013 21:18:16 +0000 (22:18 +0100)]
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.

10 years agoAdd test for new text input events
Stefanos A. [Fri, 22 Nov 2013 17:25:30 +0000 (18:25 +0100)]
Add test for new text input events

10 years agoImplemented KeyPress event for Sdl2NativeWindow.
Elias Holzer [Fri, 22 Nov 2013 17:05:11 +0000 (18:05 +0100)]
Implemented KeyPress event for Sdl2NativeWindow.

10 years agoImplemented KeyDown and KeyUp events for Sdl2NativeWindow.
Elias Holzer [Fri, 22 Nov 2013 17:04:53 +0000 (18:04 +0100)]
Implemented KeyDown and KeyUp events for Sdl2NativeWindow.

10 years agoEnabled KeyDown and KeyUp events in NativeWindow.
Elias Holzer [Fri, 22 Nov 2013 17:03:17 +0000 (18:03 +0100)]
Enabled KeyDown and KeyUp events in NativeWindow.

10 years agoFix "CursorVisible bugs"
Stefanos A. [Fri, 22 Nov 2013 13:10:21 +0000 (14:10 +0100)]
Fix "CursorVisible bugs"

When we enter the modal resize loop on Windows with ClipCursor set, we
cause a feedback loop where every resize causes the cursor to move and
every move causes a new resize. To fix this, we need to ungrab the
cursor when we are enter the modal loop.

10 years agoUpdated release notes 1.1-b1
Stefanos A. [Thu, 21 Nov 2013 23:32:42 +0000 (00:32 +0100)]
Updated release notes

10 years agoUpdated todo list
Stefanos A. [Thu, 21 Nov 2013 18:44:12 +0000 (19:44 +0100)]
Updated todo list

10 years agoUpdated build instructions.
Stefanos A. [Thu, 21 Nov 2013 08:34:34 +0000 (09:34 +0100)]
Updated build instructions.

10 years agoFix exceptions on reused OpenGL context handles
Stefanos A. [Thu, 21 Nov 2013 08:34:06 +0000 (09:34 +0100)]
Fix exceptions on reused OpenGL context handles

Implementations may reuse OpenGL context handles that have been
destroyed. If a context is finalized but not Disposed, then OpenTK may
keep a reference to the old context handle, causing a crash when the
same handle is returned for a new context. To fix that, new context
handles will now replace old handles in case of a clash.

10 years agoDestroy SDL window when finalized
Stefanos A. [Thu, 21 Nov 2013 08:31:32 +0000 (09:31 +0100)]
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.

10 years agoFixed #5
Stefanos A. [Wed, 20 Nov 2013 17:05:45 +0000 (18:05 +0100)]
Fixed #5

We need to release the cursor before closing a GameWindow, otherwise
subsequent GameWindows may fail to receive mouse events.

10 years agoToolkit.Init() now returns a concrete class
Stefanos A. [Wed, 20 Nov 2013 12:12:42 +0000 (13:12 +0100)]
Toolkit.Init() now returns a concrete class

This gives us room for expansion in the future, if necessary.

10 years agoRemoved incorrect comment
Stefanos A. [Wed, 20 Nov 2013 12:05:49 +0000 (13:05 +0100)]
Removed incorrect comment

10 years agoFixed #4
Stefanos A. [Wed, 20 Nov 2013 08:10:12 +0000 (09:10 +0100)]
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.

10 years agoCompleted compatibility overloads for OpenTK 1.0
Stefanos A [Wed, 20 Nov 2013 07:15:42 +0000 (08:15 +0100)]
Completed compatibility overloads for OpenTK 1.0

10 years agoDo not trim 's' from Groups
Stefanos A [Wed, 20 Nov 2013 07:14:58 +0000 (08:14 +0100)]
Do not trim 's' from Groups

10 years agoAligned GL core and compat enums
Stefanos A. [Mon, 18 Nov 2013 17:51:38 +0000 (18:51 +0100)]
Aligned GL core and compat enums

10 years agoRemoved stale QuickStart project
Stefanos A. [Mon, 18 Nov 2013 17:38:03 +0000 (18:38 +0100)]
Removed stale QuickStart project

Instead of QuickStart.sln, we should provide proper templates.

10 years agoDo not call SDL.GetVersion unless requested
Stefanos A. [Mon, 18 Nov 2013 17:35:23 +0000 (18:35 +0100)]
Do not call SDL.GetVersion unless requested

10 years agoReverted 'h' suffix detection
Stefanos A [Mon, 18 Nov 2013 17:30:18 +0000 (18:30 +0100)]
Reverted 'h' suffix detection

This causes too many breaking changes in the NV namespace.

10 years agoMore compatibility overloads for OpenGL
Stefanos A [Mon, 18 Nov 2013 17:29:44 +0000 (18:29 +0100)]
More compatibility overloads for OpenGL

10 years agoImproved suffix detection. Support index-based parameter overloading.
Stefanos A [Mon, 18 Nov 2013 17:21:31 +0000 (18:21 +0100)]
Improved suffix detection. Support index-based parameter overloading.

10 years agoImplemented IEquatable<ColorFormat>
Stefanos A. [Mon, 18 Nov 2013 12:49:06 +0000 (13:49 +0100)]
Implemented IEquatable<ColorFormat>

This eliminates memory allocations when storing and comparing
ColorFormat structures.

10 years agoAdded OpenGL overloads for OpenTK-1.0 compatibility
Stefanos A [Mon, 18 Nov 2013 12:28:44 +0000 (13:28 +0100)]
Added OpenGL overloads for OpenTK-1.0 compatibility

10 years agoAdded compatibility overloads for ES 2.0
Stefanos A [Mon, 18 Nov 2013 00:10:01 +0000 (01:10 +0100)]
Added compatibility overloads for ES 2.0

10 years agoAligned FBO API with desktop OpenGL
Stefanos A [Sun, 17 Nov 2013 22:57:38 +0000 (23:57 +0100)]
Aligned FBO API with desktop OpenGL

10 years agoAllow overriding of function names
Stefanos A [Sun, 17 Nov 2013 22:56:51 +0000 (23:56 +0100)]
Allow overriding of function names

10 years agoAdded OpenGL ES 2.0 documentation
Stefanos A [Sun, 17 Nov 2013 22:56:37 +0000 (23:56 +0100)]
Added OpenGL ES 2.0 documentation

10 years agoRemoved debugging code
Stefanos A [Sun, 17 Nov 2013 20:27:22 +0000 (21:27 +0100)]
Removed debugging code

10 years agoHandle overloads with different element counts
Stefanos A [Sun, 17 Nov 2013 20:27:09 +0000 (21:27 +0100)]
Handle overloads with different element counts

10 years agoImproved and documented IEquatable vs IComparable
Stefanos A [Sun, 17 Nov 2013 20:26:28 +0000 (21:26 +0100)]
Improved and documented IEquatable vs IComparable

10 years agoRegenerated bindings
Stefanos A [Sun, 17 Nov 2013 00:46:56 +0000 (01:46 +0100)]
Regenerated bindings

10 years agoOpenGL overrides for compatibility
Stefanos A [Sun, 17 Nov 2013 00:46:27 +0000 (01:46 +0100)]
OpenGL overrides for compatibility

Added overrides to maintain backwards compatibility with
OpenTK.Graphics.OpenGL.GL. These were generated
through the apitest tool.

10 years agoCleaned up ending trim regex
Stefanos A [Sun, 17 Nov 2013 00:45:01 +0000 (01:45 +0100)]
Cleaned up ending trim regex

Trim regex will now correctly match GetInteger64 and other functions
ending in "64". It also uses a correct ending anchor to avoid matches
in the middle of a function name.

10 years agoAdded int/uint to the c# typemap
Stefanos A [Sat, 16 Nov 2013 23:45:52 +0000 (00:45 +0100)]
Added int/uint to the c# typemap

10 years agoSpeed up enum code generator
Stefanos A [Sat, 16 Nov 2013 22:41:12 +0000 (23:41 +0100)]
Speed up enum code generator

Scan through the list of wrappers once, instead of multiple times, in
order to find out which functions use which enums. This speeds up enum
generation tremendously.

10 years agoSetup correct class style for OpenGL
Stefanos A. [Sat, 16 Nov 2013 21:38:17 +0000 (22:38 +0100)]
Setup correct class style for OpenGL

On Windows, we need to have a CS_OWNDC class style on windows with
OpenGL contexts attached. In Windows.Forms, we can set this via the
Control.CreateParams property. See
https://www.opengl.org/wiki/Creating_an_OpenGL_Context_(WGL)

10 years agoImproved compatibility with OpenTK 1.0
Stefanos A [Fri, 15 Nov 2013 00:59:50 +0000 (01:59 +0100)]
Improved compatibility with OpenTK 1.0

Added overloads for enumerations with name changes. Reduced differences
between ES and GL APIs.

11 years agoRemoved debug leftovers
Stefanos A [Thu, 14 Nov 2013 22:38:17 +0000 (23:38 +0100)]
Removed debug leftovers

11 years agoCorrected convenience wrappers for Get* and Delete*
Stefanos A [Thu, 14 Nov 2013 16:40:06 +0000 (17:40 +0100)]
Corrected convenience wrappers for Get* and Delete*

GetBoolean, GetInteger6, GetFixedvOES and Delete* are now matched in
the convenience wrapper generator. Methods returning vectors of fixed
size (e.g. 4 ints) are no longer matched.

11 years agoAdded workaround for wglMakeCurrent error 6
Stefanos A. [Thu, 14 Nov 2013 16:37:39 +0000 (17:37 +0100)]
Added workaround for wglMakeCurrent error 6

On some drivers and virtual machines, wglMakeCurrent may fail with a
code 6 when first called. The suggested workaround is to call it in a
loop until it succeeds. See
https://www.opengl.org/discussion_boards/showthread.php/171058-nVidia-wglMakeCurrent()-multiple-threads

11 years agoAMD_performance_monitors is not const-correct
Stefanos A [Thu, 14 Nov 2013 15:17:20 +0000 (16:17 +0100)]
AMD_performance_monitors is not const-correct

Workaround fo  bug in rhe specification of AMD_performance_monitors.
Upstream bug report here:
https://www.khronos.org/bugzilla/show_bug.cgi?id=1035

11 years agoMark untyped overloads as obsolete
Stefanos A [Thu, 14 Nov 2013 13:10:19 +0000 (14:10 +0100)]
Mark untyped overloads as obsolete

11 years agoAdded support for obsolete attribute
Stefanos A [Thu, 14 Nov 2013 12:46:42 +0000 (13:46 +0100)]
Added support for obsolete attribute

Functions marked with the obsolete attribute will now add [Obsolete] to
the generated output.

11 years agoRegenerated bindings
Stefanos A [Thu, 14 Nov 2013 10:35:32 +0000 (11:35 +0100)]
Regenerated bindings

11 years agoES11 compatibility overloads (WIP1)
Stefanos A [Thu, 14 Nov 2013 10:34:46 +0000 (11:34 +0100)]
ES11 compatibility overloads (WIP1)

11 years agoClear qualifier path when changing type
Stefanos A [Thu, 14 Nov 2013 10:33:52 +0000 (11:33 +0100)]
Clear qualifier path when changing type

This fixes a bug where overriding an enum parameter with a non-enum
parameter would result in the wrong qualifier path.

11 years agoNew Add() methods analogous to FunctionCollection
Stefanos A [Thu, 14 Nov 2013 10:32:25 +0000 (11:32 +0100)]
New Add() methods analogous to FunctionCollection

11 years agoImproved override/overload lookup
Stefanos A [Thu, 14 Nov 2013 10:31:36 +0000 (11:31 +0100)]
Improved override/overload lookup

The lookup for function overrides and overloads now tries to work
around extension case mismatches (e.g. IBM vs Ibm). This fixes a few
specific cases of missing overrides.

11 years agoCorrectly set generator mode.
Stefanos A [Wed, 13 Nov 2013 23:10:51 +0000 (00:10 +0100)]
Correctly set generator mode.

11 years agoDo not scale in normal-dpi modes
Stefanos A. [Thu, 14 Nov 2013 08:25:53 +0000 (09:25 +0100)]
Do not scale in normal-dpi modes

11 years agoScale window size on hi-dpi mode
Stefanos A. [Thu, 14 Nov 2013 08:02:47 +0000 (09:02 +0100)]
Scale window size on hi-dpi mode

Follow high-dpi guidelines for scaling a window on high-dpi modes.

11 years agoCleaned up context profile selection
Stefanos A. [Thu, 14 Nov 2013 07:30:11 +0000 (08:30 +0100)]
Cleaned up context profile selection

Added support for WGL_create_context profiles and added methods for the
selection of context flags and profile.

11 years agoCorrected core profile selection
Stefanos A. [Thu, 14 Nov 2013 07:29:06 +0000 (08:29 +0100)]
Corrected core profile selection

According to GLX_create_context, the correct flag for a core profile is
GLX_CONTEXT_CORE_PROFILE_BIT_ARB.

11 years agoImproved WinGLContext initialization
Stefanos A. [Thu, 14 Nov 2013 07:05:08 +0000 (08:05 +0100)]
Improved WinGLContext initialization

Cleaned up and added debugging information to the temporary context
construction in WinGLContext. Simplified WinGraphicsMode constructor.

11 years agoAdded GetDeviceCaps (windows platform)
Stefanos A. [Thu, 14 Nov 2013 00:43:40 +0000 (01:43 +0100)]
Added GetDeviceCaps (windows platform)

We will use this method to read out the logical DPI of the monitor and
scale window elements accordingly.

11 years agoRe-added WindowHandle property
Stefanos A. [Wed, 13 Nov 2013 17:25:49 +0000 (18:25 +0100)]
Re-added WindowHandle property

There are projects that use reflection to access
*WindowInfo.WindowHandle directly. This change ensures we don't break
them.

11 years agoCorrected option parsing
Stefanos A. [Wed, 13 Nov 2013 13:29:06 +0000 (14:29 +0100)]
Corrected option parsing

11 years agoAdded Version20 overload to StencilFuncSeparate
thefiddler [Tue, 12 Nov 2013 22:39:43 +0000 (23:39 +0100)]
Added Version20 overload to StencilFuncSeparate

Compatibility fix for OpenTK 1.0

11 years agoSupport multiple overloads
thefiddler [Tue, 12 Nov 2013 22:38:09 +0000 (23:38 +0100)]
Support multiple overloads

It is now possible to specify multiple overloads for the same function.
This is helpful for maintaining backwards compatibility with previous
releases.

11 years agoHack for GLControl support
Stefanos A. [Tue, 12 Nov 2013 19:38:02 +0000 (20:38 +0100)]
Hack for GLControl support

Added a hack to allow GLControl examples to run even if SDL is
installed.

11 years agoGLControl requires native backend
Stefanos A. [Tue, 12 Nov 2013 19:37:23 +0000 (20:37 +0100)]
GLControl requires native backend

SDL does not currently support embedding into Windows Forms (this is an
upstream limitation.) To ensure that existing WinForms applications
continue to function even if SDL is installed, GLControl will now try to
initialize OpenTK with a native backend. The user can still override
this behavior using OpenTK.Toolkit.Init(ToolkitOptions), as normal.

11 years agoCleaner startup sequence
Stefanos A. [Tue, 12 Nov 2013 19:34:53 +0000 (20:34 +0100)]
Cleaner startup sequence

OpenTK.Toolkit will now initialize OpenTK.Configuration and
OpenTK.Platform.Factory explicitly. It can also receive an optional
ToolkitOptions parameter to influence the OpenTK.Platform implementation
that will be chosen. Finally, it explicitly implements IDisposable to
clean up after itself.

11 years agoRefactored environment config detection
Stefanos A. [Tue, 12 Nov 2013 19:32:31 +0000 (20:32 +0100)]
Refactored environment config detection

This significantly cleans up the startup sequence on all platforms:
- X11 is not detected on non-Linux platforms unless the user explicitly
requests it
- Supports selection of platform abstractions (SDL) vs native
implementations.
- Returns correct flags on Android and iOS.

This contains a semantic change: OpenTK.Configuration will not return
correct values until OpenTK.Toolkit.Init() has been called, either
directly or indirectly (e.g. by creating a window.)

11 years agoAdded ToolkitOptions class
Stefanos A. [Tue, 12 Nov 2013 19:22:08 +0000 (20:22 +0100)]
Added ToolkitOptions class

ToolkitOptions allows the user to influence the implementation of
OpenTK.Platform at runtime.

11 years agoUpdated README file
thefiddler [Tue, 12 Nov 2013 10:24:25 +0000 (11:24 +0100)]
Updated README file

11 years agoAdded OpenAL/GL/GL ES documentation
thefiddler [Tue, 12 Nov 2013 09:58:20 +0000 (10:58 +0100)]
Added OpenAL/GL/GL ES documentation

11 years agoMerge branch 'master' of https://github.com/thefiddler/opentk
thefiddler [Tue, 12 Nov 2013 01:03:46 +0000 (02:03 +0100)]
Merge branch 'master' of https://github.com/thefiddler/opentk

11 years agoUpdated readme file
thefiddler [Tue, 12 Nov 2013 01:03:24 +0000 (02:03 +0100)]
Updated readme file

11 years agoMerge branch 'modes'
Stefanos A [Mon, 11 Nov 2013 10:45:15 +0000 (11:45 +0100)]
Merge branch 'modes'

11 years agoCleaned up test code committed by mistake.
Stefanos A. [Mon, 11 Nov 2013 10:44:21 +0000 (11:44 +0100)]
Cleaned up test code committed by mistake.

11 years agoTry to create Embedded context first
Stefanos A. [Mon, 11 Nov 2013 10:43:15 +0000 (11:43 +0100)]
Try to create Embedded context first

By mistake, this code would always create a desktop context. The correct
approach is to create an embedded (EGL) context and only fallback to
desktop if that doesn't work.

11 years agoEnabled SAMPLE_BUFFERS EGL attribute
Stefanos A. [Mon, 11 Nov 2013 10:42:30 +0000 (11:42 +0100)]
Enabled SAMPLE_BUFFERS EGL attribute

This attribute is required for multisampling support.

11 years agoGenerate overloads without strong enums for 1.0 compat
thefiddler [Mon, 11 Nov 2013 09:03:24 +0000 (10:03 +0100)]
Generate overloads without strong enums for 1.0 compat

OpenTK 1.0 and Xamarin Android/iOS do not use strongly-typed enums for
OpenGL ES. Generate overloads with the "All" enum in order to maintain
compatibility.