Fraser [Fri, 21 Feb 2014 00:01:27 +0000 (00:01 +0000)]
GetCursor function.
Fraser [Thu, 20 Feb 2014 23:40:40 +0000 (23:40 +0000)]
SetCursor function.
Fraser [Thu, 20 Feb 2014 23:40:22 +0000 (23:40 +0000)]
GetIconInfo function.
Fraser [Thu, 20 Feb 2014 22:26:53 +0000 (22:26 +0000)]
CreateIconIndirect function.
Fraser [Thu, 20 Feb 2014 22:20:10 +0000 (22:20 +0000)]
IconInfo structure.
thefiddler [Tue, 18 Feb 2014 15:44:28 +0000 (16:44 +0100)]
[All] Initial implementation of INativeWindow.Cursor property
Affects issue #9
thefiddler [Tue, 18 Feb 2014 15:43:47 +0000 (16:43 +0100)]
[SDL2] Implemented cursor APIs
Affects issue #9
thefiddler [Tue, 18 Feb 2014 15:43:21 +0000 (16:43 +0100)]
[Core] Added MouseCursor class
This branch marks the beginning of hardware cursor support (affects
issue #9)
thefiddler [Sun, 27 Apr 2014 07:53:22 +0000 (09:53 +0200)]
[ES][GL] Synced with April Khronos specification
thefiddler [Sat, 26 Apr 2014 18:27:00 +0000 (20:27 +0200)]
[X11] Set WM_CLASS property
This allows Ubuntu Unity and Gnome Shell to detect and display
the correct application name.
thefiddler [Sat, 26 Apr 2014 17:26:07 +0000 (19:26 +0200)]
Merge pull request #103 from thefiddler/memopt
Memory optimizations. Memory consumption reduced by up to 80% and memory allocations reduced by up to 70%, depending on the platform.
thefiddler [Sat, 26 Apr 2014 17:13:03 +0000 (19:13 +0200)]
[GL] Only print debug info in debug mode
thefiddler [Sat, 26 Apr 2014 17:12:49 +0000 (19:12 +0200)]
[GL] Removed unused code
thefiddler [Sat, 26 Apr 2014 16:28:51 +0000 (18:28 +0200)]
[OpenTK] Removed reflection binding loading
This code is no longer in use.
thefiddler [Sat, 26 Apr 2014 16:24:13 +0000 (18:24 +0200)]
[X11] Implemented new-style bindings for GLX
Replaced delegates with call instructions and completely removed the
old extension loading code.
thefiddler [Sat, 26 Apr 2014 16:22:50 +0000 (18:22 +0200)]
[Win] Fixed warnings
Protected object in static class and wrong parameter names in
documentation
thefiddler [Sat, 26 Apr 2014 12:23:52 +0000 (14:23 +0200)]
[GL][ES] Regenerated bindings
thefiddler [Sat, 26 Apr 2014 12:23:29 +0000 (14:23 +0200)]
[GL][ES] Do not break public API
Even if that API is not meant to be used by applications.
thefiddler [Sat, 26 Apr 2014 12:22:37 +0000 (14:22 +0200)]
[Bind] Do not generate DllImports
These break dynamic loading of OpenGL ES and bloat OpenTK.dll with
duplicated strings. The new extension loading mechanism is now fast
enough to make DllImports unnecessary.
thefiddler [Sat, 26 Apr 2014 12:21:26 +0000 (14:21 +0200)]
[Mac] Sped up extension loading
From ~200ms down to ~65ms on a rMBP with Nvidia 650M and Mac OS X
10.9.2.
thefiddler [Sat, 26 Apr 2014 12:20:17 +0000 (14:20 +0200)]
[Graphics] GetAddress(string) is no longer needed
thefiddler [Sat, 26 Apr 2014 12:19:19 +0000 (14:19 +0200)]
[Graphics] Redirect GetAddress(string)
GetAddress(string) now calls GetAddress(IntPtr) internally. This
reduces the number of APIs that must be implemented for each platform.
thefiddler [Fri, 25 Apr 2014 19:55:00 +0000 (21:55 +0200)]
[X11] Optimized XKey translation
thefiddler [Fri, 25 Apr 2014 15:25:20 +0000 (17:25 +0200)]
[Bind][ES][GL] Output entry points as byte[]
Moving from string[] to byte[] reduces startup memory allocations
tremendously (up to 70% lower memory use on Windows!)
thefiddler [Fri, 25 Apr 2014 15:23:06 +0000 (17:23 +0200)]
[Win] Wgl no longer inherits GraphicsBindingsBase
This is a necessary step for the next commit.
thefiddler [Fri, 25 Apr 2014 12:50:55 +0000 (14:50 +0200)]
[ES] ES10 does not require initialization
It consists solely of DllImports that will be initialized on first use,
regardless of the existence of an OpenGL context.
thefiddler [Fri, 25 Apr 2014 12:15:06 +0000 (14:15 +0200)]
[Input] Use Key.LastKey instead of Enum.GetValues
This avoids unnecessary memory allocations in the KeyboardDevice
constructor.
thefiddler [Fri, 25 Apr 2014 12:13:55 +0000 (14:13 +0200)]
[Win] Replaced KeyMap dictionary with switch
This reduces the amount of allocations on the startup path.
thefiddler [Fri, 25 Apr 2014 11:38:53 +0000 (13:38 +0200)]
[OpenTK] Rebased on develop
thefiddler [Wed, 2 Apr 2014 11:19:41 +0000 (13:19 +0200)]
[Bind] Do not generate slots for OpenGL <= v1.1
We can use DllImports for OpenGL functions <= v1.1 on all platforms,
including Windows. This allows us to reduce the number of required
GetProcAddress calls by 474, reducing startup time and memory
consumption.
This setting can be turned off through Settings.Legacy.UseDllImports
and UseWindowsCompatibleGL.
thefiddler [Wed, 2 Apr 2014 11:17:07 +0000 (13:17 +0200)]
[OpenTK] Fixed DllImport library for OpenGL on Mac OS X
thefiddler [Wed, 2 Apr 2014 11:16:45 +0000 (13:16 +0200)]
[Examples] Improved ExternalContext test
Also added documentation
thefiddler [Wed, 2 Apr 2014 09:03:51 +0000 (11:03 +0200)]
[SDL2] Optimized Sdl2KeyCode translation
Also fixed Key.WinLeft, WinRight and Menu translation.
thefiddler [Wed, 2 Apr 2014 08:33:06 +0000 (10:33 +0200)]
[Mac] Optimized MacOSKeyCode translation
This also reduces memory allocations on startup by ~10K.
thefiddler [Fri, 25 Apr 2014 09:11:42 +0000 (11:11 +0200)]
[GL] Added missing GetPName.MaxPatchVertices
thefiddler [Thu, 24 Apr 2014 07:22:46 +0000 (09:22 +0200)]
[Mac] Removed most legacy Carbon code
thefiddler [Thu, 24 Apr 2014 07:09:11 +0000 (09:09 +0200)]
[Mac] Removed unused Carbon APIs
thefiddler [Wed, 23 Apr 2014 23:14:40 +0000 (01:14 +0200)]
[Mac] Migrated AglContext to OpenTK.GLControl
thefiddler [Wed, 23 Apr 2014 20:14:09 +0000 (22:14 +0200)]
[Mac] Mouse coordinates are reported in pixels
thefiddler [Wed, 23 Apr 2014 20:13:53 +0000 (22:13 +0200)]
[Mac] SendFloat should use _fpret on i386
thefiddler [Wed, 23 Apr 2014 19:20:18 +0000 (21:20 +0200)]
[Mac] Use scrollFactor variable
thefiddler [Wed, 23 Apr 2014 19:17:58 +0000 (21:17 +0200)]
[Mac] Fixed a warning related to volatile UniqueId
Also changed the class name to OpenTK_GameWindow
thefiddler [Wed, 23 Apr 2014 19:00:24 +0000 (21:00 +0200)]
[Mac] Window should be invisible on startup
Also fixes the initial position of the window.
thefiddler [Thu, 24 Apr 2014 11:45:17 +0000 (13:45 +0200)]
Merge branch 'pr/101' into develop
Olle Håkansson [Wed, 23 Apr 2014 18:15:09 +0000 (20:15 +0200)]
Licensed files under MIT/X11.
thefiddler [Tue, 22 Apr 2014 22:05:34 +0000 (00:05 +0200)]
[Mac] Avoid class conflicts for multiple windows
When creating multiple windows, their classes must have different class
names or they will fail to construct.
This commit ensures their names are unique. It also fixes a potential
memory leak in the Icon setter.
thefiddler [Tue, 22 Apr 2014 22:03:07 +0000 (00:03 +0200)]
[Mac] Add CocoaContext.GetGraphicsMode via CGL
Once the context is constructed, we use GetGraphicsMode to retrieve the
exact GraphicsMode that was selected by CocoaContext.
Olle Håkansson [Tue, 22 Apr 2014 19:39:17 +0000 (21:39 +0200)]
Fixed too high mouse scrolling speed.
Olle Håkansson [Tue, 22 Apr 2014 19:29:03 +0000 (21:29 +0200)]
Much improved handling of window/border states.
Olle Håkansson [Tue, 22 Apr 2014 18:02:05 +0000 (20:02 +0200)]
Fixed missing Mode value in CocoaContext.
Crashed E.g. GameWindow States example.
Olle Håkansson [Tue, 22 Apr 2014 18:01:22 +0000 (20:01 +0200)]
Fixed the HelloGL3 example for the Mac.
Upped versions to make it work on Mac; think this should not be a
problem for most other machines.
Olle Håkansson [Mon, 21 Apr 2014 19:14:32 +0000 (21:14 +0200)]
Added a helper for creating cocoa window infos.
Olle Håkansson [Mon, 21 Apr 2014 18:37:36 +0000 (20:37 +0200)]
Register mouse drag as well as move.
Olle Håkansson [Mon, 21 Apr 2014 18:32:16 +0000 (20:32 +0200)]
Closing should occur in ProcessEvents.
Olle Håkansson [Mon, 21 Apr 2014 17:41:45 +0000 (19:41 +0200)]
Cleanups.
Olle Håkansson [Mon, 21 Apr 2014 17:41:36 +0000 (19:41 +0200)]
Fixed mouse position not being received.
Olle Håkansson [Mon, 21 Apr 2014 17:40:44 +0000 (19:40 +0200)]
Fixed crashes from callbacks.
Olle Håkansson [Sun, 20 Apr 2014 21:30:37 +0000 (23:30 +0200)]
Better handling of maximized window.
Used the “zoom” command before, but it has some limitations (e.g. no
event when zoom is done).
Olle Håkansson [Sun, 20 Apr 2014 21:15:56 +0000 (23:15 +0200)]
Disabled capturing when changing resolution.
Might be off here, but without capturing it seems like we get a
behaviour closer to that of the PC.
Olle Håkansson [Sun, 20 Apr 2014 20:26:26 +0000 (22:26 +0200)]
Bug fixes.
Olle Håkansson [Sun, 20 Apr 2014 17:56:23 +0000 (19:56 +0200)]
Better fullscreen handling.
Olle Håkansson [Sun, 20 Apr 2014 08:08:44 +0000 (10:08 +0200)]
Restored most window functionality.
Olle Håkansson [Sat, 19 Apr 2014 11:36:44 +0000 (13:36 +0200)]
Fixed swap interval.
Olle Håkansson [Sat, 19 Apr 2014 10:17:14 +0000 (12:17 +0200)]
Setup listening for window events.
Olle Håkansson [Fri, 18 Apr 2014 20:30:50 +0000 (22:30 +0200)]
Cocoa bindings through libobjc.dylib
thefiddler [Wed, 2 Apr 2014 07:27:23 +0000 (09:27 +0200)]
Merge branch 'es_docs' into develop
thefiddler [Tue, 1 Apr 2014 07:49:56 +0000 (09:49 +0200)]
[Examples] Test mouse input under heavy load
thefiddler [Tue, 1 Apr 2014 07:39:48 +0000 (09:39 +0200)]
Merge remote-tracking branch 'frassle/issue76' into develop
thefiddler [Mon, 31 Mar 2014 16:20:08 +0000 (18:20 +0200)]
[Math] Replaced tab characters with spaces
thefiddler [Mon, 31 Mar 2014 16:19:18 +0000 (18:19 +0200)]
Merge branch 'pr/84' into develop
thefiddler [Mon, 31 Mar 2014 15:40:15 +0000 (17:40 +0200)]
[Bind] Corrected CSharpSpecWriter output and warning messages
CSharpSpecWriter now correctly outputs doc summaries on ARB_imaging
functions that do not have a version/deprecation string. Additionally,
it no longer warns about documentation parameter mismatches for
parameters matching C# keywords.
thefiddler [Mon, 31 Mar 2014 15:09:30 +0000 (17:09 +0200)]
[Bind] Move documentation generation to DocProcessor class
This de-duplicates a large amount of code that is shared between the
various ISpecWriter implementations.
thefiddler [Mon, 31 Mar 2014 08:10:56 +0000 (10:10 +0200)]
[Bind] Make documentation output closer to previous xslt implementation
thefiddler [Mon, 31 Mar 2014 08:09:33 +0000 (10:09 +0200)]
[Bind] Propagate ComputeSize attribute in cloned Parameters
thefiddler [Mon, 31 Mar 2014 07:51:15 +0000 (09:51 +0200)]
[Bind] More aggressive trimming of documentation strings
thefiddler [Mon, 31 Mar 2014 07:50:51 +0000 (09:50 +0200)]
[Bind] Add NoIndent option to BindStreamWriter
thefiddler [Sun, 30 Mar 2014 17:16:30 +0000 (19:16 +0200)]
[Bind] Do not skip parameters in documentation
Multiple parameters may share a single description. The DocProcessor
will now correctly generate DocumentationParameters for each of them.
thefiddler [Sun, 30 Mar 2014 09:01:30 +0000 (11:01 +0200)]
[Compatibility] Don't generate xml documentation
thefiddler [Sun, 30 Mar 2014 09:01:03 +0000 (11:01 +0200)]
[Bind] Remove xmlns to simplify xpath processing
thefiddler [Sun, 30 Mar 2014 08:43:30 +0000 (10:43 +0200)]
[Bind] Use DocumentationParameter instead of KeyValuePair
thefiddler [Sun, 30 Mar 2014 08:29:50 +0000 (10:29 +0200)]
[Bind] Merge GL2 and GL4 documentation into one
thefiddler [Sun, 30 Mar 2014 08:29:11 +0000 (10:29 +0200)]
[Bind] Concatenate multiline documentation
thefiddler [Fri, 28 Mar 2014 19:08:38 +0000 (20:08 +0100)]
[Bind] Process documentation from subdirectories
Instead of using xslt, we now process the documentation in code. This
allows us to fix mismatches from e.g. invalid parameter names that
sometimes creep in the specs.
thefiddler [Fri, 28 Mar 2014 19:06:55 +0000 (20:06 +0100)]
[Bind] Added documentation files for OpenGL ES
Fraser Waters [Sun, 23 Mar 2014 22:31:32 +0000 (22:31 +0000)]
Use Marshal.GetLastWin32Error instead of GetLastError.
Also removes magic number 1171 and replaces with constant.
Fraser Waters [Sun, 23 Mar 2014 16:26:24 +0000 (16:26 +0000)]
Use GetMouseMovePointsEx to smooth mouse input.
Uses GetMouseMovePointsEx to get mouse move history so mouse events aren't dropped even with low framerates.
Fixes #76.
thefiddler [Tue, 18 Mar 2014 13:29:41 +0000 (14:29 +0100)]
[Build] Updated copyright information
thefiddler [Tue, 18 Mar 2014 13:28:52 +0000 (14:28 +0100)]
[Build] Set revision to 0 outside source control
This ensures that properly built packages take precedence to incorrectly
built packages.
thefiddler [Tue, 18 Mar 2014 11:08:02 +0000 (12:08 +0100)]
[GL] Added missing [Rgba]16Snorm texture formats
See https://www.opengl.org/sdk/docs/man4/html/glTexImage2D.xhtml or the
4.4 spec, section 8.5, table "Sized internal color formats".
thefiddler [Tue, 18 Mar 2014 08:50:03 +0000 (09:50 +0100)]
Merge pull request #85 from csantosbh/develop
Centering the cursor at (width/2, height/2) when the mouse is hidden
csantos [Tue, 18 Mar 2014 04:44:52 +0000 (01:44 -0300)]
Centering the cursor at (width/2, height/2), effectively fixing
the issue described in https://github.com/mono/MonoGame/issues/2283
Phyyl [Mon, 17 Mar 2014 20:59:09 +0000 (16:59 -0400)]
Added multiplication operator to all vectors
thefiddler [Sun, 16 Mar 2014 23:58:48 +0000 (00:58 +0100)]
[Docs] Removed Changelog.txt from Build.Docs project
thefiddler [Sun, 16 Mar 2014 23:56:04 +0000 (00:56 +0100)]
[Docs] Removed Changelog.txt
A complete changelog can be found using git or by browsing github
thefiddler [Sun, 16 Mar 2014 23:53:46 +0000 (00:53 +0100)]
[Docs] Updated documentation for 1.1.1 release
thefiddler [Sun, 16 Mar 2014 23:51:28 +0000 (00:51 +0100)]
Merge remote-tracking branch 'origin/issue64' into develop
thefiddler [Sun, 16 Mar 2014 23:43:36 +0000 (00:43 +0100)]
[Win] Invert vertical axes to match 1.0 API
The 1.0 API defines +y as up and -y as down. This matches XInput but
disagrees with WinMM, where we have to invert the vertical axes.
thefiddler [Sun, 16 Mar 2014 23:30:19 +0000 (00:30 +0100)]
[Input] LegacyJoystickDriver now reports hat pos
thefiddler [Sun, 16 Mar 2014 23:30:04 +0000 (00:30 +0100)]
[Input] JoystickHatState is now IEquatable
thefiddler [Sun, 16 Mar 2014 23:29:45 +0000 (00:29 +0100)]
[Input] JoystickState.ToString now prints hat pos