Commit graph

59 commits

Author SHA1 Message Date
the_fiddler 569c4c86c7 Refactored and simplified DisplayDevice detection (devices are now stored in the platform-specific drivers instead of the frontend).
Made XRR resolution changes more robust.
Resolution changes now refresh the DisplayDevices on Windows.
2010-11-21 20:16:18 +00:00
the_fiddler 574909c426 * X11KeyMap.cs: Added AltGr keycode.
* X11Mouse.cs: Use XQueryPointer instead of trying to hook events.

* X11Keyboard.cs: Improved handling of key modifiers.

* X11Factory.cs: Use new X11Mouse API.

* Functions.cs: Added XButtonGrab/XButtonUngrab.

* API.cs: Added missing XF86 keysyms.
2010-11-04 17:57:09 +00:00
the_fiddler 151c21f520 * X11Keyboard.cs: Use XQueryKeymap to discover key state.
* X11Factory.cs: Use new X11Keyboard interface.
Temporarily disabled XI2Mouse for testing.

* Functions.cs: Fixed type declaration for Time.
Added support for XIGrabDevice, XIUngrabDevice, XGrabKey, XUngrabKey,
  XAllowEvents and XKeycodeToKeysym/XKeysymToKeycode.

* API.cs: Enumerate modes for XAllowEvents.
2010-11-01 08:01:44 +00:00
the_fiddler 1fc5e96a25 * Source/OpenTK/NativeWindow.cs:
* Source/OpenTK/INativeWindow.cs:
* Source/OpenTK/Platform/X11/API.cs:
* Source/OpenTK/Platform/X11/X11GLNative.cs:
* Source/OpenTK/Platform/Windows/WinGLNative.cs:
* Source/OpenTK/Platform/MacOS/CarbonGLNative.cs:
* Source/Examples/OpenTK/Test/GameWindowStates.cs: Initial
  implementation of CursorVisible API. See issue [#1560].
2010-10-18 15:25:25 +00:00
the_fiddler dd41ed9610 Added XF86VM fallback when XRandR is missing (many thanks to jdomnitz!) 2010-10-09 19:10:39 +00:00
the_fiddler 88e6aceae0 Synced trunk with 1.0 branch. 2010-10-02 18:52:34 +00:00
the_fiddler bca3751e8b Synced with 1.0 branch. 2010-03-11 22:53:11 +00:00
the_fiddler fe01e67d39 Do not hook ProcessExit event if an X server is not available. Should fix issue [#1364]: 1.0 beta-1 throws TypeInitializationException in OpenTK.Platform.X11.API when running on windows.
Cleaned up stale comments and code.
2009-11-12 15:41:41 +00:00
the_fiddler 2870532c78 Branched for 1.0 release. 2009-11-09 20:14:14 +00:00
the_fiddler 974641086c Use more aggressive xlib locking following the advice of the multithreaded X manpages (needs work). 2009-11-02 22:37:13 +00:00
the_fiddler 8b60cc2018 Made GraphicsMode.Index public, as it is necessary when extending OpenTK.
Removed OpenTK.Platform.Utilities.CreateWindowInfo and made the platform-specific CreateWindowInfo methods public (e.g. CreateX11WindowInfo).
Moved Mono Windows.Forms-specific code into X11GLControl.
Removed OpenTK.Platform.Utilities.IsIdle.
Removed obsolete methods from OpenTK.Platform.Utilities.
Marked OpenTK.Platform.Utilities.CreateGraphicsContext as obsolete (use GraphicsContext constructor instead).
Made IWindowInfo implementations private.
2009-09-04 21:11:25 +00:00
the_fiddler 6e7c2a2e3e Suppressed documentation warnings and ensured public structures follow the class library design guidelines. 2009-08-11 21:11:39 +00:00
the_fiddler 4b9e25af03 Made types used by X11WindowInfo public. 2009-08-11 21:02:52 +00:00
the_fiddler fc5db8a9a6 Made X11 structs, enums and functions internal. OpenTK should not expose platform-specific APIs. 2009-06-04 10:57:26 +00:00
the_fiddler 9265747541 Fixed all known build warnings, apart from missing xml comments. 2009-03-25 21:53:12 +00:00
the_fiddler 8da8023c97 Suppressed a large amount of warnings for unused methods / fields in the platform bindings.
Replaced tab stops with spaces.
2009-02-22 12:10:36 +00:00
the_fiddler a22019d890 Normalize line endings and set the mime-type=text/plain and eol-style=native properties on all files. 2009-02-22 10:43:35 +00:00
the_fiddler 3059d09795 Time should be IntPtr, not uint.
Fixed KeypadEnter detection (was mistakenly mapped to vanilla Enter key).
2009-02-09 15:33:32 +00:00
the_fiddler 057759177b Fixed build warnings. 2008-12-09 10:06:25 +00:00
the_fiddler 9619b609a5 Fixed some whitespace and normalized line-endings. 2008-11-18 12:44:18 +00:00
the_fiddler df3d5362c3 * 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 5ff51ba9fe 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 63608b1dd7 Updates to GameWindow shutdown and X11 locking behavior. 2008-03-26 19:43:57 +00:00
the_fiddler 7473fe500e Added support for higher mouse buttons under X11.
Use XCheckWindowEvent instead of XNextEvent.
2008-03-24 18:18:26 +00:00
the_fiddler ef16998dca 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 37c40f16eb 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 e10d37418f 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 b373674564 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 56cbbb8cbb 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 2c96123ff4 Even more work on hiding gnome panels. 2008-01-27 18:13:26 +00:00
the_fiddler d5e3a3d8ed Added XChangeWindowAttributes / trying to get gnome panels to hide. 2008-01-27 16:34:45 +00:00
the_fiddler 36e4909a11 XRRTimes parameter should be out, not ref. 2008-01-26 10:28:19 +00:00
the_fiddler 7273a3f28b Added XListDepths and made "libX11" string a constant. 2008-01-25 15:31:26 +00:00
the_fiddler 14376644f9 Improved XRRScreenSize. Added XRRRates wrapper. 2008-01-25 14:32:42 +00:00
the_fiddler daba18ac5d Do not free XRRScreenSize pointer in XRRSizes. 2008-01-25 13:50:50 +00:00
the_fiddler 72569e734f Added debug information to XOpenDisplay etc calls. 2008-01-25 13:42:51 +00:00
the_fiddler f56450476d 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 49d3b00bf1 *Really* fixed libxrandr.so name. 2008-01-25 13:21:20 +00:00
the_fiddler c8a80916d2 Fixed libxrandr.so name. 2008-01-25 13:17:04 +00:00
the_fiddler a3ba77f35d 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 d24cc61a23 Completed Xrandr functions and structs. 2008-01-24 22:39:06 +00:00
the_fiddler 112732353d Started adding Xrandr functions. 2008-01-24 21:21:17 +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 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 9bd06cf09e Added X11Mouse driver. 2007-09-24 20:56:50 +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 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 ffe8ce7795 Merged with bind branch. 2007-08-20 12:25:48 +00:00
the_fiddler 4497fcfc1b Debugging crash on X11 32bits. 2007-08-07 20:32:26 +00:00