Commit graph

349 commits

Author SHA1 Message Date
the_fiddler
f46e9b1564 Removed obsolete code.
Implemented X11GLNative.IconChanged event.
2009-06-24 14:42:40 +00:00
the_fiddler
83bcde95f9 Marked platform-specific APIs as internal.
Added ObsoleteAttribute to obsolete functionality.
2009-06-04 11:21:33 +00:00
the_fiddler
4a8d9c582c Made X11 structs, enums and functions internal. OpenTK should not expose platform-specific APIs. 2009-06-04 10:57:26 +00:00
the_fiddler
7df9a448d6 Merged gw-next2 branch to trunk. 2009-06-02 15:49:39 +00:00
the_fiddler
0498b3e92a Replaced XAutoRepeatOff by XkbSetDetectableAutoRepeat, because the former must be reset before the program exits (and this is not always possible). 2009-05-30 21:41:45 +00:00
the_fiddler
407d6fdf08 Added XAutoRepeatOn() method. 2009-05-30 21:40:42 +00:00
the_fiddler
76641d46d6 Added GraphicsContext.GetCurrentContextDelegate to IPlatformFactory.
Improved CreateDummyContext logic to detect and use the context handle of the current thread or a specified handle.
Removed GetCurrentContext() methods from platform-specific context implementations (everything now goes through the relevant IPlatformFactories).
2009-05-30 19:27:52 +00:00
the_fiddler
9c98321c76 Added call to XAutoRepeatOff() to disable keyboard autorepeat on X11Input. 2009-05-30 18:15:13 +00:00
the_fiddler
c02b693062 Added initial support for GameWindow.PointToClient. 2009-05-07 19:48:22 +00:00
the_fiddler
3f41f1eaf5 Added stack traces to automatic error checking.
Added GraphicsContext.ErrorChecking property to temporarily disable error checking if necessary.
Error checking is now added to all functions in debug mode (the generator would miss specific CLS-compliant overloads before).
2009-03-29 21:41:30 +00:00
the_fiddler
d4aef922bc Fixed all known build warnings, apart from missing xml comments. 2009-03-25 21:53:12 +00:00
the_fiddler
3914aaa1e6 * X11GLNative.cs: Ensure that Width and Height properties return valid values in the OnLoad event. 2009-03-23 11:57:49 +00:00
the_fiddler
c7adcbb79b Moved GraphicsMode to IGraphicsContext as it is universally useful.
Implemented GraphicsMode property on X11 and Mac OS X.
Replaced tabs with spaces in AglContext.cs.
2009-03-23 11:41:11 +00:00
the_fiddler
c7b9c7f0c5 * Platform/X11/X11GLContext.cs: Added workaround for buggy Amd linux drivers. Added "None" to context attributes, as specified by the specs. 2009-03-20 23:16:52 +00:00
the_fiddler
94b70b7bb7 * Platform/X11/X11GLNative.cs: Removed stale comments and unused code. 2009-03-20 23:15:16 +00:00
the_fiddler
6484f08e04 * Platform/X11/Bindings/Glx.cs: Added glXIsDirect method and made all enums private. Added ErrorCodes enum. 2009-03-20 23:13:24 +00:00
the_fiddler
6076dc7529 * Platform/X11/X11GraphicsMode.cs: Major clean up. Refactored
ChooseFBConfig and ChooseVisual codepaths into different methods.
  Fixed bug [#728].
2009-03-20 19:38:52 +00:00
the_fiddler
ca1e416a53 Relaxed checks to allow input devices that do not contain any axes and/or buttons (e.g. tablets or keyboard extensions). 2009-03-08 20:03:33 +00:00
the_fiddler
fda108701c Added new GLControl constructors that allow you specify the desired GraphicsContext (OpenGL) version and flags. 2009-03-07 11:03:41 +00:00
the_fiddler
0759beaebf Added new GameWindow constructors that specify the desired GraphicsContext (OpenGL) version and flags. 2009-03-07 10:49:32 +00:00
the_fiddler
4a2a223751 Added the capability to specify the desired OpenGL version and parameters (debug / forward-compatible context).
Added OpenGL 3.0 support for GLX contexts.
Added support for creating dummy contexts (useful if you are creating contexts from an external library).
Cleaned up unused and stale code.
2009-03-07 10:36:51 +00:00
the_fiddler
70963b09af Use Glx.ChooseFBConfig instead of the deprecated Glx.ChooseVisual, if the first is available. This is necessary for OpenGL 3.0 contexts. 2009-03-07 07:16:46 +00:00
the_fiddler
4efee1f1ef Removed unused types. 2009-03-07 07:14:52 +00:00
the_fiddler
300abf1a1c Added support for the glx functions ChooseFBConfig, GetVisualFromFBConfig and CreateContextAttribsARB. 2009-03-07 07:13:48 +00:00
the_fiddler
67f9358bd3 * X11/X11Joystick.cs: Flip vertical axes so that +1 points up.
* Windows/WinMMJoystick.cs: Move Z-axis before R-axis.
2009-03-01 09:17:19 +00:00
the_fiddler
1a0c3ff31f Add description to joysticks opened from the legacy path. 2009-03-01 01:26:04 +00:00
the_fiddler
44e4971a38 Added JoystickAxis and JoystickButton enumerations, as well as their respective collections.
Implemented necessary Poll() functions.
2009-03-01 01:17:24 +00:00
the_fiddler
6118f4fdec Initial joystick support (not public yet). 2009-02-28 23:11:27 +00:00
the_fiddler
e5ad57e13d 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
69b17fa43f 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
kanato
c2fd0e5eb2 Merged in macos branch for Mac OS X support. 2009-02-20 18:57:57 +00:00
the_fiddler
db690b144f Merged text branch and updated changelog. 2009-02-13 19:09:38 +00:00
the_fiddler
d79a9ca5d3 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
6edd78879d Fixed build warnings. 2008-12-09 10:06:25 +00:00
the_fiddler
62da31df48 Made ContextHandle a struct to reduce GC pressure (ContextHandles are created per frame).
Added xml documentation for the ContextHandle.
Made the casts between ContextHandles and IntPtrs explicit.
Updated all ContextHandle consumers to reflect the explicit cast.
2008-11-23 20:17:50 +00:00
the_fiddler
3f54e573e5 Removed unusued IGLControlHelper interface. 2008-11-23 09:39:52 +00:00
the_fiddler
df8e411ea9 Fixed some whitespace and normalized line-endings. 2008-11-18 12:44:18 +00:00
the_fiddler
bca0eef6d4 Implemented X11GdiPlusInternals.
Added missing license headers.
2008-11-03 23:55:53 +00:00
the_fiddler
f218071fa7 Use different implementations for accessing GDI+ internals on .Net and Mono. 2008-11-03 23:34:54 +00:00
the_fiddler
2dbf21a64a Make WinWindowInfo public.
Fixed X11WindowInfo line endings.
2008-05-19 20:57:36 +00:00
the_fiddler
48807bb5e1 Initial support for external contexts. 2008-05-19 20:54:07 +00:00
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