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
- Inherits from Control
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)>