mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-29 18:25:35 +00:00
6bbaad8bfb
Made example source code visible for all examples in example browser. Updated Prebuild.exe to newest SVN version (resolves issues with resources). Added .rtf and .resx files to Examples project in Prebuild.xml.
106 lines
2.6 KiB
C#
106 lines
2.6 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.Graphics;
|
|
|
|
#endregion
|
|
|
|
namespace Examples.WinForms
|
|
{
|
|
[Example("Simple GLControl", ExampleCategory.OpenTK, "GLControl", 1, Documentation="SimpleGLControl")]
|
|
public partial class SimpleForm : Form
|
|
{
|
|
public SimpleForm()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
#region Events
|
|
|
|
protected override void OnLoad(EventArgs e)
|
|
{
|
|
base.OnLoad(e);
|
|
|
|
glControl1_Resize(this, EventArgs.Empty); // Ensure the Viewport is set up correctly
|
|
GL.ClearColor(Color.Crimson);
|
|
}
|
|
|
|
private void redButton_Click(object sender, EventArgs e)
|
|
{
|
|
GL.ClearColor(Color.Crimson);
|
|
glControl1.Invalidate();
|
|
}
|
|
|
|
private void greenButton_Click(object sender, EventArgs e)
|
|
{
|
|
GL.ClearColor(Color.ForestGreen);
|
|
glControl1.Invalidate();
|
|
}
|
|
|
|
private void blueButton_Click(object sender, EventArgs e)
|
|
{
|
|
GL.ClearColor(Color.RoyalBlue);
|
|
glControl1.Invalidate();
|
|
}
|
|
|
|
private void glControl1_Paint(object sender, PaintEventArgs e)
|
|
{
|
|
glControl1.MakeCurrent();
|
|
|
|
GL.Clear(ClearBufferMask.ColorBufferBit);
|
|
glControl1.SwapBuffers();
|
|
}
|
|
|
|
private void glControl1_Resize(object sender, EventArgs 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;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region public static void Main()
|
|
|
|
/// <summary>
|
|
/// Entry point of this example.
|
|
/// </summary>
|
|
[STAThread]
|
|
public static void Main()
|
|
{
|
|
using (SimpleForm example = new SimpleForm())
|
|
{
|
|
Utilities.SetWindowTitle(example);
|
|
example.ShowDialog();
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|