Commit graph

60 commits

Author SHA1 Message Date
unknown f145745b25 Destroy context after OnHandleDestroyed to allow cleanup 2015-09-07 13:07:59 +02:00
Fraser Waters 99ff3d287c Revert changes to VS project version 2015-08-21 23:22:12 +01:00
Dean Ellis 69e2f36725 Removed NO_SYSDRAWING in favour of just MINUMAL
Reverted changes to GLControl.cs
Updated sln to not build OpenTK.GLControl in MINIMAL mode
2015-08-12 11:56:12 +01:00
Dean Ellis c7e86d467b Fixed MINIMAL and NO_SYSDRAWING compilation 2015-08-12 11:53:20 +01:00
Stefanos A 6fa70263cb [X11] Fixed GLControl on nvidia binary drivers
Nvidia drivers fail in Glx.MakeCurrent() when using a 32bpp
visual on a window created with a 24bpp visual. Since we do
not know the actual visual until after the context is constructed,
the solution is to implicitly use 24bpp when 32bpp is requested.

The loss of the alpha channel does not have a user-visible effect,
since WinForms do not support translucent windows on X11.
2014-07-20 11:28:43 +02:00
thefiddler cdd88e6f7e [Mac] Migrated AglContext to OpenTK.GLControl 2014-04-24 13:48:26 +02:00
Paul Kratt 0df7c55609 Update spacing and formatting to match existing style 2014-02-25 18:46:07 -06:00
Paul Kratt ba0180ed77 Fix potential exception that I was ignoring.
This can happen, so we should handle it
2014-02-25 18:46:07 -06:00
Paul Kratt 794d45fdeb Make GLControl work on OS X
This isn’t the greatest solution, but at least it doesn’t require us to
reference WinForms in OpenTK and it works perfectly for what I’m using.
2014-02-25 18:46:06 -06:00
thefiddler b9426006ef [GLControl] Warn when accessing GL properties on non-current context 2014-01-26 11:08:08 +01:00
thefiddler c9a86a63ab [GLControl] Use IGraphicsContext.SwapInterval to get/set vsync
This patch fixes warnings related to the deprecated
IGraphicsContext.VSync property.
2014-01-26 10:39:39 +01:00
thefiddler 24be068742 [GLControl] Clarified docs regarding multiple contexts 2014-01-26 10:36:52 +01:00
Stefanos A. c2e3328f59 [GLControl] Use dummy context in design mode
Creating a GraphicsContext with null parameters is not a guarantee that
we will get a dummy context that does not call any OpenGL functions. We
need to explicitly define and construct a dummy context that is safe to
use inside the designer.

