namespace TheaterGui; using TheaterGui.Core.Structs; using System; interface IPlatformLayer { public void Initialize(StringView pWindowTitle, int32 pWidth, int32 pHeight); public void Deinitialize(); //Drawing public void StartDrawing(); public void StopDrawing(); public void RedrawLastFrame(); public void ChangeBackgroundColor(color pTint); public void LoadTexture(Span pData, StringView pName); public void DrawTexture(StringView pName, rect pTarget, color pTint); public int32[2] MeasureTextureSize(StringView pName); public void DrawColorRect(rect pTarget, color pTint); public void DrawColorRectOutlined(rect pTarget, color pTint, color pOutlineTint); ///Text public void LoadFont(Span pData, StringView pName, uint8 pFontSize); public void DrawText(StringView pText, StringView pFont, int32[2] pPosition, color pTint); public int32[2] MeasureTextSize(StringView pText, StringView pFont); ///Input public bool ShouldClose(); public int32[2] ScreenSize(); public float[2] MousePosition(); public float[2] MouseDelta(); public bool MouseLeftClick(); public bool MouseRightClick(); public float MouseWheel(); }