8#ifndef skgpu_tessellate_AffineMatrix_DEFINED
9#define skgpu_tessellate_AffineMatrix_DEFINED
34 fTrans =
skvx::float2(
m.getTranslateX(),
m.getTranslateY()).xyxy();
39 return fScale * p0p1 + (fSkew * p0p1.yxwz() + fTrans);
48 sk_bit_cast<skvx::float2>(p1)));
52 return fScale.
lo *
p + (fSkew.
lo *
p.yx() + fTrans.
lo);
60 return sk_bit_cast<SkPoint>(this->
mapPoint(sk_bit_cast<skvx::float2>(
p)));
AffineMatrix(const SkMatrix &m)
SK_ALWAYS_INLINE skvx::float4 map2Points(const SkPoint pts[2]) const
SK_ALWAYS_INLINE skvx::float2 map1Point(const SkPoint pt[1]) const
SK_ALWAYS_INLINE skvx::float2 mapPoint(skvx::float2 p) const
AffineMatrix & operator=(const SkMatrix &m)
SK_ALWAYS_INLINE SkPoint mapPoint(SkPoint p) const
SK_ALWAYS_INLINE skvx::float4 map2Points(skvx::float4 p0p1) const
SK_ALWAYS_INLINE skvx::float4 map2Points(SkPoint p0, SkPoint p1) const
static SKVX_ALWAYS_INLINE Vec Load(const void *ptr)