BizHawk/BizHawk.Client.Common/Api/EmuHawkInterfaces/IGui.cs

69 lines
2.3 KiB
C#

using System;
using System.Drawing;
using System.Drawing.Imaging;
namespace BizHawk.Client.Common
{
public interface IGui : IDisposable, IExternalApi
{
ImageAttributes Attributes { get; set; }
Color? DefaultBackgroundColor { get; set; }
Color DefaultForegroundColor { get; set; }
string DefaultPixelFont { get; set; }
Color? DefaultTextBackground { get; set; }
bool HasGUISurface { get; }
(int Left, int Top, int Right, int Bottom) Padding { get; set; }
void AddMessage(string message);
void ClearGraphics();
void ClearImageCache();
void ClearText();
void DrawAxis(int x, int y, int size, Color? color = null);
void DrawBezier(Point p1, Point p2, Point p3, Point p4, Color? color = null);
void DrawBeziers(Point[] points, Color? color = null);
void DrawBox(int x, int y, int x2, int y2, Color? line = null, Color? background = null);
void DrawEllipse(int x, int y, int width, int height, Color? line = null, Color? background = null);
void DrawFinish();
void DrawIcon(string path, int x, int y, int? width = null, int? height = null);
void DrawImage(string path, int x, int y, int? width = null, int? height = null, bool cache = true);
void DrawImageRegion(string path, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int? dest_width = null, int? dest_height = null);
void DrawLine(int x1, int y1, int x2, int y2, Color? color = null);
void DrawNew(string name, bool clear = true);
void DrawPie(int x, int y, int width, int height, int startangle, int sweepangle, Color? line = null, Color? background = null);
void DrawPixel(int x, int y, Color? color = null);
void DrawPolygon(Point[] points, Color? line = null, Color? background = null);
void DrawRectangle(int x, int y, int width, int height, Color? line = null, Color? background = null);
void DrawString(int x, int y, string message, Color? forecolor = null, Color? backcolor = null, int? fontsize = null, string fontfamily = null, string fontstyle = null, string horizalign = null, string vertalign = null);
void DrawText(int x, int y, string message, Color? forecolor = null, Color? backcolor = null, string fontfamily = null);
void Text(int x, int y, string message, Color? forecolor = null, string anchor = null);
void ToggleCompositingMode();
}
}