Commit graph

308 commits

Author SHA1 Message Date
the_fiddler 58cd07ec2a Fixed mouse motion events on Linux. 2008-05-04 18:23:42 +00:00
the_fiddler f65fd4b221 Fixed mouse delta handling. 2008-05-04 17:42:19 +00:00
the_fiddler dda7624efa Fixed line endings. 2008-05-04 17:18:02 +00:00
the_fiddler 61d951c741 Fixed regression from conflict resolution. 2008-05-04 16:10:53 +00:00
the_fiddler 523c4de774 * X11GLNative.cs: Fix behavior of WindowState when WindowBorder is
Fixed.
2008-05-04 16:09:09 +00:00
the_fiddler 6ee92bb453 Fixed a WindowState reference that confused the compiler. 2008-05-03 16:42:25 +00:00
the_fiddler a5455cc4e7 * Platform/X11/X11GraphicsMode.cs, Platform/X11/X11GLNative.cs,
Platform/X11/Structs.cs, Platform/X11/Functions.cs,
  Platform/X11/API.cs: Working on WindowBorder and WindowState
  support.
2008-05-03 16:33:00 +00:00
the_fiddler c086ee3a99 * Platform/X11/X11GLNative.cs: Completed support for NET WM WindowState
modes.
2008-04-25 22:09:13 +00:00
the_fiddler 7cc4eb9615 * Platform/X11/X11GLNative.cs: Fullscreen toggling support through NET
WM.
2008-04-25 21:49:24 +00:00
the_fiddler 6a7c304850 Added support for minimized WindowState. 2008-04-25 21:32:01 +00:00
the_fiddler bebd056751 Added initial support for maximized window states. 2008-04-25 21:04:46 +00:00
the_fiddler 2c8d377097 Added two helper functions for sending NET WM and client WM messages.
--This line, and those below, will be ignored--
M    Functions.cs
2008-04-25 21:04:05 +00:00
the_fiddler 5f60b5da26 Moved to Bindings folder. 2008-04-25 09:03:38 +00:00
the_fiddler 5b8fef5f7a Removed unused code. 2008-04-25 08:45:12 +00:00
the_fiddler 3590ba5d29 Initial work on WindowState support. 2008-04-25 08:42:53 +00:00
the_fiddler 435b031833 Moved PlatformException to the OpenTK namespace. Removed an invalid Debug.Unindent() call. 2008-04-21 21:31:21 +00:00
the_fiddler d94643c6f2 Added WindowState and WindowBorder support on Windows. Removed GameWindow.Fullscreen property. Removed some chunks of unused code. 2008-04-20 17:54:16 +00:00
the_fiddler a90a6c6e3d Added stub for WindowState. 2008-04-13 21:32:04 +00:00
the_fiddler 84f117b3d3 Removed obsolete GetDisplayModes() function. 2008-04-04 21:08:09 +00:00
the_fiddler 7001076f5a Moved OpenTK.OpenAL to OpenTK.Audio.
Added SoundReader class.
Added OpenTK.Math.Functions.NextPowerOfTwo 
Fixed several AL functions, and added overloads to AL.BufferData.
Added OpenAL wave playback sample.
2008-04-04 19:46:08 +00:00
the_fiddler 76825a36c7 Updates to GameWindow shutdown and X11 locking behavior. 2008-03-26 19:43:57 +00:00
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 b2b9cd1353 Fixed multiple GLControls under Mono/X11. 2008-03-10 13:23:09 +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 532594c1b2 Initial commit. 2008-03-03 12:48:13 +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 7d6d34c686 Renamed GraphicsFormat to GraphicsMode. 2008-02-28 15:26:13 +00:00
the_fiddler afc5f84b21 Initial commit. 2008-02-28 14:02:17 +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 4e7978105b API.cs: Disabled cleanup code on AppDomain.ProcessExit, as it would cause X errors.
Renamed libXrandr to libXrandr.so.2 for DllImports.
2008-02-23 21:48:32 +00:00
the_fiddler af638d4795 Fixed a few warnings.
Added [assembly: CLSCompliant(true)] attribute to GameWindow.cs
2008-02-02 13:39:23 +00:00
the_fiddler 4fe6d37770 Completed move of OpenTK.OpenGL to OpenTK.Graphics.OpenGL. 2008-02-02 00:58:26 +00:00
the_fiddler fda2092106 2008-02-01 23:29:27 +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 1f9d04cd9d Moved and renamed OpenTK.GLContext to OpenTK.Graphics.GraphicsContext. 2008-01-31 14:22:37 +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 7198c69f11 Restore resolution available on OpenTK startup, not on X11 startup. 2008-01-27 14:23:13 +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 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