Commit graph

392 commits

Author SHA1 Message Date
the_fiddler 0590fa91ca 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 f1ece1b265 X11GLContext plays better with Windows.Forms. 2007-11-11 19:28:55 +00:00
the_fiddler c13f33d6bd Reverted to 0.3.12 way of handling input events. 2007-11-10 18:25:33 +00:00
the_fiddler 04560794ad 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 24a2140872 Reverted to 0.3.12 way of handling input events. 2007-11-10 18:24:56 +00:00
the_fiddler ff5540b487 Re-added IInputDriver property. 2007-11-10 18:24:30 +00:00
the_fiddler 8efe76ca92 Removed some warnings. 2007-11-06 13:37:04 +00:00
the_fiddler 092eb36a07 Commented out some unused code. 2007-11-06 13:36:47 +00:00
the_fiddler d5df9715b7 Corrected a few warnings. 2007-11-06 13:35:40 +00:00
the_fiddler df733c7719 Removed InputDriver. 2007-11-04 15:38:39 +00:00
the_fiddler e633395202 Now initializes GL class. Slight layout improvements. Removed useless constructors. 2007-11-04 15:37:41 +00:00
the_fiddler 31672f0303 Added check to disable swap control, if the relevant extension is not supported. 2007-11-04 15:35:31 +00:00
the_fiddler b41ad63491 Removed Wgl.Ext.SupportsExtension. Updated code to use the new naming conventions. 2007-11-04 15:34:54 +00:00
the_fiddler ae1349b44d Bindings (with new naming conventions) re-generated with Bind 0.9.9 2007-11-04 15:28:20 +00:00
the_fiddler 339ae77c29 Regenerated using the latest Bind version. 2007-10-31 17:44:45 +00:00
the_fiddler db6b583030 Took care of a couple of warnings. 2007-10-26 15:51:07 +00:00
the_fiddler 55f8be2bd6 Added GdiCharset enum. Not used for now. 2007-10-20 13:40:55 +00:00
the_fiddler 056d2d654c Added WMInput driver. 2007-10-19 20:02:34 +00:00
the_fiddler 32d40b8033 Removed the InputDriver from the INativeGLWindow interface. It now resides lower, in the GameWindow class. 2007-10-19 20:00:45 +00:00
the_fiddler 33c276bc76 VSync now responds to changes. Contains a true DisplayMode. New constructor. 2007-10-15 11:16:20 +00:00
the_fiddler 9504ea7ad2 Now loads GL and Glu functions. 2007-10-15 11:14:41 +00:00
the_fiddler 50e0da4392 INativeGLWindow no longer inherits from IGLcontrol. Fixes build problems, too. 2007-10-15 11:11:38 +00:00
the_fiddler 2e09aa16b6 Removed loading of GL and Glu functions. This now happens lower in the hierarchy, inside GameWindow. 2007-10-15 11:06:58 +00:00
the_fiddler 8cce2ac278 Disabled support for multiple devices to minimize memory and CPU usage. 2007-10-15 11:02:14 +00:00
the_fiddler 961cf9d54c Constructor now throws ArgumentNullException instead of ArgumentException. 2007-10-05 06:54:36 +00:00
the_fiddler 5f9a8921b2 Fixed issue with multiple GLControls becoming invisible. Simplified GLControl, the platform dependent code now resides in GLContext and WindowInfo - GLControl itself is platform independent, just like GameWindow. This allowed to remove IGLControl.cs, WinGLControl.cs, X11GLControl.cs and DummyGLControl.cs 2007-10-05 06:52:40 +00:00
the_fiddler e932f8e162 Fixed a warning. 2007-09-30 12:42:43 +00:00
the_fiddler 2323e0cb79 Added Wgl.EXT.SupportsExtension and optimized Wgl.ARB.SupportsExtension function. Fixed a bug in Wgl.Load() function, where wglGetProcAddress was never called. 2007-09-29 15:26:39 +00:00
the_fiddler 4e421d30fb Added VSync property to IGLContext. 2007-09-29 15:24:55 +00:00
the_fiddler 69dec33ef7 Fix build on Mono 1.2.4 2007-09-27 00:40:28 +00:00
the_fiddler ae35a395b3 Added Unload event. 2007-09-26 23:13:57 +00:00
the_fiddler 21efddea04 Commented out Keymap struct in X11/API.cs, due to a bug in Mono's 1.2.5 gmcs compiler. 2007-09-26 16:57:43 +00:00
the_fiddler 94da72a196 Problem with mouse wheel not getting updated. 2007-09-26 16:12:31 +00:00
the_fiddler 3aea7f5087 Added TODO caption to Visible property. 2007-09-26 15:44:32 +00:00
the_fiddler d4376a75e0 Improved mouse delta handling. WheelDelta is broken. 2007-09-26 15:42:01 +00:00
the_fiddler 28f90f3d17 Polled mouse input through XQueryPointer. 2007-09-26 15:41:14 +00:00
the_fiddler ee4a5cc7ac Added Title property. Foundation of atoms. 2007-09-26 15:40:22 +00:00
the_fiddler 78b8f274ee 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 d16f2ce71b Updated to reflect renames (Windows.API -> Windows.Functions, Keyboard/Mouse -> Keyboard-/MouseDevice) 2007-09-26 11:57:32 +00:00
the_fiddler 20f6610c60 Implemented Visible and Title properties. 2007-09-26 11:55:55 +00:00
the_fiddler 5c3315f974 Renamed Windows.API to Windows.Functions 2007-09-26 11:55:24 +00:00
the_fiddler 9a4d7f1976 Renamed Windows.API to Windows.Functions, in accordance to X11.Functions 2007-09-26 11:54:43 +00:00
the_fiddler 2fc8f35a94 Added Visible and Title properties. 2007-09-26 11:53:41 +00:00
the_fiddler f4c6281e34 Removed multiple keyboard/mouse support. 2007-09-26 11:53:19 +00:00
the_fiddler ec34bed972 Added X11 Mouse support. X11 Keyboard support is faster now.
Made GameWindow.Dispose() virtual.
2007-09-25 16:45:12 +00:00
the_fiddler 38d779eb1a Enabled X11Input mouse driver. 2007-09-24 21:23:27 +00:00
the_fiddler 4743d5afd6 InputDriver now correctly interfaces with its mouseDriver. 2007-09-24 21:10:52 +00:00
the_fiddler 9bd06cf09e Added X11Mouse driver. 2007-09-24 20:56:50 +00:00
the_fiddler 130951343a Work on X11 mouse driver. 2007-09-24 20:10:14 +00:00
the_fiddler 57b72e71e1 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 bb2b3f8eae 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 7bf2e84373 Fixed build. 2007-09-22 15:07:28 +00:00
the_fiddler b2ac1d4c61 Updated BindStreamWriter to better handle endlines. Reverted WinRawInput to standard reads. 2007-09-22 14:59:33 +00:00
the_fiddler 1c8b77cd1b Windows raw input now works. 2007-09-22 13:13:17 +00:00
the_fiddler 11261553ea 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 626c6324ca Corrected Windows.API.RawMouse class. Mouse input now works! 2007-09-21 22:39:16 +00:00
the_fiddler 2e987c7d2d Updated Input Logger example. Better handling of mice. 2007-09-21 21:30:18 +00:00
the_fiddler 39fa68a29f Work on MouseDriver. Windows raw driver works. 2007-09-21 20:34:07 +00:00
the_fiddler 8bbaede72e Corrected some struct definitions in Windows.API 2007-09-21 20:31:47 +00:00
the_fiddler f2b92be34f 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 98bf228a3d 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 b22af8fd84 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 95318a8366 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 a28c46cdc0 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 2de33d9d8d 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 41c225a15a 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 06c0468091 Glu is now initialized under X11GLNative 2007-09-02 23:18:50 +00:00
the_fiddler 7f5bdc2fdc Removed redudant GL.LoadAll call in WinGLNative
Added Glu.LoadAll call to GLControl.cs
2007-09-02 23:04:11 +00:00
the_fiddler cc23dac7a8 Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming. 2007-09-02 22:52:00 +00:00
the_fiddler 6fb1fe1e1b 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 8c66c39a80 Added DummyGLContext.cs amd DummyGLControl.cs drivers. 2007-09-02 08:09:01 +00:00
the_fiddler 9b257a97e9 Trunk now compiles again. 2007-09-02 00:53:24 +00:00
the_fiddler 9120a732ea 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 b30f1069a0 Removed IDisposable from IGLControl
Added IDisposable to INativeGLWindow
2007-09-02 00:17:59 +00:00
the_fiddler 5144535b8e 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 ac4bde2a2d 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 4356601d21 Corrected a couple of compiler warnings. 2007-08-31 16:10:38 +00:00
the_fiddler b2459933b2 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 0dbf3c04b2 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 951f14f459 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 fcc621c9e5 Added AdjustWindowRect to Windows.API. The client are in WinGLNative is now correctly specified. 2007-08-21 12:04:01 +00:00
the_fiddler 0b5a0b4e1f 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 022b37e3cc Fixed a CLSCompliance issue. 2007-08-21 09:43:50 +00:00
the_fiddler 2e94140592 Fixed CLS-Compliance. 2007-08-21 09:34:05 +00:00
the_fiddler c47893dae6 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 7b1d590819 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 e54aadad22 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 c689f50a21 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 ffe8ce7795 Merged with bind branch. 2007-08-20 12:25:48 +00:00
the_fiddler 9295a44c60 2007-08-20 10:46:37 +00:00
the_fiddler f9fc027bb4 Removed unused code files. Changed endings to CRLF. 2007-08-14 16:57:25 +00:00
the_fiddler 164876a723 Added wgl binding generator. 2007-08-12 16:14:23 +00:00
the_fiddler 3833030a9a Improved shutdown sequence in WinGLNative and GameWindow 2007-08-10 16:55:24 +00:00
the_fiddler e220f3a71a 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 c6ed3a0fac Fixed X11GLContext.MakeCurrent. X11GLControl was not setting the handle correctly. 2007-08-09 12:14:00 +00:00
the_fiddler 917c10d54b Fixed build error in WinGLNative. 2007-08-09 12:08:03 +00:00
the_fiddler ee05b9e5c1 Debugging X11GLControl crash on MakeCurrent. 2007-08-09 12:06:09 +00:00
the_fiddler cccbb9823b Fixed crash bug in X11GLNative. Almost ready for release. Niar! 2007-08-09 11:07:12 +00:00
the_fiddler 7287e5d5a4 Fixed build error. 2007-08-07 20:59:18 +00:00
the_fiddler 4497fcfc1b Debugging crash on X11 32bits. 2007-08-07 20:32:26 +00:00
the_fiddler 81a26ab792 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 39a8a8d190 Corrected build error (stray ',') 2007-08-07 17:24:03 +00:00
the_fiddler 8e88fd9393 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 e6950a6128 Added Create and Destroy events to NativeGLWindow. 2007-08-06 11:22:18 +00:00
the_fiddler a707ef91a5 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 6353793cd0 Enahnaced X11 keymap. Renamed some OpenTK keys. 2007-08-06 00:08:51 +00:00
the_fiddler cbb1c1a0d9 Resolved all crash bugs on X11Input.X11Keyboard
Working on X11 key mapping.
2007-08-05 23:38:59 +00:00
the_fiddler 4f35768779 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 ce23ae19c8 Improved WindowInfo.ToString. Added window mapping for X11Input. Changed the notification mask for X11GLNative 2007-08-05 19:04:06 +00:00
the_fiddler 0473bb7647 VisualInfo now copied from parent WindowInfo to child. 2007-08-05 18:52:46 +00:00
the_fiddler 83d4a08c3c Added visual for InputOnly window X11Input 2007-08-05 18:51:07 +00:00
the_fiddler ae73c86b8f Trying to debug why Key events do not reach the X11Input window. 2007-08-05 18:38:16 +00:00
the_fiddler 888e3be361 Slightly changed debug output on Create event (X11GLNative)
Corrected event hooking in X11Input.
2007-08-05 18:33:38 +00:00
the_fiddler 13c04f4bbd 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 69730a274e Added preliminary key handling to X11Keyboard.
Removed stupid hack in WinRawKeyboard.
2007-08-05 18:10:08 +00:00
the_fiddler 22c3eb187f Corrected the OnCreate infinite loop between X11GLNative and X11Input. 2007-08-05 17:54:11 +00:00
the_fiddler ad97683c80 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 998243f669 Corrected what might be the cause of the NRE on X11GLNative. 2007-08-05 17:39:31 +00:00
the_fiddler 387f455078 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 3e47153aa4 Corrected NRE in X11Keyboard 2007-08-05 16:54:14 +00:00
the_fiddler 3974dbde8e Corrected NRE in WindowInfo.ToString functions, when referring to non-existent parent. 2007-08-05 16:47:07 +00:00
the_fiddler a2f5fa396f Overrode ToString in WindowInfo implementations.
Debugging NRE in X11Keyboard constructor.
2007-08-05 16:44:31 +00:00
the_fiddler 781d2447c3 Added one default keyboard to X11Keyboard keyboard list. 2007-08-05 16:36:33 +00:00
the_fiddler 2836dab743 Implemented X11.X11.Keyboard get property. 2007-08-05 16:30:44 +00:00
the_fiddler d59ce27f0c Corrected an invalid cast exception in X11Keyboard constructor. 2007-08-05 16:26:01 +00:00
the_fiddler 475ac46bdb Corrected an error, where keysyms were not allocated, causing an NRE. 2007-08-05 16:19:25 +00:00
the_fiddler 1bb6569b46 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 22d4f1b3ce 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 95d5db5347 Removed exceptions from Fullscreen properties. 2007-08-05 13:51:07 +00:00
the_fiddler 972574dd2c Deleted X11/X11WindowInfo.cs It is now called X11/WindowInfo.cs 2007-08-05 13:45:39 +00:00
the_fiddler 23403362e9 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 519b432cd7 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 e34ee87e4e 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 6b80938086 Updated Windows.Api to be CLS-Compliant. 2007-08-05 00:09:42 +00:00
the_fiddler d423f6e94c Renamed InputDevices.cs to InputDriver.cs.
Added IMouseDriver.cs and WinRawMouse.
2007-08-04 13:28:16 +00:00
the_fiddler 4ceea208ac 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 672a82983a 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 c51a0b7a6a 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 8c43b52517 Fixed Raw Input keyboard registration under windows.
Fixed marshalling in GetRawInputData.
2007-07-27 01:37:12 +00:00
the_fiddler 20630278fb 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 28b4630f04 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 3d23105b0d 'Merged' windowing branch. Ugly, but it seems to have worked. 2007-07-23 00:15:18 +00:00