Class GuiRenderer
Main GUI renderer responsible for managing and rendering GUI controls
public class GuiRenderer : IGuiRenderer
- Inheritance
-
GuiRenderer
- Implements
- Inherited Members
Constructors
GuiRenderer()
Initializes a new instance of GuiRenderer
public GuiRenderer()
Methods
AddControl(IGuiControl)
Adds a GUI control to be managed by this renderer
public void AddControl(IGuiControl control)
Parameters
controlIGuiControlThe control to add
ClearClipRegion()
Clears the current clipping region
public void ClearClipRegion()
DrawRectangle(Position, Size, Color)
Renders the outline of a rectangle
public void DrawRectangle(Position position, Size size, Color color)
Parameters
positionPositionThe position of the rectangle
sizeSizeThe size of the rectangle
colorColorThe color of the outline
DrawText(string, Position, Color)
Renders text at the specified position
public void DrawText(string text, Position position, Color color)
Parameters
textstringThe text to render
positionPositionThe position to render at
colorColorThe color of the text
FillRectangle(Position, Size, Color)
Renders a filled rectangle
public void FillRectangle(Position position, Size size, Color color)
Parameters
positionPositionThe position of the rectangle
sizeSizeThe size of the rectangle
colorColorThe color to fill with
GetControlAt(Position)
Gets the control at the specified position (hit testing)
public IGuiControl? GetControlAt(Position position)
Parameters
positionPositionThe position to test
Returns
- IGuiControl
The topmost control at the position or null
GetFocusedControl()
Gets the currently focused control
public IGuiControl? GetFocusedControl()
Returns
- IGuiControl
The focused control or null
RemoveControl(IGuiControl)
Removes a GUI control from this renderer
public bool RemoveControl(IGuiControl control)
Parameters
controlIGuiControlThe control to remove
Returns
- bool
True if the control was removed
RenderControls()
Renders all managed controls
public void RenderControls()
SetClipRegion(Rectangle)
Sets the clipping region for rendering
public void SetClipRegion(Rectangle rectangle)
Parameters
rectangleRectangleThe clipping rectangle
SetFocus(IGuiControl?)
Sets focus to a specific control
public void SetFocus(IGuiControl? control)
Parameters
controlIGuiControlThe control to focus (null to clear focus)
SetRenderer(IRenderer)
Sets the renderer to use for drawing (called from the render context)
public void SetRenderer(IRenderer renderer)
Parameters
rendererIRendererThe renderer to use
UpdateControls(IInputDevice, TimeSpan)
Updates all managed controls (handles input and state changes)
public void UpdateControls(IInputDevice inputDevice, TimeSpan deltaTime)
Parameters
inputDeviceIInputDeviceThe input device for processing user input
deltaTimeTimeSpanTime elapsed since last update