using SFML.Graphics;
using SFML.System;
using SFML.Window;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SFMLRenderer
{
public interface ISFMLRenderer
{
///
/// 发生在资源首次创建完成后
///
public event EventHandler? RendererCreated;
///
/// 发生在资源即将不可用之前
///
public event EventHandler? RendererDisposing;
public event EventHandler? CanvasMouseMove;
public event EventHandler? CanvasMouseButtonPressed;
public event EventHandler? CanvasMouseButtonReleased;
public event EventHandler? CanvasMouseWheelScrolled;
///
/// 分辨率, 影响画面的相对比例
///
public Vector2u Resolution { get; set; }
///
/// 快捷设置视区中心点
///
public Vector2f Center { get; set; }
///
/// 快捷设置视区缩放
///
public float Zoom { get; set; }
///
/// 快捷设置视区旋转
///
public float Rotation { get; set; }
///
/// 快捷设置视区水平翻转
///
public bool FlipX { get; set; }
///
/// 快捷设置视区垂直翻转
///
public bool FlipY { get; set; }
///
/// 最大帧率, 影响 Draw 的最大调用频率,
///
public uint MaxFps { get; set; }
///
/// 垂直同步
///
public bool VerticalSync { get; set; }
///
///
///
public void SetActive(bool active);
///
///
///
public View GetView();
///
///
///
public void SetView(View view);
///
///
///
public Vector2f MapPixelToCoords(Vector2i point);
///
///
///
public Vector2i MapCoordsToPixel(Vector2f point);
///
///
///
public void Clear();
///
///
///
public void Clear(Color color);
///
///
///
public void Draw(Drawable drawable);
///
///
///
public void Draw(Drawable drawable, RenderStates states);
///
///
///
public void Draw(Vertex[] vertices, PrimitiveType type);
///
///
///
public void Draw(Vertex[] vertices, PrimitiveType type, RenderStates states);
///
///
///
public void Draw(Vertex[] vertices, uint start, uint count, PrimitiveType type);
///
///
///
public void Display();
}
}