Commit graph

496 commits

Author SHA1 Message Date
the_fiddler
7a8bfc60ee Modified CreateX11WindowInfo to check GraphicsMode.Index.HasValue prior to using it. 2009-08-15 16:46:33 +00:00
the_fiddler
5d5f598707 Implemented EglContext construction according to AMD's OpenGL|ES samples. 2009-08-15 16:45:59 +00:00
the_fiddler
5515c59173 Added OutAttribute to array parameters that return values.
Added Egl.GetProcAddress method.
2009-08-15 16:45:21 +00:00
the_fiddler
9a6a539d26 Modified GraphicsMode.Index to be a nullable property. Modified consuming classes to check Index.HasValue prior to first use. 2009-08-15 16:44:43 +00:00
the_fiddler
5464be873f Removed duplicate GetConfigAttrib calls. 2009-08-14 15:32:38 +00:00
the_fiddler
d436bf5e14 Use Egl.GetDisplay to get a display connection from an EGLNativeDisplayType. 2009-08-14 15:19:37 +00:00
the_fiddler
b5928c6dd4 Replaced libGLES_CM.dll by libEGL.dll, which is provided by the AMD OpenGL|ES emulator. 2009-08-14 15:17:42 +00:00
the_fiddler
6336246f57 Ensure UnsupportedPlatform is used for Factory.Embedded if OpenGL|ES is not supported. 2009-08-14 14:10:56 +00:00
the_fiddler
3462e80978 Moved OpenTK.Graphics.GL class to the OpenTK.Graphics.OpenGL namespace (reason: necessary for OpenGL|ES support; necessary for support of different OpenGL profiles). OpenTK.Graphics.GL has been moved to the OpenTK.Compatibility library.
Removed OpenTK.Graphics.Glu class (reason: deprecated upstream; most functionality provided by OpenTK math; not compatible with OpenGL 3.0+.) OpenTK.Graphics.Glu can be accessed through OpenTK.Compatibility.
Added OpenGL|ES-specific ErrorHelper classes.
Moved OpenTK.Graphics.DisplayDevice and OpenTK.Graphics.DisplayResolution to the root OpenTK namespace (reason: their functionality is not specific and does not depend on OpenTK.Graphics).
Split Graphics*Exception classes into different files.
Made GraphicsErrorException public (reason: necessary for OpenTK.Compatibility).
2009-08-14 13:13:28 +00:00
the_fiddler
245f45c7eb Added support for IPlatformFactory implementations for embedded devices that use EGL. The embedded implementation can be used side-by-side with the normal implementations (useful for platforms that support both desktop GL and EGL). 2009-08-13 11:52:51 +00:00
the_fiddler
fec018e921 Normalized line endings. 2009-08-13 11:41:14 +00:00
the_fiddler
d9fc224f72 Added IsSupported property, which checks for the existence of EGL libraries. 2009-08-13 11:40:16 +00:00
the_fiddler
a905b3ce24 * Egl.cs: Added workaround for gmcs 2.4.2 bug #530270 (https://bugzilla.novell.com/show_bug.cgi?id=530270). 2009-08-12 10:58:23 +00:00
the_fiddler
81b06b8a08 Ensure Wgl core entry points are loaded prior to first use, even without a Wgl context.
Do not query actual GraphicsMode.Default in DummyGLContext constructor. Doing so creates a temporary context, which should not be done when creating a dummy context.
Fixed issue [#993]: "Possible bug in GraphicsContext.CreateDummyContext()".
2009-08-11 21:45:32 +00:00
the_fiddler
e0f6300c5b Missed part of the refactored X11 bindings. 2009-08-11 21:15:29 +00:00
the_fiddler
d9d2cfd735 Added missing license information. Made public. Added documentation. 2009-08-11 21:11:46 +00:00
the_fiddler
d3fadd0be1 Suppressed documentation warnings and ensured public structures follow the class library design guidelines. 2009-08-11 21:11:39 +00:00
the_fiddler
682d371cbe Made types used by X11WindowInfo public. 2009-08-11 21:02:52 +00:00
the_fiddler
bf5decd472 Added missing license information and removed unused code. 2009-08-11 20:57:54 +00:00
the_fiddler
8f74430e23 Made class public.
Added missing license information.
2009-08-11 20:55:43 +00:00
the_fiddler
791be928cb Removed unused code. 2009-08-11 20:51:02 +00:00
the_fiddler
a906a70146 Merged fix for issue [#1074]: " X11XrandrDisplayDevice on Xming ---> Argument is out of range." from 0.9.8 branch. 2009-08-10 11:36:26 +00:00
the_fiddler
d2ed387c67 Merged improved XRandR handling from 0.9.8 branch. 2009-08-04 09:35:31 +00:00
the_fiddler
58e58e8885 Implemented CreateKeyboardDriver (currently disabled). 2009-08-04 08:49:15 +00:00
the_fiddler
503d86267a Marked all IPlatformFactory interface implementations as virtual. 2009-07-24 21:52:01 +00:00
the_fiddler
aff44002b1 Added new EglWindowInfo constructor.
Added missing license information.
2009-07-24 21:51:06 +00:00
the_fiddler
e0c88b92e6 Initial implementation. 2009-07-24 21:50:21 +00:00
the_fiddler
e7fd9eb296 Implemented IDisposable pattern. 2009-07-24 21:19:42 +00:00
the_fiddler
f031e34ecf Initial implementation. 2009-07-24 21:13:46 +00:00
the_fiddler
46632376a8 Removed EGL_ prefix from all EGL constants. 2009-07-24 21:12:59 +00:00
the_fiddler
b1a6202269 Replaced tabs with spaces. 2009-07-19 17:50:41 +00:00
the_fiddler
67bdd39d08 Added INativeWindow.CreateKeyboardDriver()
Added INativeWindow.KeyPress event (KeyPressEventArgs).
Removed INativeWindow.Icon property.
2009-07-19 17:49:51 +00:00
the_fiddler
5ef2a59306 Replaced tabs with spaces. 2009-07-19 16:09:46 +00:00
the_fiddler
0b107a9880 * EglContext.cs: Fixed build error (class committed by mistake - it is not yet implemented). 2009-07-16 13:36:41 +00:00
the_fiddler
2a96551355 Added EGL bindings based on http://www.koushikdutta.com/2008/08/net-compact-framework-wrapper-for.html 2009-07-15 23:17:41 +00:00
the_fiddler
e8754784f8 Fixed XML docs and remove unnecessary CLSCompliance attributes. 2009-06-28 10:52:58 +00:00
the_fiddler
3dcb9e17e4 Implemented multisampling on MacOS (untested). 2009-06-26 20:06:31 +00:00
the_fiddler
b4359c51ac Implemented multisampling on X11. 2009-06-26 20:01:22 +00:00
the_fiddler
f46e9b1564 Removed obsolete code.
Implemented X11GLNative.IconChanged event.
2009-06-24 14:42:40 +00:00
the_fiddler
daed9943a8 Removed obsolete code. 2009-06-24 14:38:48 +00:00
the_fiddler
f230535dfc Removed obsolete IResizable, DisplayMode and ColorMode APIs.
Marked carbon API class as internal.
Added a large number of missing XML comments.
2009-06-04 11:31:02 +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
b4d35e7d03 Marked as obsolete. 2009-06-04 10:56:17 +00:00
the_fiddler
7df9a448d6 Merged gw-next2 branch to trunk. 2009-06-02 15:49:39 +00:00
the_fiddler
ac21b13246 Fixed recursion that between WinGraphicsMode.SelectGraphicsModeARB and GraphicsMode.Default.
Fixed acceleration attribute in WinGraphicsMode.SelectGraphicsModeARB. Now, antialiasing works on nvidia drivers, too.
2009-06-01 13:24:18 +00:00
the_fiddler
98e39f16a2 WinGraphicsMode now uses wglChoosePixelFormatARB, if available. This allows the use of FSAA modes. 2009-06-01 11:05:31 +00:00
the_fiddler
ad602ecc92 Use GraphicsMode.Default for DummyGLContext. 2009-05-31 16:02:15 +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
deadbdf6cb Merged TextPrinter optimization changes from gw-next2 branch. 2009-05-27 18:40:29 +00:00
the_fiddler
d686adb42a Ensured IWindowInfo.Dispose() is called when the GLControl handle is destroyed.
WinGLContext.SwapBuffers now throws an exception on failure.
2009-05-19 09:48:47 +00:00
the_fiddler
9bdc21cabd Added diagnostic message when ReleaseDC fails. 2009-05-19 09:45:36 +00:00
the_fiddler
2277bf8576 Modified Wgl.SupportsExtension to be more defensive when calling Wgl.Arb.GetExtensionString. It now bails out if the extension string is empty. 2009-05-19 09:44:47 +00:00
the_fiddler
6a17953ba0 Fixed potential NRE during extension loading. 2009-05-11 10:31:50 +00:00
kanato
5817a46f65 Implement PointToClient for MacOS. 2009-05-11 01:10:09 +00:00
kanato
768528ca81 Add overload to OpenTK.Platform.Utilities.CreateGraphicsContext which takes version number and flag parameters. Deprecate old CreateGraphicsContext methods. 2009-05-10 04:49:31 +00:00
the_fiddler
c02b693062 Added initial support for GameWindow.PointToClient. 2009-05-07 19:48:22 +00:00
kanato
889822e06c Fix AGL buffer rectangle when destination control is inside a container inside a form. 2009-05-07 16:32:15 +00:00
the_fiddler
e5df36036b Fixed potential crash-bug in the WGL_ARB_create_context path (missing 0 attribute). 2009-04-29 11:02:12 +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
4cfaaf6077 Made extension loading more forgiving (delegates can be either public or non-public now). 2009-03-07 10:20:55 +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
03cf3ee512 WinMM devices with 0 axes and no POV hats are not joysticks/joypads. 2009-03-07 05:55:33 +00:00
kanato
3c1676ee40 Add MacOS code to call gestalt to detect OS version. 2009-03-02 01:49:23 +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
51e2d93e38 Added support for POV hats with WinMM.
Reversed vertical axes, so that down is -1 and up is +1.
2009-03-01 08:44:39 +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
132c2ab856 Merged initial GL3 support from branches/gl3. 2009-02-28 19:56:08 +00:00
the_fiddler
cf20b474f6 Added support for wglCreateContextAttribsARB. 2009-02-28 19:51:58 +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
c6f5131491 Fixed SetWindowPos function (IntPtr instead of int parameter).
Add NcCalcSizeOptions enum.
2009-02-13 21:45:50 +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
44b3a10794 Removed call to Console.WriteLine when changing WindowState. 2008-12-09 21:26:48 +00:00
the_fiddler
033d4722af Moved DummyGLContext and DummyGLControl to the OpenTK/Platform/Dummy directory and namespace.
Fixed a regression where the GLControl would try to instantiate a normal context inside the VS designer, instead of a dummy one.
2008-12-09 10:09:03 +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
dbfc38202b Library should not use Trace output. 2008-11-23 09:34:33 +00:00
the_fiddler
df8e411ea9 Fixed some whitespace and normalized line-endings. 2008-11-18 12:44:18 +00:00