using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using OpenTK;
using OpenTK.Input;
namespace Examples
{
public static class Utilities
{
///
/// Converts a System.Drawing.Color to a System.Int32.
///
/// The System.Drawing.Color to convert.
/// A System.Int32 containing the R, G, B, A values of the
/// given System.Drawing.Color in the Rbga32 format.
public static int ColorToRgba32(Color c)
{
return (int)((c.A << 24) | (c.B << 16) | (c.G << 8) | c.R);
}
public static void SetWindowTitle(GameWindow window)
{
ExampleAttribute info = GetExampleAttribute(window.GetType());
window.Title = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title);
}
public static void SetWindowTitle(System.Windows.Forms.Form window)
{
ExampleAttribute info = GetExampleAttribute(window.GetType());
window.Text = String.Format("OpenTK | {0} {1}: {2}", info.Category, info.Difficulty, info.Title);
}
static ExampleAttribute GetExampleAttribute(Type type)
{
object[] attributes = type.GetCustomAttributes(false);
foreach (object attr in attributes)
if (attr is ExampleAttribute)
return attr as ExampleAttribute;
return null;
}
}
}