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)
This commit is contained in:
Stefanos A. 2013-11-16 22:38:17 +01:00
parent f9deeaead7
commit d9afed2d10

View file

@ -155,6 +155,30 @@ namespace OpenTK
#region --- Protected Methods ---
/// <summary>
/// Gets the <c>CreateParams</c> instance for this <c>GLControl</c>
/// </summary>
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;
}
}
/// <summary>Raises the HandleCreated event.</summary>
/// <param name="e">Not used.</param>
protected override void OnHandleCreated(EventArgs e)