Skip to main content

ControlRoot

The ControlRoot class extends the Control class and manages the root of a UI hierarchy, providing functions for setting viewport dimensions, font, texture, and mesh properties. It allows control over text color and offsets, as well as panel and group properties like radius and color. The class supports advanced input handling, including mouse position and button tracking, keyboard key events, and control focus management. It offers functionalities for managing the current, focused, modal, and mouse-controlled elements in the UI. Additionally, it includes copy and paste functionality, with user-defined callback functions for these operations.

#include <interface/TellusimControls.h>

Inheritance

Constructors

ControlRoot()
explicit ControlRoot(Canvas &canvas, bool blob = false)

Methods

Root viewport.

void setViewport(Viewport viewport)
void setViewport(uint32_t width, uint32_t height)
void setViewport(float32_t width, float32_t height)
const Viewport getViewport() const

Font name.

String getFontName() const
void setFontName(const char *name)
void setFontName(const String &name)
bool setFontBlob(const uint8_t (*blob)[256], const char *name = nullptr)

Font style.

bool setFontSize(uint32_t size, bool update = false)
uint32_t getFontSize() const
bool setFontScale(uint32_t scale, bool update = false)
uint32_t getFontScale() const
bool setFontStyle(FontStyle style, bool update = false)
const FontStyle getFontStyle() const
FontStyle getFontStyle()

Texture parameters.

String getTextureName() const
bool setTextureName(const char *name, uint32_t width = 0, uint32_t height = 0, float32_t border = 0.0f)
bool setTextureName(const String &name, uint32_t width = 0, uint32_t height = 0, float32_t border = 0.0f)
bool setTextureBlob(const uint8_t (*blob)[256], const char *name = nullptr, uint32_t width = 0, uint32_t height = 0, float32_t border = 0.0f)
float32_t getTextureWidth() const
float32_t getTextureHeight() const

Text parameters.

void setTextColor(Type type, State state, Color color)
void setTextOffset(Type type, State state, Vector3f offset)
const Color getTextColor(Type type, State state) const
const Vector3f getTextOffset(Type type, State state) const

Mesh parameters.

void setMeshColor(Mesh mesh, State state, Color color)
void setMeshRegion(Mesh mesh, Rect grid, Rect region, Vector2f border)
void setMeshRegions(Mesh mesh, Rect grid, Rect regions, Vector2f border)
uint32_t getMeshColor(Mesh mesh, State state) const
const Rect getMeshGrid(Mesh mesh) const
const Rect getMeshMargin(Mesh mesh) const
const Rect getMeshRegion(Mesh mesh, State state) const

Panel parameters.

void setGroupRadius(float32_t radius)
void setGroupColor(Color color)
float32_t getGroupRadius() const
const Color getGroupColor() const

Panel parameters.

void setPanelRadius(float32_t radius)
void setPanelColor(Color color)
float32_t getPanelRadius() const
const Color getPanelColor() const

Check parameters.

void setCheckedColor(Color color)
const Color getCheckedColor() const

Split parameters.

void setSplitSize(float32_t size)
float32_t getSplitSize() const

Mouse button.

void setMouse(int32_t x, int32_t y, Button buttons)
void setMouse(float32_t x, float32_t y, Button buttons)
const Vector2f getMouse() const
Button getMouseButtons() const
float32_t getMouseX() const
float32_t getMouseY() const

Mouse offset.

void setMouseOffset(Vector2f offset)
const Vector2f getMouseOffset() const

Mouse axes.

void setMouseAxis(Axis axis, float32_t delta)

Mouse alignment.

void setMouseAlign(Align align, bool clear = true)
Align getMouseAlign() const
bool hasMouseAlign(Align align) const
bool hasMouseAligns(Align aligns) const

Keyboard keys.

bool setKeyboardKey(uint32_t key, uint32_t code, bool value)
bool getKeyboardKey(uint32_t key, bool clear = false)

Current control.

void clearCurrentControl()
void setCurrentControl(Control control, bool grab = false)
Control getCurrentControl() const
bool isCurrentControl() const
bool getControlGrab() const

Focused control.

void clearFocusedControl()
void setFocusedControl(Control control)
Control getFocusedControl() const
bool isFocusedControl() const

Mouse control.

void clearMouseControl()
void setMouseControl(Control control)
Control getMouseControl() const
bool isMouseControl() const

Input control.

void clearInputControl()
void setInputControl(Control control)
Control getInputControl() const
bool isInputControl() const

Modal control.

void clearModalControl()
void setModalControl(Control control, bool disabled = true)
Control getModalControl() const
bool isModalDisabled() const
bool isModalControl() const

Overlay order.

void setOverlayOrder(int32_t order)
int32_t getOverlayOrder() const

Update controls.

bool update(uint32_t scale = 0, int32_t order = 0)

Copy/paste buffer.

void setCopyText(const char *text)
void setCopyText(const String &text)
String getPasteText()

Copy callback.

void setCopyCallback(const CopyCallback &func)
CopyCallback getCopyCallback() const

Paste callback.

void setPasteCallback(const PasteCallback &func)
PasteCallback getPasteCallback() const

Types

using CopyCallback = Function<void(ControlRoot, const char *text)>
using PasteCallback = Function<String(ControlRoot)>