using System; using System.Windows.Forms; namespace BizHawk.Bizware.BizwareGL { public interface IGraphicsControl : IDisposable { /// /// Sets whether presentation operations on this control will vsync /// void SetVsync(bool state); /// /// Swaps the buffers for this control /// 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 Begin/End might not be affected /// void Begin(); /// /// Ends rendering on the specified control. /// NOTE: DO NOT EXPECT TO SEE BEGIN/END CALLED IN PAIRS, STRICTLY. /// this is more about GL context management than anything else. /// See GLManager for details. /// In particular, dont expect to have End() called before doing certain things. Maybe use SwapBuffers instead /// void End(); } }