2007-07-23 00:15:18 +00:00
|
|
|
|
#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()
|
|
|
|
|
{
|
2007-08-21 10:48:32 +00:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception e)
|
|
|
|
|
{
|
|
|
|
|
System.Diagnostics.Trace.WriteLine("Exception during initialization, aborting: {0}", e.ToString());
|
2007-09-09 16:07:39 +00:00
|
|
|
|
this.Close();
|
2007-08-21 10:48:32 +00:00
|
|
|
|
return;
|
|
|
|
|
}
|
2007-07-23 00:15:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
2007-08-20 12:25:48 +00:00
|
|
|
|
protected override void OnLoad(EventArgs e)
|
2007-08-04 12:17:30 +00:00
|
|
|
|
{
|
2007-08-20 12:25:48 +00:00
|
|
|
|
base.OnLoad(e);
|
|
|
|
|
|
|
|
|
|
glControl1.CreateContext();
|
2007-09-02 08:08:12 +00:00
|
|
|
|
|
|
|
|
|
GL.ClearColor(Color.Crimson);
|
2007-08-04 12:17:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
2007-07-23 00:15:18 +00:00
|
|
|
|
private void redButton_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2007-09-02 08:08:12 +00:00
|
|
|
|
GL.ClearColor(Color.Crimson);
|
2007-08-20 14:12:57 +00:00
|
|
|
|
glControl1.Invalidate();
|
2007-07-23 00:15:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void greenButton_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2007-09-02 08:08:12 +00:00
|
|
|
|
GL.ClearColor(Color.ForestGreen);
|
2007-08-20 14:12:57 +00:00
|
|
|
|
glControl1.Invalidate();
|
2007-07-23 00:15:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void blueButton_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2007-09-02 08:08:12 +00:00
|
|
|
|
GL.ClearColor(Color.RoyalBlue);
|
2007-08-20 14:12:57 +00:00
|
|
|
|
glControl1.Invalidate();
|
2007-07-23 00:15:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void glControl1_Paint(object sender, PaintEventArgs e)
|
|
|
|
|
{
|
2007-08-20 14:12:57 +00:00
|
|
|
|
GL.Clear(GL.Enums.ClearBufferMask.COLOR_BUFFER_BIT);
|
|
|
|
|
glControl1.SwapBuffers();
|
2007-07-23 00:15:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void glControl1_Resize(object sender, OpenTK.Platform.ResizeEventArgs e)
|
|
|
|
|
{
|
2007-08-20 14:12:57 +00:00
|
|
|
|
if (glControl1.ClientSize.Height == 0)
|
|
|
|
|
glControl1.ClientSize = new System.Drawing.Size(glControl1.ClientSize.Width, 1);
|
2007-07-23 00:15:18 +00:00
|
|
|
|
|
2007-08-20 14:12:57 +00:00
|
|
|
|
GL.Viewport(0, 0, glControl1.ClientSize.Width, glControl1.ClientSize.Height);
|
2007-07-23 00:15:18 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void glControl1_KeyDown(object sender, KeyEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
switch (e.KeyData)
|
|
|
|
|
{
|
|
|
|
|
case Keys.Escape:
|
|
|
|
|
this.Close();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
2007-08-04 12:09:58 +00:00
|
|
|
|
|
|
|
|
|
#region IExample Members
|
|
|
|
|
|
|
|
|
|
public void Launch()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
2007-07-23 00:15:18 +00:00
|
|
|
|
}
|
2007-08-10 09:27:13 +00:00
|
|
|
|
}
|