Skip to main content

ControlRect

The ControlRect class extends the Control class and is designed for managing rectangular UI elements with customizable properties such as color, texture, stroke style, and gradients. It provides methods for setting control modes, pipelines, filters, and wrapping modes, as well as controlling mipmaps and anisotropy for texture handling. The class supports texture properties like scale, flip, and projection, and allows for defining texture coordinates and names. Additionally, it includes various callbacks for interaction handling, such as inside, pressed, released, and clicked events, along with support for fullscreen mode, radius, and blending parameters. The ControlRect class also integrates with canvas elements, enabling the rendering of rectangular shapes and meshes with flexible visual configurations.

#include <interface/TellusimControls.h>

Inheritance

Constructors

ControlRect()
explicit ControlRect(Control *parent)
ControlRect(Control *parent, Texture &texture)
ControlRect(Control *parent, const char *name)
ControlRect(Control *parent, Mode mode)

Methods

Callback flag.

void setCallback(bool callback)
bool getCallback() const

Fullscreen flag.

void setFullscreen(bool fullscreen)
bool isFullscreen() const

Control mode.

void setMode(Mode mode)
Mode getMode() const

Control pipeline.

void setPipeline(Pipeline &pipeline)
void setPipeline(Pipeline &pipeline, const DrawCallback &func)
Pipeline getPipeline() const

Control radius.

void setRadius(float32_t radius)
float32_t getRadius() const

Control color.

void setColor(Color color)
void setColor(float32_t r, float32_t g, float32_t b, float32_t a)
const Color getColor() const

Stroke style.

void setStrokeStyle(StrokeStyle style)
const StrokeStyle getStrokeStyleConst() const
const StrokeStyle getStrokeStyle() const
StrokeStyle getStrokeStyle()

Gradient style.

void setGradientStyle(GradientStyle style)
const GradientStyle getGradientStyleConst() const
const GradientStyle getGradientStyle() const
GradientStyle getGradientStyle()

Control mipmap.

void setMipmap(float32_t mipmap)
float32_t getMipmap() const

Filter mode.

void setFilter(Filter filter)
Filter getFilter() const
void setAnisotropy(uint32_t anisotropy)
uint32_t getAnisotropy() const

Wrapping mode.

void setWrapMode(WrapMode mode)
WrapMode getWrapMode() const

Blending parameters.

void setBlend(BlendOp op, BlendFunc src, BlendFunc dest)
BlendOp getBlendOp() const
BlendFunc getBlendSrcFunc() const
BlendFunc getBlendDestFunc() const

Texture pointer.

void setTexture(Texture &texture, bool linear = false)
Texture getTexture() const
bool getTextureLinear() const

Texture name.

void setTextureName(const char *name)
void setTextureName(const String &name)
String getTextureName() const

Texture scale.

void setTextureScale(float32_t scale_x, float32_t scale_y)
float32_t getTextureScaleX() const
float32_t getTextureScaleY() const

Texture orientation.

void setTextureFlip(bool flip_x, bool flip_y)
bool getTextureFlipX() const
bool getTextureFlipY() const

Texture projection.

void setTextureProj(bool projection)
bool getTextureProj() const

Texture coordinates.

void setTexCoord(Rect texcoord)
void setTexCoord(float32_t left, float32_t right, float32_t bottom, float32_t top)
const Rect getTexCoord() const

Inside callback.

void setInsideCallback(const InsideCallback &func)
InsideCallback getInsideCallback() const

Pressed callback.

void setPressedCallback(const PressedCallback &func)
PressedCallback getPressedCallback() const

Released callback.

void setReleasedCallback(const ReleasedCallback &func)
ReleasedCallback getReleasedCallback() const

Clicked callback.

void setClickedCallback(const ClickedCallback &func)
void setClicked2Callback(const ClickedCallback &func)
void setClickedRightCallback(const ClickedCallback &func)
ClickedCallback getClickedCallback() const
ClickedCallback getClicked2Callback() const
ClickedCallback getClickedRightCallback() const

Canvas elements.

CanvasRect getCanvasRect()
CanvasMesh getCanvasMesh()

Types

using InsideCallback = Function<bool(ControlRect, float32_t x, float32_t y)>
using PressedCallback = Function<void(ControlRect, float32_t x, float32_t y)>
using ReleasedCallback = Function<void(ControlRect, float32_t x, float32_t y)>
using ClickedCallback = Function<void(ControlRect)>