|  | #include "rive/transform_component.hpp" | 
|  | #include "rive/shapes/clipping_shape.hpp" | 
|  | #include "rive/math/vec2d.hpp" | 
|  | #include "rive/constraints/constraint.hpp" | 
|  |  | 
|  | using namespace rive; | 
|  |  | 
|  | float WorldTransformComponent::childOpacity() { return opacity(); } | 
|  |  | 
|  | void WorldTransformComponent::markWorldTransformDirty() { | 
|  | addDirt(ComponentDirt::WorldTransform, true); | 
|  | } | 
|  |  | 
|  | const Mat2D& WorldTransformComponent::worldTransform() const { return m_WorldTransform; } | 
|  |  | 
|  | Mat2D& WorldTransformComponent::mutableWorldTransform() { return m_WorldTransform; } | 
|  |  | 
|  | void WorldTransformComponent::opacityChanged() { addDirt(ComponentDirt::RenderOpacity, true); } | 
|  |  | 
|  | void WorldTransformComponent::worldTranslation(Vec2D& result) const { | 
|  | result[0] = m_WorldTransform[4]; | 
|  | result[1] = m_WorldTransform[5]; | 
|  | } |