| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  * Copyright 2012 Google Inc. |   2  * Copyright 2012 Google Inc. | 
|   3  * |   3  * | 
|   4  * Use of this source code is governed by a BSD-style license that can be |   4  * Use of this source code is governed by a BSD-style license that can be | 
|   5  * found in the LICENSE file. |   5  * found in the LICENSE file. | 
|   6  */ |   6  */ | 
|   7  |   7  | 
|   8 #ifndef SkPathOpsCubic_DEFINED |   8 #ifndef SkPathOpsCubic_DEFINED | 
|   9 #define SkPathOpsCubic_DEFINED |   9 #define SkPathOpsCubic_DEFINED | 
|  10  |  10  | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  46  |  46  | 
|  47     static int FindInflections(const SkPoint a[4], double tValues[]) { |  47     static int FindInflections(const SkPoint a[4], double tValues[]) { | 
|  48         SkDCubic cubic; |  48         SkDCubic cubic; | 
|  49         cubic.set(a); |  49         cubic.set(a); | 
|  50         return cubic.findInflections(tValues); |  50         return cubic.findInflections(tValues); | 
|  51     } |  51     } | 
|  52  |  52  | 
|  53     int findMaxCurvature(double tValues[]) const; |  53     int findMaxCurvature(double tValues[]) const; | 
|  54     bool isLinear(int startIndex, int endIndex) const; |  54     bool isLinear(int startIndex, int endIndex) const; | 
|  55     bool monotonicInY() const; |  55     bool monotonicInY() const; | 
 |  56     SkDPoint ptAtT(double t) const; | 
|  56     static int RootsReal(double A, double B, double C, double D, double t[3]); |  57     static int RootsReal(double A, double B, double C, double D, double t[3]); | 
|  57     static int RootsValidT(const double A, const double B, const double C, doubl
    e D, double s[3]); |  58     static int RootsValidT(const double A, const double B, const double C, doubl
    e D, double s[3]); | 
|  58     bool serpentine() const; |  59     bool serpentine() const; | 
|  59     SkDCubic subDivide(double t1, double t2) const; |  60     SkDCubic subDivide(double t1, double t2) const; | 
|  60  |  61  | 
|  61     static SkDCubic SubDivide(const SkPoint a[4], double t1, double t2) { |  62     static SkDCubic SubDivide(const SkPoint a[4], double t1, double t2) { | 
|  62         SkDCubic cubic; |  63         SkDCubic cubic; | 
|  63         cubic.set(a); |  64         cubic.set(a); | 
|  64         return cubic.subDivide(t1, t2); |  65         return cubic.subDivide(t1, t2); | 
|  65     } |  66     } | 
|  66  |  67  | 
|  67     void subDivide(const SkDPoint& a, const SkDPoint& d, double t1, double t2, S
    kDPoint p[2]) const; |  68     void subDivide(const SkDPoint& a, const SkDPoint& d, double t1, double t2, S
    kDPoint p[2]) const; | 
|  68  |  69  | 
|  69     static void SubDivide(const SkPoint pts[4], const SkDPoint& a, const SkDPoin
    t& d, double t1, |  70     static void SubDivide(const SkPoint pts[4], const SkDPoint& a, const SkDPoin
    t& d, double t1, | 
|  70                           double t2, SkDPoint p[2]) { |  71                           double t2, SkDPoint p[2]) { | 
|  71         SkDCubic cubic; |  72         SkDCubic cubic; | 
|  72         cubic.set(pts); |  73         cubic.set(pts); | 
|  73         cubic.subDivide(a, d, t1, t2, p); |  74         cubic.subDivide(a, d, t1, t2, p); | 
|  74     } |  75     } | 
|  75  |  76  | 
|  76     SkDPoint top(double startT, double endT) const; |  77     SkDPoint top(double startT, double endT) const; | 
|  77     void toQuadraticTs(double precision, SkTArray<double, true>* ts) const; |  78     void toQuadraticTs(double precision, SkTArray<double, true>* ts) const; | 
|  78     SkDQuad toQuad() const; |  79     SkDQuad toQuad() const; | 
|  79     SkDPoint xyAtT(double t) const; |  | 
|  80 }; |  80 }; | 
|  81  |  81  | 
|  82 #endif |  82 #endif | 
| OLD | NEW |