Commit graph

132 commits

Author SHA1 Message Date
the_fiddler 26f1ac30d0 Added support for higher mouse buttons under X11.
Use XCheckWindowEvent instead of XNextEvent.
2008-03-24 18:18:26 +00:00
the_fiddler 034d524a87 Use one display connection for all X11 communication. Seems to fix (not 100%) the crash problems encountered. 2008-03-24 13:12:02 +00:00
the_fiddler ac0209a575 Open a different X11 display connection - reusing the one from Windows.Forms results in messages getting routed to the wrong windows. 2008-03-10 11:37:41 +00:00
the_fiddler 223c742648 Renamed ColorDepth to ColorFormat, to avoid class with System.Drawing.ColorDepth.
Update X11 stack to use System.Windows.Forms.XPlatUI for its Display, Screen and RootWindow.
Fixed mode setting for X11GLControl.
Fixed X11 shutdown (was generating X11 errors).
Added DeviceContext getter to WinWindowInfo.
Made IWindowInfo disposable.
Added documentation to many public methods.
Worked around a Mono 1.2.4 bug with Handle creation on Windows.Forms.Control.
Updated GL.BuildExtensionList to correctly parse GL_VERSION when in indirect rendering mode.
Fixed crash errors in X11GLContext.CreateContext and X11GraphicsMode.
Added a ref overload to Glx.ChooseVisual()
IGraphicsContext.MakeCurrent now takes an IWindowInfo parameter. This allows the user to change to window is context is bound to (untested).
Renamed XyzWindowInfo.Handle to XyzWindowInfo.WindowHandle.
2008-03-03 12:44:56 +00:00
the_fiddler e477631ad7 Major update: fixed context construction on X11.
Fixed vsync on X11.
Updated GraphicsContext interface, for better extensibility. Some public functions were moved to IGraphicsContextInternal.
Renamed DisplayDevice.PrimaryDisplay to DisplayDevice.Default.
Updated and documented new GameWindow constructors.
Improved GameWindow.Exit, added GameWindow.ExitAsync() and improved error handling.
Improved GraphicsContext and NativeGLWindow APIs (construction in constructor).
Made ContextHandle public.
2008-03-01 13:15:31 +00:00
the_fiddler c89abaee72 Renamed GraphicsFormat to GraphicsMode. 2008-02-28 15:28:40 +00:00
the_fiddler 9abcb5d92e Updated to use new IWindowInfo interface.
Updated to use GraphicsFormat instead of DisplayMode.
Updated to use ColorDepth instead of ColorMode.
Improved GameWindow Exit handling, and handling of failed context creation.
Improved WinGLContext creation code, to allow for FSAA support in the future.
Fixed several shutdown bugs in WinGLContext and GraphicsContext.
Context creation no longer relies on IGLContextCreationHack.
X11GLContext is not working at the moment.
2008-02-28 13:57:07 +00:00
the_fiddler 4fe6d37770 Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL. 2008-02-02 00:58:26 +00:00
the_fiddler effc907171 Moved keyboard and mouse code inside X11Input.cs 2008-02-01 23:28:23 +00:00
the_fiddler 5b9991cba3 Moved and renamed OpenTK.GLContext to OpenTK.Graphics.GraphicsContext. 2008-01-31 14:39:54 +00:00
the_fiddler 1932e25689 Renamed IGLContext to IGraphicsContext. 2008-01-31 13:17:42 +00:00
the_fiddler 5c6a261030 Added setter to GLContext.CurrentContext and all implementations, so that the user can clear the context of any thread.
Updated GameWindow and its implementations to use GraphicsFormat instead of the obsolete DisplayMode.
Updated license.
Updated some docs.
Fixed CLSCopmliant warnings in XRamExtension.cs
2008-01-31 13:15:17 +00:00
the_fiddler fef3329a54 Even more work on hiding gnome panels. 2008-01-27 18:13:26 +00:00
the_fiddler 24c78747af Added XChangeWindowAttributes / trying to get gnome panels to hide. 2008-01-27 16:34:45 +00:00
the_fiddler 02cf500a2a Try to debug why gnome panels do not get hidden. 2008-01-27 16:01:38 +00:00
the_fiddler 337d260aad Try to debug why gnome panels do not get hidden. 2008-01-27 15:59:57 +00:00
the_fiddler cf41a23fb1 Fixed error in X11 display. 2008-01-27 15:53:04 +00:00
the_fiddler fa68e80d9f Trying to hide gnome panels on fullscreen modes. 2008-01-27 15:50:44 +00:00
the_fiddler 5776585303 Trying to get fullscreen on X11 to hide gnome panels. 2008-01-27 14:10:18 +00:00
the_fiddler 1b5156e216 Try to cover gnome panels. 2008-01-27 11:30:57 +00:00
the_fiddler e6e27ea3ea Remove/activate decorations through gnome. 2008-01-27 11:28:37 +00:00
the_fiddler ec2df7ffc6 Added call to XSetTransientForHint after disabling/activating window decorations. 2008-01-27 11:12:21 +00:00
the_fiddler 42feedb851 Re-enable decorations on windowed mode. 2008-01-27 10:29:28 +00:00
the_fiddler bae8d5ba49 Added fullscreen->window change, and window resizing on fullscren change. 2008-01-27 10:23:46 +00:00
the_fiddler 1592abdbdc Working on fullscreen support. 2008-01-26 16:24:57 +00:00
the_fiddler a8c1206c0f Added debug information. 2008-01-26 15:47:00 +00:00
the_fiddler 0136441fb3 Added initial support for fullscreen mode change. 2008-01-26 15:44:08 +00:00
the_fiddler 84d2748c5e Use new properties from the API class. 2008-01-25 13:12:53 +00:00
the_fiddler d1f2d7b33e Updated everything to use plain (int width, int height parameters) instead of DisplayMode.Width/.Height. 2008-01-23 14:17:09 +00:00
the_fiddler 878af03601 Documentation updates. Getting rid of all remaining warnings in debug build. 2008-01-20 19:29:42 +00:00
the_fiddler cf5640d2a9 Re-added mouse input events. 2008-01-15 13:12:31 +00:00
the_fiddler 8e991b93e9 Fixed a possible cast problem. 2008-01-15 12:48:03 +00:00
the_fiddler e404e9791e X11/GameWindow context creation should be fixed. 2008-01-15 11:14:16 +00:00
the_fiddler 64cf1ee3c8 Possible fix for cast exception in CreateWindow. 2008-01-15 11:10:40 +00:00
the_fiddler 59eb05c532 Debugging an issue with X11GLNative and it's visual creation. 2008-01-15 11:08:03 +00:00
the_fiddler a2673bf5ff Changed the INativeGLWindow.CreateWindow interface to return an IGLContext instead of a GLContext. 2008-01-15 10:48:48 +00:00
the_fiddler c08d2785ce Added some debugging information to context creation. 2008-01-15 10:36:47 +00:00
the_fiddler 4a5b8e81d8 Refactored context creation to be done inside the *GLNative classes, instead of the GameWindow class. Should refactor in the next version. 2008-01-15 10:31:03 +00:00
the_fiddler 2e1837b8f0 CreateWindow now takes a GLContext. 2008-01-11 20:23:17 +00:00
the_fiddler b257b57494 Fixed NRE on mode.ToString(). 2008-01-06 11:02:38 +00:00
the_fiddler ababd601cd Added PointToClient and PointToScreen placeholders. 2008-01-06 02:29:14 +00:00
the_fiddler 938b2b8519 Hooks for garbage-collectable OpenGL resources.
the [...]GLNative classes now use GLContext instead of the platform-specific [...]GLContext implementations.
Updated the IGLContext interface with functions to query the current context.
2007-12-09 18:15:51 +00:00
the_fiddler 42e36a31c6 Removed a couple of unused lines of code. 2007-11-11 20:22:51 +00:00
the_fiddler 6dc133d9eb Fixed shutdown sequence on Linux. GameWindow.Exit() and clicking the 'close' button now produce the same result. 2007-11-11 20:10:08 +00:00
the_fiddler acc916a734 Reverted to 0.3.12 way of handling input events. Added Close button press handling (X no longer crashes). 2007-11-10 18:25:16 +00:00
the_fiddler 3727da3a91 Removed InputDriver. 2007-11-04 15:38:39 +00:00
the_fiddler d6a001f878 Added Title property. Foundation of atoms. 2007-09-26 15:40:22 +00:00
the_fiddler ff871cff50 Updated Keyboard and Mouse handling. Mouse now uses XQueryPointer. Keyboard relies on X11 events. Still missing mouse delta support. 2007-09-26 11:58:55 +00:00
the_fiddler 42c1affe34 Added X11 Mouse support. X11 Keyboard support is faster now.
Made GameWindow.Dispose() virtual.
2007-09-25 16:45:12 +00:00
the_fiddler 2ca6e6c617 Added OpenTK.Platform.WindowInfo and OpenTK.Platform.IMutableWindowInfo. Split IWindowInfo implementation to IWindowInfo and IMutableWindowInfo. Added several methods.
X11 and Windows GLControl and GLNative implementation now use IGLContext interfaces instead of direct X11GLContext and WinGLContext. Decouples the two (good!).
Updated all Native, Control, Context classes to use the new interfaces.
2007-09-09 15:10:21 +00:00
the_fiddler c1fa34087c Decoupled GLContext from GLControl/GameWindow even more, by using IWindowInfo to pass data between them.
Implemented the IWindowInfo.GetInfoFrom methods.
Removed said methods from OpenTK/Platform/Utilities.
2007-09-09 11:52:09 +00:00
the_fiddler 105902336e Glu is now initialized under X11GLNative 2007-09-02 23:18:50 +00:00
the_fiddler 437d8fe627 Updated T10_GLSL_Cube to remove NRE exception on Mono 1.2.x.
Added debug info to the GL.LoadAll function.
Added W03_Extensions.cs example.
2007-09-02 13:34:44 +00:00
the_fiddler df70c0c531 Corrected a bug where GL.LoadAll wasn't called on time in X11GLNative.
Moved MakeCurrent call to X11GLNative and WinGLNative, instead of GameWindow.
2007-08-21 12:21:01 +00:00
the_fiddler 7cf8aa3d95 Added AdjustWindowRect to Windows.API. The client are in WinGLNative is now correctly specified. 2007-08-21 12:04:01 +00:00
the_fiddler 9e536a72e0 Improved X11GLControl compatibility - now sets a safe DisplayMode.
Added utility that control's whether xplatui should throw exceptions on X11 errors.
2007-08-21 10:48:32 +00:00
the_fiddler 0133eb1222 Corrected critical bug in X11/API.cs: VisualInfo.visualid was int where it should have been IntPtr, causing incorrect visuals to be created on 64bit platforms.
Removed the OnCreate/OnDestroy methods from INativeGLWindow.
Added convenience overloads to OpenTK.OpenGL.GL: Color3 and Color4 can now take a System.Drawing.Color directly.
2007-08-21 09:01:24 +00:00
the_fiddler 3b5d61a337 Improved exception handling in GameWindow
X11GLContext now requests formats with alpha channels. Removed debug output from X11 SwapBuffers.
Corrected X11GLNative window creation (context is now made current). Beautified X11GLNative.cs
2007-08-20 13:47:14 +00:00
the_fiddler 2254388903 Merged with bind branch. 2007-08-20 12:25:48 +00:00
the_fiddler 7efeeda3ca 2007-08-20 10:46:37 +00:00
the_fiddler 2256864b92 Improved shutdown sequence in WinGLNative and GameWindow 2007-08-10 16:55:24 +00:00
the_fiddler 54258c9130 Fixed crash bug in X11GLNative. Almost ready for release. Niar! 2007-08-09 11:07:12 +00:00
the_fiddler 259fea275a Fixed build error. 2007-08-07 20:59:18 +00:00
the_fiddler d19466956b Debugging crash on X11 32bits. 2007-08-07 20:32:26 +00:00
the_fiddler c67859d7ca Keyboard handling now plays well with normal event handling on X11.
One more issue to go: GLControl on X11 throws when calling MakeCurrent.
2007-08-06 12:13:50 +00:00
the_fiddler 863a8e9557 Added Create and Destroy events to NativeGLWindow. 2007-08-06 11:22:18 +00:00
the_fiddler f30e7f6df8 Major updates to shutdown sequence (should correct bug where GameWindow hangs on exit). Enhanced the IGameWindow interface by adding the Keyboard and IsExiting properties.
Fully implemented keyboard on X11. Renamed some OpenTK keys.
2007-08-06 09:22:04 +00:00
the_fiddler 1c8b39d20a Added X11 structs and functions from Mono's x11 bindings. Updated several items to use these bindings. Debugging crash on XCheckIfEvent callback. 2007-08-05 23:09:05 +00:00
the_fiddler 2ddcaa15d4 Improved WindowInfo.ToString. Added window mapping for X11Input. Changed the notification mask for X11GLNative 2007-08-05 19:04:06 +00:00
the_fiddler 3c5797b15c Added visual for InputOnly window X11Input 2007-08-05 18:51:07 +00:00
the_fiddler 4c0b710fa6 Slightly changed debug output on Create event (X11GLNative)
Corrected event hooking in X11Input.
2007-08-05 18:33:38 +00:00
the_fiddler 04bbcf03d8 Corrected the OnCreate infinite loop between X11GLNative and X11Input. 2007-08-05 17:54:11 +00:00
the_fiddler ab1ec72170 Corrected what might be the cause of the NRE on X11GLNative. 2007-08-05 17:39:31 +00:00
the_fiddler 25f82c8b84 Corrected spelling errors in X11.CreateWindow enum.
Create event now fires from X11GLNative windows (added CreateWindow.SubStructureNotifyMask).
Changed X11Input window to InputOnly.
2007-08-05 16:15:15 +00:00
the_fiddler 2357f54af6 Removed exceptions from Fullscreen properties. 2007-08-05 13:51:07 +00:00
the_fiddler b630d84add Added IWindowInfo.cs, X11/WindowInfo.cs and Windows/WindowInfo.cs, which hold information regarding a platform specific window object.
Updated everything to not use raw window handles, but rather WindowInfo objects.
Added code that (hopefully) creates an invisible input window for X11.
2007-08-05 13:42:31 +00:00
the_fiddler 0172ff101c Updated documentation on the *GLNative classes. X11/X11GLNative.cs now doesn't create a render window during the constructor call, but rather when CreateWindow is called explicitly. 2007-08-05 10:33:23 +00:00
the_fiddler 47a3a3f62c Started implementing X11Input.cs, X11Keyboard.cs and X11Mouse.cs drivers. Removed some warnings from X11Api.cs 2007-08-05 09:03:22 +00:00
the_fiddler 59b503b3c3 Bumped version numbers.
WinRawInput now correctly subclasses WinGLNative or WinGLControl. WinRawKeyboard now correctly responds to events.
Removed T10_GLSL_Cube.cs which was erroneously moved outside the Examples/Tutorial directory.
Updated INativeWindow, IGameWindow and IGLControl interfaces.
Updated examples to use the new GameWindow interface.
Added documentation to GameWindow.
Improved GameWindow error handling. More defensive programming.
2007-08-04 12:09:58 +00:00
the_fiddler 2f64fb372e Major updates to keyboard input. The infrastructure (drivers etc) is ready. Windows raw input works (now implementing multiple devices). The examples need updating for the new input methods.
Updated the ExampleLauncher to not process exceptions. Updated the IExample interface to contain the Launch method. Updated examples and the ExampleLauncher according to the IExample interface.
Synced with gl3 branch.
2007-08-03 00:14:31 +00:00
the_fiddler 8f159aef72 IKeyboard is now public. Updated the GameWindow to not create the Keyboard itself (it is done further up).
Added all Raw Input structs, functions and enums in Windows.API.
WinRawKeyboard implements IKeyboard using Raw Input on Windows.
2007-07-27 01:20:55 +00:00
the_fiddler b4f122ad57 'Merged' windowing branch. Ugly, but it seems to have worked. 2007-07-23 00:15:18 +00:00