Lines Matching defs:Transform
23 // 4x4 transformation matrix. Transform is cheap and explicitly allows
25 class GFX_EXPORT Transform {
32 Transform() : matrix_(SkMatrix44::kIdentity_Constructor) {}
36 Transform(SkipInitialization)
38 Transform(const Transform& rhs) : matrix_(rhs.matrix_) {}
40 Transform(const Transform& lhs, const Transform& rhs)
42 // Constructs a transform from explicit 16 matrix elements. Elements
44 Transform(SkMScalar col1row1,
60 // Constructs a transform from explicit 2d elements. All other matrix
63 Transform(SkMScalar col1row1,
69 ~Transform() {}
71 bool operator==(const Transform& rhs) const { return matrix_ == rhs.matrix_; }
72 bool operator!=(const Transform& rhs) const { return matrix_ != rhs.matrix_; }
74 // Resets this transform to the identity transform.
103 // Applies the current transformation on a perspective transform and assigns
108 // (i.e. 'this = this * transform;').
109 void PreconcatTransform(const Transform& transform);
112 // (i.e. 'this = transform * this;').
113 void ConcatTransform(const Transform& transform);
155 // Returns true if this transform is non-singular.
159 // have its back side facing frontwards after applying the transform.
162 // Inverts the transform which is passed in. Returns true if successful.
163 bool GetInverse(Transform* transform) const WARN_UNUSED_RESULT;
165 // Transposes this transform in place.
173 // - For x and y values, the new transform behaves effectively like an
175 // - For z values, the new transform overrides any effect that the transform
178 // - Because of linearity of transforms, this flattened transform also
228 // Note: this call is expensive since we need to decompose the transform. If
232 bool Blend(const Transform& from, double progress);
235 Transform operator*(const Transform& other) const {
236 return Transform(*this, other);
240 Transform& operator*=(const Transform& other) {