Commit graph

5879 commits

Author SHA1 Message Date
Fraser acf47f1ff4 SetCursor function. 2014-04-27 10:53:32 +02:00
Fraser dd75466239 GetIconInfo function. 2014-04-27 10:52:53 +02:00
Fraser f10d8568cb CreateIconIndirect function. 2014-04-27 10:52:53 +02:00
Fraser 6c65e2cdd3 IconInfo structure. 2014-04-27 10:52:53 +02:00
thefiddler dd55cea489 [All] Initial implementation of INativeWindow.Cursor property
Affects issue #9
2014-04-27 10:52:53 +02:00
thefiddler f545bd512b [SDL2] Implemented cursor APIs
Affects issue #9
2014-04-27 10:52:53 +02:00
thefiddler a6f610dd0c [Core] Added MouseCursor class
This branch marks the beginning of hardware cursor support (affects
issue #9)
2014-04-27 10:52:53 +02:00
thefiddler 6186373df1 [ES][GL] Synced with April Khronos specification 2014-04-27 09:53:22 +02:00
thefiddler a79086bb20 [X11] Set WM_CLASS property
This allows Ubuntu Unity and Gnome Shell to detect and display
the correct application name.
2014-04-26 20:27:00 +02:00
thefiddler 47ffbe3501 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.
2014-04-26 19:26:07 +02:00
thefiddler 78a6993cec [GL] Only print debug info in debug mode 2014-04-26 19:13:03 +02:00
thefiddler 7c4bdab110 [GL] Removed unused code 2014-04-26 19:12:49 +02:00
thefiddler cd25d5f307 [OpenTK] Removed reflection binding loading
This code is no longer in use.
2014-04-26 18:28:51 +02:00
thefiddler 95f73310d8 [X11] Implemented new-style bindings for GLX
Replaced delegates with call instructions and completely removed the
old extension loading code.
2014-04-26 18:24:13 +02:00
thefiddler 44526229be [Win] Fixed warnings
Protected object in static class and wrong parameter names in
documentation
2014-04-26 18:22:50 +02:00
thefiddler 8558509379 [GL][ES] Regenerated bindings 2014-04-26 14:23:52 +02:00
thefiddler 1666eb670c [GL][ES] Do not break public API
Even if that API is not meant to be used by applications.
2014-04-26 14:23:29 +02:00
thefiddler bd339523ab [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.
2014-04-26 14:22:37 +02:00
thefiddler b732e377c9 [Mac] Sped up extension loading
From ~200ms down to ~65ms on a rMBP with Nvidia 650M and Mac OS X
10.9.2.
2014-04-26 14:21:26 +02:00
thefiddler 433fa35f7e [Graphics] GetAddress(string) is no longer needed 2014-04-26 14:20:17 +02:00
thefiddler fbeac9c323 [Graphics] Redirect GetAddress(string)
GetAddress(string) now calls GetAddress(IntPtr) internally. This
reduces the number of APIs that must be implemented for each platform.
2014-04-26 14:19:19 +02:00
thefiddler 9605940661 [X11] Optimized XKey translation 2014-04-25 21:55:00 +02:00
thefiddler 6257858d54 [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!)
2014-04-25 17:25:20 +02:00
thefiddler c1f284f101 [Win] Wgl no longer inherits GraphicsBindingsBase
This is a necessary step for the next commit.
2014-04-25 17:23:06 +02:00
thefiddler e433aad4b4 [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.
2014-04-25 14:50:55 +02:00
thefiddler 3658fac263 [Input] Use Key.LastKey instead of Enum.GetValues
This avoids unnecessary memory allocations in the KeyboardDevice
constructor.
2014-04-25 14:15:06 +02:00
thefiddler 58e41a2b97 [Win] Replaced KeyMap dictionary with switch
This reduces the amount of allocations on the startup path.
2014-04-25 14:13:55 +02:00
thefiddler e36a0d0fbc [OpenTK] Rebased on develop 2014-04-25 13:38:53 +02:00
thefiddler 774ebd1df7 [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.
2014-04-25 12:14:28 +02:00
thefiddler 6994a13770 [OpenTK] Fixed DllImport library for OpenGL on Mac OS X 2014-04-25 12:14:28 +02:00
thefiddler 66e78ad3f6 [Examples] Improved ExternalContext test
Also added documentation
2014-04-25 12:14:27 +02:00
thefiddler 03a8a6da0e [SDL2] Optimized Sdl2KeyCode translation
Also fixed Key.WinLeft, WinRight and Menu translation.
2014-04-25 12:14:27 +02:00
thefiddler 9f39aa1b88 [Mac] Optimized MacOSKeyCode translation
This also reduces memory allocations on startup by ~10K.
2014-04-25 12:14:26 +02:00
thefiddler 4ae65c86ff [GL] Added missing GetPName.MaxPatchVertices 2014-04-25 11:11:42 +02:00
thefiddler 824f238973 [Mac] Removed most legacy Carbon code 2014-04-24 13:48:26 +02:00
thefiddler 5f44f3d491 [Mac] Removed unused Carbon APIs 2014-04-24 13:48:26 +02:00
thefiddler cdd88e6f7e [Mac] Migrated AglContext to OpenTK.GLControl 2014-04-24 13:48:26 +02:00
thefiddler 3475582c30 [Mac] Mouse coordinates are reported in pixels 2014-04-24 13:47:30 +02:00
thefiddler e0848f9d6d [Mac] SendFloat should use _fpret on i386 2014-04-24 13:47:30 +02:00
thefiddler 3250cbbc91 [Mac] Use scrollFactor variable 2014-04-24 13:47:30 +02:00
thefiddler a2212f0184 [Mac] Fixed a warning related to volatile UniqueId
Also changed the class name to OpenTK_GameWindow
2014-04-24 13:47:30 +02:00
thefiddler acb7dd27a7 [Mac] Window should be invisible on startup
Also fixes the initial position of the window.
2014-04-24 13:47:30 +02:00
thefiddler ef4cfbdd4b Merge branch 'pr/101' into develop 2014-04-24 13:45:17 +02:00
Olle Håkansson 64fb043b77 Licensed files under MIT/X11. 2014-04-24 13:45:06 +02:00
thefiddler b0eedc122d [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.
2014-04-24 13:45:06 +02:00
thefiddler 287c2b3415 [Mac] Add CocoaContext.GetGraphicsMode via CGL
Once the context is constructed, we use GetGraphicsMode to retrieve the
exact GraphicsMode that was selected by CocoaContext.
2014-04-24 13:45:06 +02:00
Olle Håkansson 2943bdfecb Fixed too high mouse scrolling speed. 2014-04-24 13:45:06 +02:00
Olle Håkansson 4573db2ceb Much improved handling of window/border states. 2014-04-24 13:45:06 +02:00
Olle Håkansson df6caa3cbb Fixed missing Mode value in CocoaContext.
Crashed E.g. GameWindow States example.
2014-04-24 13:45:06 +02:00
Olle Håkansson ddcc8df5ec 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.
2014-04-24 13:45:05 +02:00