Skip to main content

ControlBase

The ControlBase class serves as the foundation for creating various user interface controls. It provides essential functionalities for control creation, position management, and updates to control states, styles, and interactions. The class allows for control initialization and clearing, creation of canvas elements, and provides functionality to manage control visibility and state changes. It includes methods for updating control properties like position, style, mouse input, keyboard input, and control expansion. It also includes utilities for managing control states and rendering through canvases, making it suitable as a base class for more specific control implementations.

#include <interface/TellusimControls.h>

Inheritance

Methods

Clear control.

virtual void clear()

Create control.

void create()

Create canvas.

CanvasText create_text()
CanvasMesh create_mesh()

Control batch.

virtual bool is_batch() const

Disabled control.

bool get_disabled(ControlRoot &root) const

Control position.

Vector3f get_position(const Rect &region, uint32_t scale) const

Update control.

virtual void update_enabled(bool enabled)
virtual void update_disabled(bool disabled)
virtual void update_style(const FontStyle &style)
virtual void update_expand(ControlRoot &root, const Rect &region)
virtual void update_position(ControlRoot &root, const Vector2f &offset)
virtual void update_mouse(ControlRoot &root, Axis axis, float32_t delta)
virtual bool update_keyboard(ControlRoot &root, uint32_t key, uint32_t code)
virtual void update_rectangle(ControlRoot &root, int32_t &order, uint32_t scale)
virtual bool update(ControlRoot &root, const Rect &region, const Rect &view, uint32_t scale)

Update canvas.

void update_text(ControlRoot &root, CanvasText &canvas_text, const Color &color, State state, const Vector3f &position) const
void update_mesh(ControlRoot &root, CanvasMesh &canvas_mesh, Mesh mesh, State state, const Rect &rect, uint32_t scale, bool clear = true) const

Set control state.

State set_state(ControlRoot &root, State state)

Set control rect.

void set_rect(const Rect &rect)