Commit graph

233 commits

Author SHA1 Message Date
the_fiddler a25784c84e Enabled X11Input mouse driver. 2007-09-24 21:23:27 +00:00
the_fiddler 0346c7ba35 InputDriver now correctly interfaces with its mouseDriver. 2007-09-24 21:10:52 +00:00
the_fiddler 97f7f4c7f5 Added X11Mouse driver. 2007-09-24 20:56:50 +00:00
the_fiddler 27d8c47403 Fixed cast issues with Math.Sqrt. 2007-09-24 20:56:17 +00:00
the_fiddler d39787c9de Added length, normal and scale calculations. 2007-09-24 20:18:51 +00:00
the_fiddler 4b29b626b8 Vector23 math and operator overloads. 2007-09-24 20:11:44 +00:00
the_fiddler 61102b359d Work on X11 mouse driver. 2007-09-24 20:10:14 +00:00
the_fiddler 66dfecfee7 Bumped version numbers. 2007-09-24 19:58:45 +00:00
the_fiddler 80f541bd17 Fixed renderFrequency and updateFrequency (they were render_frequency and update_frequency respectively). 2007-09-23 12:39:15 +00:00
the_fiddler 700393b688 Added GameWindow.SwapBuffers(). Fixed T02_Vertex_Array_Cube to 60Hz. 2007-09-23 12:37:07 +00:00
the_fiddler a696bbc765 Added constant and variable time-step update logic to GameWindow. Updated examples to use the new GameWindow UpdateFrame and RenderFrame events. 2007-09-23 12:09:42 +00:00
the_fiddler e361e4c10b Added timing information to UpdateFrame.
Removed T02_Resizable_Window.cs and added T02_Vertex_Array_Cube.cs
Added Shapes/Cube.cs to Examples.
2007-09-22 22:01:43 +00:00
the_fiddler 0712635670 Fixed build. 2007-09-22 15:07:28 +00:00
the_fiddler 26f5d0dff4 Updated BindStreamWriter to better handle endlines. Reverted WinRawInput to standard reads. 2007-09-22 14:59:33 +00:00
the_fiddler e277e3b272 Windows raw input now works. 2007-09-22 13:13:17 +00:00
the_fiddler 0e3a330065 Added initial OpenTK.Math implementation. Contains Vector2, Vector3 and Vector4 structs. 2007-09-21 23:38:19 +00:00
the_fiddler 52a6690150 Removed Move event from IMouse (too inefficient). Polled input only.
S04 now polls for the mouse position.
Keyboard now handles events generated from code and not from physical devices.
2007-09-21 22:49:42 +00:00
the_fiddler 21d6030a6a Corrected Windows.API.RawMouse class. Mouse input now works! 2007-09-21 22:39:16 +00:00
the_fiddler b660f5af9b Updated Input Logger example. Better handling of mice. 2007-09-21 21:30:18 +00:00
the_fiddler 597cc5c07f Small update to LoadAll(). 2007-09-21 20:36:41 +00:00
the_fiddler 980e7138d2 Work on MouseDriver. Windows raw driver works. 2007-09-21 20:34:07 +00:00
the_fiddler 0424887db2 Corrected some struct definitions in Windows.API 2007-09-21 20:31:47 +00:00
the_fiddler dbb2d1a3d6 Enhanced WindowInfo API. A WindowInfo struct can now be initialized from any Control, Form, NativeWindow or GameWindow. 2007-09-21 20:07:30 +00:00
the_fiddler 73656192e6 Slight changes to InputDriver constructor. 2007-09-21 20:05:56 +00:00
the_fiddler 66b046a58c Added KeyRepeat to IKeyboard.
Multiple keyboards correctly reported under Windows (Raw input driver).
Corrected some key maps in X11 and Windows Raw keyboards.
2007-09-21 20:03:53 +00:00
the_fiddler 55a84c70c7 Added licensing information. Added Close() call on failed initialization of W01_First_Window. Moved GLContext to OpenTK namespace. 2007-09-09 16:07:39 +00:00
the_fiddler 00a184e24f Worked around a Mono 1.2.5 gmcs bug, where nested partial classes confuse the compiler. 2007-09-09 15:42:51 +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 2e572eb65a Added needed DisplayMode constructors. Fixed DisplayMode documentation. 2007-09-09 15:07:14 +00:00
the_fiddler 827b76b6e9 Improved documentation for DummyGLContext and Dummy.
Disabled S02_RawInput_Logger for updating.
Added WindowInfo.cs
2007-09-09 11:53:25 +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 184b3cee0d Sped up GL.LoadAll() and GL.Load() functions. 2007-09-05 19:53:48 +00:00
the_fiddler 5e28f31660 Improved GL loading speed.
Added background worker thread to W03_Extensions.
Added debug output to failed WinGLContext.MakeCurrent() calls.
Removed object field from Windows.MSG struct.
2007-09-03 21:47:34 +00:00
the_fiddler 105902336e Glu is now initialized under X11GLNative 2007-09-02 23:18:50 +00:00
the_fiddler 096d33dca4 Updated Documentation and version numbers for release. 2007-09-02 23:13:28 +00:00
the_fiddler 45a0efd9d1 Removed redudant GL.LoadAll call in WinGLNative
Added Glu.LoadAll call to GLControl.cs
2007-09-02 23:04:11 +00:00
the_fiddler a813684176 Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming. 2007-09-02 22:52:00 +00:00
the_fiddler 0555cc2716 Corrected spelling. 2007-09-02 19:54:01 +00:00
the_fiddler dfaaaf582f Added timing information in GL.LoadAll() 2007-09-02 19:30:25 +00:00
the_fiddler 58bad52607 Bumped version number. 2007-09-02 13:36:54 +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 1947662281 T10_GLSL_Cube now really exits when OpenGL 2.0 support is not available.
The ExampleLauncer example TextBox is now docked inside the parent form.
Bumped version numbers.
2007-09-02 08:25:10 +00:00
the_fiddler 7403987e5c Added DummyGLContext.cs amd DummyGLControl.cs drivers. 2007-09-02 08:09:01 +00:00
the_fiddler 6ddd024fbf Added System.Drawing.Color overload to GL.ClearColor.
Updated W01 and W02 examples to use this overload.
Removed 'Paint' message from W01 Paint event.
2007-09-02 08:08:12 +00:00
the_fiddler 00463df2e8 A DummyGLControl driver is now created when in DesignMode. Removes expensive GLContext initialization, and improves designer stability. 2007-09-02 08:07:09 +00:00
the_fiddler 2f09c15672 Trunk now compiles again. 2007-09-02 00:53:24 +00:00
the_fiddler 017a345927 Merged with bind branch: updated GL.cs wrappers, Glx and Glu implementation suppoort files, faster Bind. 2007-09-02 00:40:43 +00:00
the_fiddler ce76c9ffc7 Bumped version number. 2007-09-02 00:19:19 +00:00
the_fiddler 3bf2d03def Beautified platform selection in GLControl.cs
Added missing ')' in Keyboard.ToString() function.
2007-09-02 00:19:01 +00:00
the_fiddler 9ac9af08ac Removed IDisposable from IGLControl
Added IDisposable to INativeGLWindow
2007-09-02 00:17:59 +00:00
the_fiddler b89d2231d4 Changed API.* to * in order to reflect changes in OpenTK.Platform.Windows.API.
Improved Disposable pattern implementation in most Windows classes.
2007-09-02 00:16:22 +00:00
the_fiddler b25edb985d Improved the Disposable pattern (finalizer was not needed).
Removed Dispose() call from glWindow_Destroy function.
Added obsolete warning to the Create and OnCreate events/methods.
2007-09-02 00:13:52 +00:00
the_fiddler c2c3dac7df Moved ColorDepth and DisplayMode to the /OpenTK directory (where under /OpenTK/Platform).
Renamed ColorDepth to ColorMode, to avoid clash with System.Windows.Forms.ColorDepth
Updated examples to use the new namespace for DisplayMode and ColorMode.
2007-09-02 00:04:34 +00:00
the_fiddler 794ba2fa41 Corrected a couple of compiler warnings. 2007-08-31 16:10:38 +00:00
the_fiddler 1d62f8521c Corrected bug affecting the GL.Load and Wgl.Load functions, where the delegates where not retrieved by the GetFields call. 2007-08-22 16:13:41 +00:00
the_fiddler 6ae06d82bd Added IDisposable to all input drivers.
Updated Cube.cs to use System.Drawing.Colors.
Improved DefRawInputProc in windows API.cs
2007-08-22 00:30:16 +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 e9b2aba8d0 Fixed a CLSCompliance issue. 2007-08-21 09:43:50 +00:00
the_fiddler 8f27150239 Fixed CLS-Compliance. 2007-08-21 09:34:05 +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 7d5087f1f8 Improved GLControl event handling on initialization sequence (Resize event is now raised after loading the GL class).
Improved WinForms.Cube example to hook the GLControl events instead of the parent Form's ones.
Improved Debug output in X11GLContext and X11GLControl
2007-08-20 14:12:57 +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 33527aa2c9 Added KeyDown and KeyUp events to IKeyboard and Keyboard.
Improved input logger test to hook on the aforementioned events.
Removed Debug printing of keys in OpenTK.Input.Keyboard.
Beautified X11Keyboard.cs
Added experimental code to handle X11 keyboard events (not used yet).
2007-08-20 13:45:04 +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 9478d51459 Removed unused code files. Changed endings to CRLF. 2007-08-14 16:57:25 +00:00
the_fiddler 2e467d1aa3 Added wgl binding generator. 2007-08-12 16:14:23 +00:00
the_fiddler 702eada628 Bumped version number.
Updated changelog and todo items.
2007-08-11 06:47:07 +00:00
the_fiddler 273405e4a0 Improved opengl overload trimming. 2007-08-10 20:16:05 +00:00
the_fiddler 2256864b92 Improved shutdown sequence in WinGLNative and GameWindow 2007-08-10 16:55:24 +00:00
the_fiddler 7a2da17f5c Updated Build.exe to correctly generate sharpdev and sharpdev2 projects.
Removed some unused variables.
Added licensing information.
2007-08-10 09:27:13 +00:00
the_fiddler 9cd1ca9a67 Fixed X11GLContext.MakeCurrent. X11GLControl was not setting the handle correctly. 2007-08-09 12:14:00 +00:00
the_fiddler f98b344cdf Fixed build error in WinGLNative. 2007-08-09 12:08:03 +00:00
the_fiddler 318c8e619d Debugging X11GLControl crash on MakeCurrent. 2007-08-09 12:06:09 +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 53f2e4c48f Updated ToString function for ColorDepth and DisplayMode.
Corrected two warnings in GLHelper.cs
Updated X11GLContext to use the correct DisplayMode.
2007-08-07 18:08:06 +00:00
the_fiddler a305f1e6fa Corrected build error (stray ',') 2007-08-07 17:24:03 +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 94e738bb9a Enahnaced X11 keymap. Renamed some OpenTK keys. 2007-08-06 00:08:51 +00:00
the_fiddler 87e85a13c2 Resolved all crash bugs on X11Input.X11Keyboard
Working on X11 key mapping.
2007-08-05 23:38:59 +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 0fe5712f0c VisualInfo now copied from parent WindowInfo to child. 2007-08-05 18:52:46 +00:00
the_fiddler 3c5797b15c Added visual for InputOnly window X11Input 2007-08-05 18:51:07 +00:00
the_fiddler 499e36ae94 Trying to debug why Key events do not reach the X11Input window. 2007-08-05 18:38:16 +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 6ccbfb266e Hooked up Keyboard event handling in X11Input
Added ProcessEvents() function to IInputDriver. Does nothing on WinRawInput, but is needed by X11Input
2007-08-05 18:26:14 +00:00
the_fiddler 0531e20287 Added preliminary key handling to X11Keyboard.
Removed stupid hack in WinRawKeyboard.
2007-08-05 18:10:08 +00:00
the_fiddler 04bbcf03d8 Corrected the OnCreate infinite loop between X11GLNative and X11Input. 2007-08-05 17:54:11 +00:00
the_fiddler 4c38950247 Changed the WindowInfo(WindowInfo parent) constructor to make the newly created window a child of the specified parent. This should be the last bug causing the NRE in X11Input.cs 2007-08-05 17:45:59 +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 19e7aff6ee Updated X11/X11Input.cs and X11/X11Keyboard.cs. The input window is now a child of the main window, and X11Keyboard now gets the keysym/keycode info. 2007-08-05 17:21:46 +00:00
the_fiddler 91d71b754e Corrected NRE in X11Keyboard 2007-08-05 16:54:14 +00:00
the_fiddler a56ababd8b Corrected NRE in WindowInfo.ToString functions, when referring to non-existent parent. 2007-08-05 16:47:07 +00:00
the_fiddler a987a5daf6 Overrode ToString in WindowInfo implementations.
Debugging NRE in X11Keyboard constructor.
2007-08-05 16:44:31 +00:00
the_fiddler b526c077d5 Added one default keyboard to X11Keyboard keyboard list. 2007-08-05 16:36:33 +00:00
the_fiddler 005a7e924b Implemented X11.X11.Keyboard get property. 2007-08-05 16:30:44 +00:00
the_fiddler 8f5fc9cdd8 Corrected an invalid cast exception in X11Keyboard constructor. 2007-08-05 16:26:01 +00:00
the_fiddler 2b7f7bbc24 Corrected an error, where keysyms were not allocated, causing an NRE. 2007-08-05 16:19:25 +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 40add1aaef Renamed OpenTK.Input.Keys to OpenTK.Input.Key.
Added keymap to X11/X11Keyboard.cs (not complete).
Added GetKeyboardMapping(), DisplayFlags() and XKey enum to OpenTK.Platform.X11.API.cs
2007-08-05 16:04:39 +00:00
the_fiddler 2357f54af6 Removed exceptions from Fullscreen properties. 2007-08-05 13:51:07 +00:00
the_fiddler a581ee102a Deleted X11/X11WindowInfo.cs It is now called X11/WindowInfo.cs 2007-08-05 13:45:39 +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 dce223c738 Added IMouse.cs and Mouse.cs, fixing the compilation on mono. 2007-08-05 10:17:20 +00:00
the_fiddler 4c725a098b Started working around a subtle Mono error regarding types and properties. 2007-08-05 10:07:59 +00:00
the_fiddler ed9c9eac16 Updated IMouse interface. Updated InputDriver implementation of IInputDriver. 2007-08-05 09:59:42 +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 73e0509a06 Updated Windows.Api to be CLS-Compliant. 2007-08-05 00:09:42 +00:00
the_fiddler c855420287 Merged with gl3 branch. Resolved conflicts. Added IMouseDriver.cs 2007-08-04 23:39:56 +00:00
the_fiddler 6812739418 Renamed InputDevices.cs to InputDriver.cs.
Added IMouseDriver.cs and WinRawMouse.
2007-08-04 13:28:16 +00:00
the_fiddler f9ab9f5242 Updated T10_GLSL_Cube to explicitly create a render window.
Added input driver to W01_First_Window. Works perfectly!
Added a debug message to GameWindow.cs, when accessing the opengl Context before creating a render window (this forces render window creation).
2007-08-04 12:17:30 +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 a3bfafc04a Synced with gl3 branch. 2007-08-02 14:51:06 +00:00
the_fiddler 2b871325ea Synced with gl3 branch. 2007-08-01 22:28:54 +00:00
the_fiddler 00da3bf3f4 Sycned with gl3 branch. 2007-08-01 21:14:39 +00:00
the_fiddler f4d6347832 Sycned with gl3 branch. 2007-08-01 09:31:14 +00:00
the_fiddler 3036a6184f Sycned with gl3 branch. 2007-08-01 09:30:38 +00:00
the_fiddler 536d6d9e8e Synced with gl3 branch. 2007-08-01 09:30:14 +00:00
the_fiddler 7efb21c4f8 Bumped version number. 2007-08-01 09:29:53 +00:00
the_fiddler 8f90c9d50f Added Windows.API.VirtualKeys enum.
Started VirtualKeus --> OpenTK.Input.Keys keymap .
Removed Keyboard.Key set property.
2007-07-31 21:50:29 +00:00
the_fiddler 43a37e3ac2 Fixed Raw Input keyboard registration under windows.
Fixed marshalling in GetRawInputData.
2007-07-27 01:37:12 +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 7f9fe25e3a IKeyboard interface. Updated Keyboard.cs and the examples to use the new interface.
Major additions to Windows.API: Implemented all functions and structures for Raw Input.
2007-07-26 22:56:55 +00:00
the_fiddler b4f122ad57 'Merged' windowing branch. Ugly, but it seems to have worked. 2007-07-23 00:15:18 +00:00