Opentk/Source/Examples/WinForms/W01_First_Window.cs
the_fiddler 7b1d590819 Improved GLControl event handling on initialization sequence (Resize event is now raised after loading the GL class).
Improved WinForms.Cube example to hook the GLControl events instead of the parent Form's ones.
Improved Debug output in X11GLContext and X11GLControl
2007-08-20 14:12:57 +00:00

93 lines
2.3 KiB
C#

#region --- License ---
/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
* See license.txt for license info
*/
#endregion
#region --- Using directives ---
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using OpenTK;
using OpenTK.OpenGL;
#endregion
namespace Examples.WinForms
{
public partial class W01_First_Window : Form, IExample
{
public W01_First_Window()
{
InitializeComponent();
this.ShowDialog();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
glControl1.CreateContext();
}
private void redButton_Click(object sender, EventArgs e)
{
GL.ClearColor(0.7f, 0.0f, 0.0f, 0.0f);
glControl1.Invalidate();
}
private void greenButton_Click(object sender, EventArgs e)
{
GL.ClearColor(0.0f, 0.5f, 0.0f, 0.0f);
glControl1.Invalidate();
}
private void blueButton_Click(object sender, EventArgs e)
{
GL.ClearColor(0.0f, 0.0f, 0.7f, 0.0f);
glControl1.Invalidate();
}
private void glControl1_Paint(object sender, PaintEventArgs e)
{
System.Diagnostics.Debug.Print("Paint");
GL.Clear(GL.Enums.ClearBufferMask.COLOR_BUFFER_BIT);
glControl1.SwapBuffers();
}
private void glControl1_Resize(object sender, OpenTK.Platform.ResizeEventArgs e)
{
if (glControl1.ClientSize.Height == 0)
glControl1.ClientSize = new System.Drawing.Size(glControl1.ClientSize.Width, 1);
GL.Viewport(0, 0, glControl1.ClientSize.Width, glControl1.ClientSize.Height);
}
private void glControl1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyData)
{
case Keys.Escape:
this.Close();
break;
}
}
#region IExample Members
public void Launch()
{
}
#endregion
}
}