From d9afed2d1069fcf0dd6ece449e8d5de194f3ce4a Mon Sep 17 00:00:00 2001 From: "Stefanos A." Date: Sat, 16 Nov 2013 22:38:17 +0100 Subject: [PATCH] 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) --- Source/GLControl/GLControl.cs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Source/GLControl/GLControl.cs b/Source/GLControl/GLControl.cs index 9e9619a9..b648a5e6 100644 --- a/Source/GLControl/GLControl.cs +++ b/Source/GLControl/GLControl.cs @@ -155,6 +155,30 @@ namespace OpenTK #region --- Protected Methods --- + /// + /// Gets the CreateParams instance for this GLControl + /// + protected override CreateParams CreateParams + { + get + { + const int CS_VREDRAW = 0x1; + const int CS_HREDRAW = 0x2; + const int CS_OWNDC = 0x20; + const int WS_CLIPCHILDREN = 0x02000000; + const int WS_CLIPSIBLINGS = 0x04000000; + + CreateParams cp = base.CreateParams; + if (Configuration.RunningOnWindows) + { + // Setup necessary class style for OpenGL on windows + cp.ClassStyle |= CS_VREDRAW | CS_HREDRAW | CS_OWNDC; + cp.Style |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS; + } + return cp; + } + } + /// Raises the HandleCreated event. /// Not used. protected override void OnHandleCreated(EventArgs e) -- 2.34.1