8 #ifndef SkSGTransform_DEFINED
9 #define SkSGTransform_DEFINED
32 virtual bool is44()
const = 0;
58 template <typename = std::enable_if<std::is_same<T, SkMatrix>::value ||
59 std::is_same<T, SkM44 >::value>>
65 explicit Matrix(
const T& m) : fMatrix(m) {}
71 bool is44()
const override {
return std::is_same<T, SkM44>::value; }
88 return child && transform
#define SG_ATTRIBUTE(attr_name, attr_type, attr_container)
Definition: SkSGNode.h:99
SkCanvas provides an interface for drawing, and how the drawing is clipped and transformed.
Definition: SkCanvas.h:99
4x4 matrix used by SkCanvas and other parts of Skia.
Definition: SkM44.h:150
SkMatrix holds a 3x3 matrix for transforming coordinates.
Definition: SkMatrix.h:53
Definition: SkRefCnt.h:119
Shared pointer class to wrap classes that support a ref()/unref() interface.
Definition: SkRefCnt.h:220
Base class for nodes which apply some transformation when rendering their descendants.
Definition: SkSGEffectNode.h:21
EffectNode(sk_sp< RenderNode >, uint32_t inval_traits=0)
Receiver for invalidation events.
Definition: SkSGInvalidationController.h:25
Concrete, matrix-backed Transform.
Definition: SkSGTransform.h:56
SkRect onRevalidate(InvalidationController *, const SkMatrix &) override
Definition: SkSGTransform.h:67
Matrix(const T &m)
Definition: SkSGTransform.h:65
static sk_sp< Matrix > Make(const T &m)
Definition: SkSGTransform.h:60
SkMatrix asMatrix() const override
bool is44() const override
Definition: SkSGTransform.h:71
SkM44 asM44() const override
Base class for all scene graph nodes.
Definition: SkSGNode.h:32
Node(uint32_t invalTraits)
Base class for nodes which can render to a canvas.
Definition: SkSGRenderNode.h:27
SkRect holds four float coordinates describing the upper and lower bounds of a rectangle.
Definition: SkRect.h:582
static constexpr SkRect MakeEmpty()
Returns constructed SkRect set to (0, 0, 0, 0).
Definition: SkRect.h:595
Definition: SkSGRenderNode.h:53