Lines Matching refs:Trapezoid
92 // The Trapezoid (actually, up to two of them) is embedded into a Vertex, whose
93 // point() provides the top of the Trapezoid, whereas the bottom, and the left
94 // and right edges, are stored in the Trapezoid. The edges are represented by
99 class Trapezoid {
112 bool operator<(Trapezoid &t1) { return compare(t1) < 0; }
113 bool operator>(Trapezoid &t1) { return compare(t1) > 0; }
121 SkScalar compare(const Trapezoid &t1) const;
143 void remove(Trapezoid *t);
146 // return a pointer to that Trapezoid.
147 bool withinActiveTrapezoid(const SkPoint &pt, Trapezoid **tp);
150 Trapezoid* getTrapezoidWithEdge(const Vertex *edge);
153 // Insert the specified Trapezoid into the sorted list.
154 void insert(Trapezoid *t);
158 SkTDArray<Trapezoid*> fTrapezoids; // Fournier suggests a 2-3 tree instead.
170 Trapezoid fTrap0;
171 Trapezoid fTrap1;
187 // Trapezoid accessors return non-null for any complete trapezoids.
188 void trapezoids(Trapezoid **trap0, Trapezoid **trap1) {
268 SkScalar Trapezoid::compare(const SkPoint &pt) const {
280 SkScalar Trapezoid::compare(const Trapezoid &t1) const {
298 Trapezoid* ActiveTrapezoids::getTrapezoidWithEdge(const Vertex *edge) {
302 Trapezoid **tp;
331 Trapezoid t = vt->fTrap0;
346 void ActiveTrapezoids::insert(Trapezoid *t) {
347 Trapezoid **tp;
356 void ActiveTrapezoids::remove(Trapezoid *t) {
358 for (Trapezoid **tp = fTrapezoids.begin(); tp < fTrapezoids.end(); ++tp) {
371 Trapezoid **trap) {
374 Trapezoid **t;
388 DebugPrintf("withinActiveTrapezoid: Within an Active Trapezoid\n");
597 Trapezoid *trap[2];
623 Trapezoid *trap[2];
664 Trapezoid *traps[2];
719 Trapezoid *t;
780 Trapezoid *s = incompleteTrapezoids.getTrapezoidWithEdge(