Lines Matching refs:edge

21 SkEdgeBuilder::Combine SkEdgeBuilder::CombineVertical(const SkEdge* edge, SkEdge* last) {  in CombineVertical()  argument
22 if (last->fCurveCount || last->fDX || edge->fX != last->fX) { in CombineVertical()
25 if (edge->fWinding == last->fWinding) { in CombineVertical()
26 if (edge->fLastY + 1 == last->fFirstY) { in CombineVertical()
27 last->fFirstY = edge->fFirstY; in CombineVertical()
30 if (edge->fFirstY == last->fLastY + 1) { in CombineVertical()
31 last->fLastY = edge->fLastY; in CombineVertical()
36 if (edge->fFirstY == last->fFirstY) { in CombineVertical()
37 if (edge->fLastY == last->fLastY) { in CombineVertical()
40 if (edge->fLastY < last->fLastY) { in CombineVertical()
41 last->fFirstY = edge->fLastY + 1; in CombineVertical()
45 last->fLastY = edge->fLastY; in CombineVertical()
46 last->fWinding = edge->fWinding; in CombineVertical()
49 if (edge->fLastY == last->fLastY) { in CombineVertical()
50 if (edge->fFirstY > last->fFirstY) { in CombineVertical()
51 last->fLastY = edge->fFirstY - 1; in CombineVertical()
55 last->fFirstY = edge->fFirstY; in CombineVertical()
56 last->fWinding = edge->fWinding; in CombineVertical()
67 const SkAnalyticEdge* edge, SkAnalyticEdge* last) { in CombineVertical() argument
69 if (last->fCurveCount || last->fDX || edge->fX != last->fX) { in CombineVertical()
72 if (edge->fWinding == last->fWinding) { in CombineVertical()
73 if (edge->fLowerY == last->fUpperY) { in CombineVertical()
74 last->fUpperY = edge->fUpperY; in CombineVertical()
78 if (approximatelyEqual(edge->fUpperY, last->fLowerY)) { in CombineVertical()
79 last->fLowerY = edge->fLowerY; in CombineVertical()
84 if (approximatelyEqual(edge->fUpperY, last->fUpperY)) { in CombineVertical()
85 if (approximatelyEqual(edge->fLowerY, last->fLowerY)) { in CombineVertical()
88 if (edge->fLowerY < last->fLowerY) { in CombineVertical()
89 last->fUpperY = edge->fLowerY; in CombineVertical()
95 last->fLowerY = edge->fLowerY; in CombineVertical()
96 last->fWinding = edge->fWinding; in CombineVertical()
99 if (approximatelyEqual(edge->fLowerY, last->fLowerY)) { in CombineVertical()
100 if (edge->fUpperY > last->fUpperY) { in CombineVertical()
101 last->fLowerY = edge->fUpperY; in CombineVertical()
105 last->fUpperY = edge->fUpperY; in CombineVertical()
107 last->fWinding = edge->fWinding; in CombineVertical()
113 bool SkEdgeBuilder::vertical_line(const SkEdge* edge) { in vertical_line() argument
114 return !edge->fDX && !edge->fCurveCount; in vertical_line()
117 bool SkEdgeBuilder::vertical_line(const SkAnalyticEdge* edge) { in vertical_line() argument
119 return !edge->fDX && !edge->fCurveCount; in vertical_line()
129 SkAnalyticEdge* edge = fAlloc.make<SkAnalyticEdge>(); in addLine() local
130 if (edge->setLine(pts[0], pts[1])) { in addLine()
131 if (vertical_line(edge) && fList.count()) { in addLine()
132 Combine combine = CombineVertical(edge, (SkAnalyticEdge*)*(fList.end() - 1)); in addLine()
140 fList.push(edge); in addLine()
147 SkEdge* edge = fAlloc.make<SkEdge>(); in addLine() local
148 if (edge->setLine(pts[0], pts[1], fShiftUp)) { in addLine()
149 if (vertical_line(edge) && fList.count()) { in addLine()
150 Combine combine = CombineVertical(edge, (SkEdge*)*(fList.end() - 1)); in addLine()
158 fList.push(edge); in addLine()
174 SkAnalyticQuadraticEdge* edge = fAlloc.make<SkAnalyticQuadraticEdge>(); in addQuad() local
175 if (edge->setQuadratic(pts)) { in addQuad()
176 fList.push(edge); in addQuad()
181 SkQuadraticEdge* edge = fAlloc.make<SkQuadraticEdge>(); in addQuad() local
182 if (edge->setQuadratic(pts, fShiftUp)) { in addQuad()
183 fList.push(edge); in addQuad()
197 SkAnalyticCubicEdge* edge = fAlloc.make<SkAnalyticCubicEdge>(); in addCubic() local
198 if (edge->setCubic(pts)) { in addCubic()
199 fList.push(edge); in addCubic()
204 SkCubicEdge* edge = fAlloc.make<SkCubicEdge>(); in addCubic() local
205 if (edge->setCubic(pts, fShiftUp)) { in addCubic()
206 fList.push(edge); in addCubic()
243 SkEdgeBuilder::Combine SkEdgeBuilder::checkVertical(const SkEdge* edge, SkEdge** edgePtr) { in checkVertical() argument
244 return !vertical_line(edge) || edgePtr <= (SkEdge**)fEdgeList ? kNo_Combine : in checkVertical()
245 CombineVertical(edge, edgePtr[-1]); in checkVertical()
248 SkEdgeBuilder::Combine SkEdgeBuilder::checkVertical(const SkAnalyticEdge* edge, in checkVertical() argument
251 return !vertical_line(edge) || edgePtr <= (SkAnalyticEdge**)fEdgeList ? kNo_Combine : in checkVertical()
252 CombineVertical(edge, edgePtr[-1]); in checkVertical()
270 char* edge; in buildPoly() local
274 edge = (char*)fAlloc.makeArrayDefault<SkEdge>(maxEdgeCount); in buildPoly()
278 edge = (char*)fAlloc.makeArrayDefault<SkAnalyticEdge>(maxEdgeCount); in buildPoly()
282 edge = (char*)fAlloc.makeArrayDefault<SkLine>(maxEdgeCount); in buildPoly()
286 SkDEBUGCODE(char* edgeStart = edge); in buildPoly()
306 this->addPolyLine(lines + i, edge, edgeSize, edgePtr, shiftUp); in buildPoly()
324 this->addPolyLine(pts, edge, edgeSize, edgePtr, shiftUp); in buildPoly()
333 SkASSERT((size_t)(edge - edgeStart) <= maxEdgeCount * edgeSize); in buildPoly()