43 lines
No EOL
1.1 KiB
Beef
43 lines
No EOL
1.1 KiB
Beef
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<uint8> 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<uint8> 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();
|
|
} |