using System;
using System.Drawing;
namespace BizHawk.Client.EmuHawk.CustomControls
{
public interface IControlRenderer : IDisposable
{
///
/// Required to use before calling drawing methods
///
IDisposable LockGraphics(Graphics g);
///
/// Measure the width and height of string when drawn
/// using the given font
///
SizeF MeasureString(string str, Font font);
void SetBrush(Color color);
void SetSolidPen(Color color);
void PrepDrawString(Font font, Color color, bool rotate = false);
///
/// Draw the given string using the given font and foreground color at the X/Y of the given rect.
/// Text not fitting inside of the rect will be truncated
///
void DrawString(string str, Rectangle rect);
void DrawRectangle(Rectangle rect);
void FillRectangle(Rectangle rect);
///
/// Draw a bitmap object at the given position
///
void DrawBitmap(Bitmap bitmap, Point point);
void Line(int x1, int y1, int x2, int y2);
}
}