using System;
using swf = System.Windows.Forms;
namespace BizHawk.Bizware.BizwareGL
{
///
/// Represents
///
public abstract class GraphicsControl : IDisposable
{
///
/// Gets the control that this interface is wrapping
///
public abstract swf.Control Control { get; }
public static implicit operator swf.Control(GraphicsControl ctrl) { return ctrl.Control; }
///
/// Sets whether presentation operations on this control will vsync
///
public abstract void SetVsync(bool state);
///
/// Swaps the buffers for this control
///
public abstract void SwapBuffers();
///
/// Makes this control current for rendering operations.
/// Note that at this time, the window size shouldnt change until End() or else something bad might happen
/// Please be aware that this might change the rendering context, meaning that some things you set without calling BeginControl/EndControl might not be affected
///
public abstract void Begin();
///
/// Ends rendering on the specified control.
///
public abstract void End();
public abstract void Dispose();
}
}