2018-11-26 19:07:46 -05:00
|
|
|
|
using System;
|
2018-11-22 14:30:37 -05:00
|
|
|
|
using System.Drawing;
|
2018-11-26 19:07:46 -05:00
|
|
|
|
using OpenDiablo2.Common.Models;
|
2018-11-22 00:18:42 -05:00
|
|
|
|
|
|
|
|
|
namespace OpenDiablo2.Common.Interfaces
|
|
|
|
|
{
|
|
|
|
|
public interface IRenderWindow : IDisposable
|
|
|
|
|
{
|
|
|
|
|
bool IsRunning { get; }
|
|
|
|
|
void Update();
|
|
|
|
|
void Clear();
|
|
|
|
|
void Sync();
|
2018-11-22 18:46:24 -05:00
|
|
|
|
void Quit();
|
2018-11-22 14:30:37 -05:00
|
|
|
|
ISprite LoadSprite(string resourcePath, string palette, Point location);
|
|
|
|
|
ISprite LoadSprite(string resourcePath, string palette);
|
2018-11-22 16:22:39 -05:00
|
|
|
|
IFont LoadFont(string resourcePath, string palette);
|
|
|
|
|
ILabel CreateLabel(IFont font);
|
|
|
|
|
ILabel CreateLabel(IFont font, string text);
|
|
|
|
|
ILabel CreateLabel(IFont font, Point position, string text);
|
2018-11-22 00:18:42 -05:00
|
|
|
|
void Draw(ISprite sprite);
|
2018-11-22 16:22:39 -05:00
|
|
|
|
void Draw(ISprite sprite, Point location);
|
2018-11-23 21:56:30 -05:00
|
|
|
|
void Draw(ISprite sprite, int frame, Point location);
|
2018-11-22 14:30:37 -05:00
|
|
|
|
void Draw(ISprite sprite, int frame);
|
2018-11-22 12:35:21 -05:00
|
|
|
|
void Draw(ISprite sprite, int xSegments, int ySegments, int offset);
|
2018-11-27 20:02:18 -05:00
|
|
|
|
IMouseCursor LoadCursor(ISprite sprite, int frame, Point hotspot);
|
|
|
|
|
void SetCursor(IMouseCursor mouseCursor);
|
2018-11-22 16:22:39 -05:00
|
|
|
|
void Draw(ILabel label);
|
2018-11-27 23:09:10 -05:00
|
|
|
|
MapCellInfo CacheMapCell(MPQDT1Tile mapCell);
|
|
|
|
|
void DrawMapCell(MapCellInfo mapCellInfo, int xPixel, int yPixel);
|
2018-11-22 00:18:42 -05:00
|
|
|
|
}
|
|
|
|
|
}
|