/* * 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 "SkPathOpsQuad.h" #include "SkTArray.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