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(); } }