Lines Matching full:last
21 SkEdgeBuilder::Combine SkEdgeBuilder::CombineVertical(const SkEdge* edge, SkEdge* last) {
22 if (last->fCurveCount || last->fDX || edge->fX != last->fX) {
25 if (edge->fWinding == last->fWinding) {
26 if (edge->fLastY + 1 == last->fFirstY) {
27 last->fFirstY = edge->fFirstY;
30 if (edge->fFirstY == last->fLastY + 1) {
31 last->fLastY = edge->fLastY;
36 if (edge->fFirstY == last->fFirstY) {
37 if (edge->fLastY == last->fLastY) {
40 if (edge->fLastY < last->fLastY) {
41 last->fFirstY = edge->fLastY + 1;
44 last->fFirstY = last->fLastY + 1;
45 last->fLastY = edge->fLastY;
46 last->fWinding = edge->fWinding;
49 if (edge->fLastY == last->fLastY) {
50 if (edge->fFirstY > last->fFirstY) {
51 last->fLastY = edge->fFirstY - 1;
54 last->fLastY = last->fFirstY - 1;
55 last->fFirstY = edge->fFirstY;
56 last->fWinding = edge->fWinding;
67 const SkAnalyticEdge* edge, SkAnalyticEdge* last) {
69 if (last->fCurveCount || last->fDX || edge->fX != last->fX) {
72 if (edge->fWinding == last->fWinding) {
73 if (edge->fLowerY == last->fUpperY) {
74 last->fUpperY = edge->fUpperY;
75 last->fY = last->fUpperY;
78 if (approximatelyEqual(edge->fUpperY, last->fLowerY)) {
79 last->fLowerY = edge->fLowerY;
84 if (approximatelyEqual(edge->fUpperY, last->fUpperY)) {
85 if (approximatelyEqual(edge->fLowerY, last->fLowerY)) {
88 if (edge->fLowerY < last->fLowerY) {
89 last->fUpperY = edge->fLowerY;
90 last->fY = last->fUpperY;
93 last->fUpperY = last->fLowerY;
94 last->fY = last->fUpperY;
95 last->fLowerY = edge->fLowerY;
96 last->fWinding = edge->fWinding;
99 if (approximatelyEqual(edge->fLowerY, last->fLowerY)) {
100 if (edge->fUpperY > last->fUpperY) {
101 last->fLowerY = edge->fUpperY;
104 last->fLowerY = last->fUpperY;
105 last->fUpperY = edge->fUpperY;
106 last->fY = last->fUpperY;
107 last->fWinding = edge->fWinding;