blob: 5b5cd0fb40709f4addaed71f9e5b69e604d15dd7 [file] [log] [blame]
/*
* Copyright 2012 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef PathOpsTestCommon_DEFINED
#define PathOpsTestCommon_DEFINED
#include "include/private/SkTArray.h"
#include "src/pathops/SkPathOpsQuad.h"
struct SkPathOpsBounds;
struct QuadPts {
static const int kPointCount = 3;
SkDPoint fPts[kPointCount];
};
struct ConicPts {
QuadPts fPts;
SkScalar fWeight;
};
struct CubicPts {
static const int kPointCount = 4;
SkDPoint fPts[kPointCount];
};
void CubicPathToQuads(const SkPath& cubicPath, SkPath* quadPath);
void CubicPathToSimple(const SkPath& cubicPath, SkPath* simplePath);
void CubicToQuads(const SkDCubic& cubic, double precision, SkTArray<SkDQuad, true>& quads);
bool ValidBounds(const SkPathOpsBounds& );
bool ValidConic(const SkDConic& cubic);
bool ValidCubic(const SkDCubic& cubic);
bool ValidLine(const SkDLine& line);
bool ValidPoint(const SkDPoint& pt);
bool ValidPoints(const SkPoint* pts, int count);
bool ValidQuad(const SkDQuad& quad);
bool ValidVector(const SkDVector& v);
#endif