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