Affects issue #49
2014-01-18 18:33:25 +01:00
Stefanos A. 2d7734c915 Remove bogus GraphicsMode.Index check. Fixes #22
GraphicsMode.Index is set by the platform-specific context constructor,
which is invoked after the X11GLControl constructor. It does not make
sense to check GraphicsMode.Index in the X11GLControl constructor, as it
is never set at that point.
2013-12-22 15:40:01 +01:00
Stefanos A 38821d0a0e Merge branch 'nuget' 2013-12-15 13:23:16 +01:00
Stefanos A 4e77a508a1 Generate xml documentation for OpenTK.GLControl 2013-12-15 13:01:39 +01:00
parallels 61f334f3f5 Delay VisualInfo construction (fixes #17)
In OpenTK 1.1, GraphicsMode queries the platform for a mode id lazily.
By delaying VisualInfo selection until the GraphicsContext is constructed
we ensure that a concrete GraphicsMode is selected and ready for use.
2013-12-14 11:54:55 +01:00
Stefanos A. ca36c6f26a Workaround for #5
WS_CLIPCHILDREN and WS_CLIPSIBLINGS appear to cause flickering on
specific video cards. OpenGL appears to work correctly without these, so
we'll disable them to return to OpenTK 1.0 behavior.
2013-12-02 23:39:36 +01:00
Stefanos A. d9afed2d10 Setup correct class style for OpenGL
On Windows, we need to have a CS_OWNDC class style on windows with
OpenGL contexts attached. In Windows.Forms, we can set this via the
Control.CreateParams property. See
https://www.opengl.org/wiki/Creating_an_OpenGL_Context_(WGL)
2013-11-16 22:38:17 +01:00
Stefanos A. ab58d41353 GLControl requires native backend
SDL does not currently support embedding into Windows Forms (this is an
upstream limitation.) To ensure that existing WinForms applications
continue to function even if SDL is installed, GLControl will now try to
initialize OpenTK with a native backend. The user can still override
this behavior using OpenTK.Toolkit.Init(ToolkitOptions), as normal.
2013-11-12 20:37:23 +01:00
thefiddler 8dcb8601a2 Normalized line endings
Hopefully this is the first and last time we have to do this.
2013-10-11 01:58:54 +02:00
Stefanos A. ff9cd61777 Removed terrible hack for SDL_WINDOW_OPENGL
SDL2 will refuse to create an OpenGL context on a window with the SDL_WINDOW_FOREIGN flag (i.e. windows that are passed to SDL2 through SDL_CreateWindowFrom). This must be fixed upstream.
2013-10-01 21:05:02 +02:00
Stefanos A. b57e58dc47 Implemented Sdl2GLControl
SDL2 still fails with "not an OpenGL window".
2013-09-30 20:47:29 +02:00
Andy Korth 4230c6b4f0 Added Robmaister's Matrix3 implementations 2013-01-03 10:41:56 -06:00
the_fiddler d43f00c757 Minor documentation updates. 2012-05-22 23:42:47 +00:00
the_fiddler 809d369c52 Implemented IGraphicsContext.SwapInterval property that supersedes IGraphicsContext.VSync. Fixes issue [#2671]: "Expose SwapInterval to GameWindow". 2011-09-06 12:06:30 +00:00
the_fiddler 05df162c0c Added fix for issue [#2506]: "GLControl inside a user control crashes during design time". 2011-05-30 09:20:12 +00:00
the_fiddler ce85a5f481 * Source/OpenTK/OpenTK.csproj:
* Source/Bind/Generator.Bind.csproj:
* Source/Examples/OpenTK.Examples.csproj:
* Source/GLControl/OpenTK.GLControl.csproj:
* Source/Converter/Generator.Convert.csproj:
* Source/Build.UpdateVersion/Build.UpdateVersion.csproj: Normalized
"Documentation" configuration with "Release" configuration.
2010-11-02 17:39:43 +00:00
the_fiddler 9d562fb683 All projects now read common AssemblyInfo items from GlobalAssemblyInfo.cs. The various AssemblyInfo.cs files now only contain project-specific information. Assembly versions are now controlled by Build.UpdateVersion. 2010-10-04 21:37:33 +00:00
the_fiddler 1f143285c2 Added keyfile and strong-named all projects. 2010-10-04 14:39:42 +00:00
the_fiddler 3c04d059e8 Updated default ToolsVersion to 4.0. Fixes intermittent build issues and increases build performance significantly. It is still possible to build on the 3.5 toolset by passing the /tv:3.5 parameter to msbuild. 2010-10-04 13:49:08 +00:00
the_fiddler 10f333c24f Added Generator.Bind and Generator.Convert projects.
Fixed msbuild compilation by removing the 3.5 bootstrap ItemGroups. (VS2010 added those on its own - hey, we are targeting v2.0 and we are not using ClickOnce!)
2010-10-03 12:30:39 +00:00
the_fiddler 45ca126a90 Made Nsis configuration identical to Release. Fixes build from windows terminal. 2010-10-03 09:31:40 +00:00
the_fiddler 579b6a60f6 Fixed incorrect output paths. 2010-10-03 09:25:52 +00:00
the_fiddler 31e558f446 * Source/OpenTK/OpenTK.csproj:
* Source/Build.Tasks/Build.Tasks.csproj:
* Source/Examples/OpenTK.Examples.csproj:
* Source/GLControl/OpenTK.GLControl.csproj:
* Source/Compatibility/OpenTK.Compatibility.csproj: Ensure we are
using the 2.0 toolset to build. Fixes compilation errors on
MonoDevelop/xbuild.

* Documentation/Build.Docs.csproj: Use "." instead of
"$(MSBuildProjectDirectory)", because MonoDevelop/xbuild fails to
replace the latter with its value.
2010-10-02 23:21:58 +00:00
the_fiddler a4d23d19bc * Added project files for all projects.
* Modified Build.Docs project to respond to the "Documentation" configuration. Added Clean target.
2010-10-02 22:16:59 +00:00
the_fiddler 1f4b5be7d0 Synced trunk with 1.0 branch. 2010-10-02 18:52:34 +00:00
the_fiddler ef4658a647 MacOS may have an X server installed. Prefers the native Carbon/Quartz platform driver over X in this case (same issue as rev. 2465). 2009-11-06 18:51:06 +00:00
the_fiddler 9055ac0686 Return proper CarbonWindowInfo instance instead of DummyWindowInfo. 2009-11-06 15:33:53 +00:00
the_fiddler 3e1e9dfdca Updated deprecation message with specific instructions on how to solve the issue. 2009-11-04 20:47:06 +00:00
the_fiddler af2d77cdc5 Updated version numbers in preparation for release. 2009-11-01 23:07:38 +00:00
the_fiddler 823149b343 Do not force control to create its handle in Resize event (the designer places code that raises this event before the rest of the events are hooked). Instead, suppress the event and raise it once the handle is actually created. 2009-10-22 17:56:55 +00:00
the_fiddler 7066b8bb8b Bumped version numbers and updated documentation in preparation of 0.9.9-3 release. 2009-10-21 13:35:29 +00:00
the_fiddler a58fe9e70e * GLControlFactory.cs: More defensive checks for null GraphicsModes.
* GLControl.cs: More defensive checks for null GraphicsModes.
Set flags, context version and GraphicsMode before calling
  InitializeComponents(), as the latter might cause the context to be
  created (and we need this information before creating the context).
  Fixes ArgumentNullException on Linux.
2009-10-19 17:38:16 +00:00
the_fiddler 56610f5b20 Added workaround for the "Resize event called before GraphicsContext is ready" issue. 2009-10-15 14:52:57 +00:00
the_fiddler 8628ef580f Clarified GrabScreenshot() ObsoleteAttribute message. 2009-10-15 14:15:26 +00:00
the_fiddler a122fcd239 Setting VSync mode should not force control creation. Fixes issue [#1071]: "Not firing Load event for GLControl." 2009-09-18 15:46:00 +00:00
the_fiddler 5f0e989951 * GLControl.cs: Added a public getter for the IWindowInfo of the GLControl. 2009-09-10 14:05:59 +00:00
the_fiddler ccda66e0a8 Added AllowPartialTrustedCallers attribute. 2009-09-06 14:19:52 +00:00
the_fiddler 66e17487b0 Updated in preparation of 0.9.9-2 release. 2009-09-05 18:35:20 +00:00