Skip to main content

CanvasStrip

The CanvasStrip class represents a polyline-based canvas element that renders stroked strips with variable width and offset, commonly used for drawing lines, splines, and path outlines. It supports both quadratic and cubic spline generation with adjustable approximation threshold, along with manual control over position data. Stroke color and style are fully customizable, enabling high-quality rendering of curves and outlines with precise geometry control.

#include <interface/TellusimCanvas.h>

Inheritance

Constructors

CanvasStrip()
explicit CanvasStrip(Canvas &canvas)
CanvasStrip(Canvas &canvas, float32_t width)

Methods

Strip width.

void setWidth(float32_t width)
float32_t getWidth() const

Strip offset.

void setOffset(float32_t offset)
float32_t getOffset() const

Stroke color.

void setStrokeColor(Color color)
const Color getStrokeColor() const

Stroke style.

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

Create quadratic spline.

void createQuadratic(Vector2f p0, Vector2f p1, Vector2f p2, float32_t threshold = 1.0f)
void createQuadratic(Vector3f p0, Vector3f p1, Vector3f p2, float32_t threshold = 1.0f)

Create cubic spline.

void createCubic(Vector2f p0, Vector2f p1, Vector2f p2, Vector2f p3, float32_t threshold = 1.0f)
void createCubic(Vector3f p0, Vector3f p1, Vector3f p2, Vector3f p3, float32_t threshold = 1.0f)

Strip positions.

void clearPositions()
void setNumPositions(uint32_t num_positions)
void reservePositions(uint32_t num_positions)
uint32_t getNumPositions() const
void setPositions(const Vector3f *positions, uint32_t num_positions)
void addPositions(const Vector3f *positions, uint32_t num_positions)
const Vector3f *getPositions() const
Vector3f *getPositions()
void setPosition(uint32_t index, Vector3f position)
void setPosition(uint32_t index, float32_t x, float32_t y, float32_t z = 0.0f)
const Vector3f getPosition(uint32_t index) const
Vector3f getPosition(uint32_t index)

Add strip position.

uint32_t addPosition(Vector2f position)
uint32_t addPosition(Vector3f position)
uint32_t addPosition(float32_t x, float32_t y, float32_t z = 0.0f)