8#ifndef GrPathUtils_DEFINED
9#define GrPathUtils_DEFINED
77 void set(
const SkPoint controlPts[3]);
87 void apply(
void* vertices,
int vertexCount,
size_t stride,
size_t uvOffset)
const {
88 intptr_t xyPtr =
reinterpret_cast<intptr_t
>(vertices);
89 intptr_t uvPtr =
reinterpret_cast<intptr_t
>(vertices) + uvOffset;
96 for (
int i = 0; i < vertexCount; ++i) {
99 uv->
fX = sx * xy->
fX + kx * xy->
fY + tx;
100 uv->
fY = ky * xy->
fX + sy * xy->
fY + ty;
static const int points[]
#define SkDoubleToScalar(x)
void apply(void *vertices, int vertexCount, size_t stride, size_t uvOffset) const
void set(const SkPoint controlPts[3])
QuadUVMatrix(const SkPoint controlPts[3])
void convertCubicToQuads(const SkPoint p[4], SkScalar tolScale, skia_private::TArray< SkPoint, true > *quads)
uint32_t generateCubicPoints(const SkPoint &p0, const SkPoint &p1, const SkPoint &p2, const SkPoint &p3, SkScalar tolSqd, SkPoint **points, uint32_t pointsLeft)
uint32_t quadraticPointCount(const SkPoint points[], SkScalar tol)
static const SkScalar kDefaultTolerance
uint32_t cubicPointCount(const SkPoint points[], SkScalar tol)
SkScalar scaleToleranceToSrc(SkScalar devTol, const SkMatrix &viewM, const SkRect &pathBounds)
void convertCubicToQuadsConstrainToTangents(const SkPoint p[4], SkScalar tolScale, SkPathFirstDirection dir, skia_private::TArray< SkPoint, true > *quads)
void getConicKLM(const SkPoint p[3], const SkScalar weight, SkMatrix *klm)
static const int kMaxPointsPerCurve
uint32_t generateQuadraticPoints(const SkPoint &p0, const SkPoint &p1, const SkPoint &p2, SkScalar tolSqd, SkPoint **points, uint32_t pointsLeft)