Commit graph

353 commits

Author SHA1 Message Date
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 58ae48833c Changed IDisplayDeviceDriver.RestoreResolution method to IDisplayDeviceDriver.TryRestoreResolution.
DisplayDevice now correctly reports original resolution.
2008-01-26 11:01:20 +00:00
the_fiddler 55dd09a450 Fixed another NRE in TryChangeResolution. 2008-01-26 10:45:13 +00:00
the_fiddler def502a3e2 Small hack to test for resolution restoration. 2008-01-26 10:43:00 +00:00
the_fiddler ad6306bc9c Fixed a bug where wrong resolutions were saved in the DisplayResolution<->resolution_index mapping. 2008-01-26 10:33:42 +00:00
the_fiddler fde2f6daf6 Now saves DisplayDevice<->X11 screen, DisplayResolution<->resolution_index mappings. Added support for resolution changes. 2008-01-26 10:29:13 +00:00
the_fiddler 58b9ddab66 XRRTimes parameter should be out, not ref. 2008-01-26 10:28:19 +00:00
the_fiddler a61852838a Added discovery of default color depth. 2008-01-25 16:11:46 +00:00
the_fiddler 7a12e6de77 Added discovery of depths. 2008-01-25 15:31:38 +00:00
the_fiddler 64d950b42c Added XListDepths and made "libX11" string a constant. 2008-01-25 15:31:26 +00:00
the_fiddler a973479910 Implemented default refresh rate discovery. 2008-01-25 15:04:10 +00:00
the_fiddler b134ae509f Added code to obtain refresh rates. 2008-01-25 14:32:51 +00:00
the_fiddler 9f3252f821 Improved XRRScreenSize. Added XRRRates wrapper. 2008-01-25 14:32:42 +00:00
the_fiddler d2f80532ca Now adds all available resolutions, not just the default one. 2008-01-25 14:01:07 +00:00
the_fiddler d14c639ea7 Add temporary bits per pixel value (24) for testing purposes. 2008-01-25 13:58:16 +00:00
the_fiddler a1da9ff305 Screen and resolution enumeration should now work. 2008-01-25 13:56:52 +00:00
the_fiddler 5232e0a3b2 Do not free XRRScreenSize pointer in XRRSizes. 2008-01-25 13:50:50 +00:00
the_fiddler a41007fd80 Trying to debug deadlock on screen resolution enumeration. 2008-01-25 13:45:32 +00:00
the_fiddler 9d1316c51d Added debug information to XOpenDisplay etc calls. 2008-01-25 13:42:51 +00:00
the_fiddler a62e0fb6a6 Can't use Marshal.PtrToStructure(IntPtr, object) with boxed value types. Reverting to object Marshal.PtrToStructure(IntPtr, Type). 2008-01-25 13:38:39 +00:00
the_fiddler 5250b8b982 *Really* fixed libxrandr.so name. 2008-01-25 13:21:20 +00:00
the_fiddler 4302aef419 Fixed libxrandr.so name. 2008-01-25 13:17:04 +00:00
the_fiddler eb404886ac Added debug code to dump the number of screens. 2008-01-25 13:13:05 +00:00
the_fiddler 84d2748c5e Use new properties from the API class. 2008-01-25 13:12:53 +00:00
the_fiddler 3423a3f182 Added several properties to get the default screen, default display, screen count and default root window. Updated XRRSizes to abstract away the memory marshaling. 2008-01-25 13:12:33 +00:00
the_fiddler f4beb31381 Added a bogus default device for testing. 2008-01-25 10:21:00 +00:00
the_fiddler 534de7a266 Added return value to X11XrandrDisplayDevice.TryChangeResolution 2008-01-25 10:03:13 +00:00
the_fiddler 0e58ab2ee7 Added X11XrandrDisplayDevice.cs implementation. 2008-01-25 10:02:05 +00:00
the_fiddler 0e7df66261 Completed Xrandr functions and structs. 2008-01-24 22:39:06 +00:00
the_fiddler 94603aaedf Disabled Status struct. 2008-01-24 22:38:50 +00:00
the_fiddler 94f567c80d Started adding Xrandr functions. 2008-01-24 21:21:17 +00:00
the_fiddler 69a1168f3d Public X11 classes made internal. 2008-01-24 21:18:23 +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 ebb10c5424 Added LoadDelegate method. 2008-01-23 00:26:58 +00:00
the_fiddler d6e2caf54f Added loading of Glx extensions. Added vsync support. 2008-01-23 00:18:52 +00:00
the_fiddler 67e8097865 Added Glx.SupportsExtension function. 2008-01-23 00:18:18 +00:00
the_fiddler 48d7acef1c Renamed Glx.Sgi.SwapIntervalSGI to Glx.Sgi.SwapInterval 2008-01-23 00:18:05 +00:00
the_fiddler 2f2b7532e2 Added glXSwapIntervalSGI method. 2008-01-23 00:01:03 +00:00
the_fiddler b7cd66d414 Updated a comment. 2008-01-20 22:04:30 +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 7eb6715087 Small cosmetic fix. 2008-01-15 23:23:32 +00:00
the_fiddler cf5640d2a9 Re-added mouse input events. 2008-01-15 13:12:31 +00:00
the_fiddler 1600391a91 Trying async mouse input. 2008-01-15 13:04:35 +00:00
the_fiddler 8e991b93e9 Fixed a possible cast problem. 2008-01-15 12:48:03 +00:00
the_fiddler 069d3c40bc Added some IGLContextInternal explicit implementations 2008-01-15 12:47:51 +00:00
the_fiddler de7f73cd04 Added GetCurrentContext() 2008-01-15 12:46:47 +00:00
the_fiddler 15b7864096 Possible InvalidCastException fix. 2008-01-15 12:32:38 +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 70c43a644b Fixed a NRE. 2008-01-15 11:02:23 +00:00
the_fiddler b0b5f31522 Possible fix for X11GLContext crash. 2008-01-15 10:59:36 +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 ba36c8ba3a Hacks to get the visual before creating a context. 2008-01-11 20:23:41 +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 b81fdbe630 X11GLContext plays better with Windows.Forms. 2007-11-11 19:28:55 +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 c375a71603 Reverted to 0.3.12 way of handling input events. 2007-11-10 18:24:56 +00:00
the_fiddler bf939a4e10 Removed some warnings. 2007-11-06 13:37:04 +00:00
the_fiddler 3727da3a91 Removed InputDriver. 2007-11-04 15:38:39 +00:00
the_fiddler abb087314f Now initializes GL class. Slight layout improvements. Removed useless constructors. 2007-11-04 15:37:41 +00:00
the_fiddler 99d516b153 Took care of a couple of warnings. 2007-10-26 15:51:07 +00:00
the_fiddler 65e2c7830c Constructor now throws ArgumentNullException instead of ArgumentException. 2007-10-05 06:54:36 +00:00
the_fiddler 5467bc9567 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 b8ce1d4818 Fixed a warning. 2007-09-30 12:42:43 +00:00
the_fiddler 34d3a715a5 Added VSync property to IGLContext. 2007-09-29 15:24:55 +00:00
the_fiddler 1c1f5a8d98 Fix build on Mono 1.2.4 2007-09-27 00:40:28 +00:00
the_fiddler 357c1405e9 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 35f154cb72 Problem with mouse wheel not getting updated. 2007-09-26 16:12:31 +00:00
the_fiddler aea2f77892 Polled mouse input through XQueryPointer. 2007-09-26 15:41:14 +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 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 61102b359d Work on X11 mouse driver. 2007-09-24 20:10:14 +00:00
the_fiddler e277e3b272 Windows raw input now works. 2007-09-22 13:13:17 +00:00
the_fiddler 980e7138d2 Work on MouseDriver. Windows raw driver works. 2007-09-21 20:34:07 +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 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 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 a813684176 Merged with Bind. Added GLU bindings. Corrected OpenGL overload trimming. 2007-09-02 22:52:00 +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 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 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 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 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 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