Theater-Gui/src/IPlatformLayer.bf

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();
}