Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::canvas::SceneTransform Struct Reference

2D affine transform (CanvasRenderingContext2D layout): [ a c e ] [ b d f ] [ 0 0 1 ] More...

#include <scene_node.hpp>

Public Member Functions

constexpr bool is_identity () const
constexpr SceneTransform composed_with (const SceneTransform &r) const
 Multiply (this * rhs).
SceneRect map_rect (const SceneRect &r) const
 Transform an axis-aligned rect — returns the AABB of the four transformed corners.

Static Public Member Functions

static constexpr SceneTransform identity ()
static constexpr SceneTransform translation (float tx, float ty)

Public Attributes

float a = 1.0f
float b = 0.0f
float c = 0.0f
float d = 1.0f
float e = 0.0f
float f = 0.0f

Detailed Description

2D affine transform (CanvasRenderingContext2D layout): [ a c e ] [ b d f ] [ 0 0 1 ]

Member Function Documentation

◆ composed_with()

SceneTransform pulp::canvas::SceneTransform::composed_with ( const SceneTransform & r) const
inlineconstexpr

Multiply (this * rhs).

Used by the walker when composing a child's transform onto its parent's CTM during paint() and paint_bounds().

◆ identity()

constexpr SceneTransform pulp::canvas::SceneTransform::identity ( )
inlinestaticconstexpr

◆ is_identity()

bool pulp::canvas::SceneTransform::is_identity ( ) const
inlineconstexpr

◆ map_rect()

SceneRect pulp::canvas::SceneTransform::map_rect ( const SceneRect & r) const

Transform an axis-aligned rect — returns the AABB of the four transformed corners.

Used by the dirty-rect walker so the reported "sub-tree bounding box" is in scene coordinates.

◆ translation()

constexpr SceneTransform pulp::canvas::SceneTransform::translation ( float tx,
float ty )
inlinestaticconstexpr

Member Data Documentation

◆ a

float pulp::canvas::SceneTransform::a = 1.0f

◆ b

float pulp::canvas::SceneTransform::b = 0.0f

◆ c

float pulp::canvas::SceneTransform::c = 0.0f

◆ d

float pulp::canvas::SceneTransform::d = 1.0f

◆ e

float pulp::canvas::SceneTransform::e = 0.0f

◆ f

float pulp::canvas::SceneTransform::f = 0.0f

The documentation for this struct was generated from the following file:
  • /home/runner/work/pulp/pulp/core/canvas/include/pulp/canvas/scene/scene_node.hpp