OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
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 #include "SkScanPriv.h" | 8 #include "SkScanPriv.h" |
9 #include "SkBlitter.h" | 9 #include "SkBlitter.h" |
10 #include "SkEdge.h" | 10 #include "SkEdge.h" |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 SkASSERT(edge->fFirstY <= edge->fLastY); | 112 SkASSERT(edge->fFirstY <= edge->fLastY); |
113 | 113 |
114 SkASSERT(edge->fPrev->fX <= edge->fX); | 114 SkASSERT(edge->fPrev->fX <= edge->fX); |
115 edge = edge->fNext; | 115 edge = edge->fNext; |
116 } | 116 } |
117 } | 117 } |
118 #else | 118 #else |
119 #define validate_edges_for_y(edge, curr_y) | 119 #define validate_edges_for_y(edge, curr_y) |
120 #endif | 120 #endif |
121 | 121 |
122 #if defined _WIN32 && _MSC_VER >= 1300 // disable warning : local variable used
without having been initialized | 122 #if defined _WIN32 // disable warning : local variable used without having been
initialized |
123 #pragma warning ( push ) | 123 #pragma warning ( push ) |
124 #pragma warning ( disable : 4701 ) | 124 #pragma warning ( disable : 4701 ) |
125 #endif | 125 #endif |
126 | 126 |
127 typedef void (*PrePostProc)(SkBlitter* blitter, int y, bool isStartOfScanline); | 127 typedef void (*PrePostProc)(SkBlitter* blitter, int y, bool isStartOfScanline); |
128 #define PREPOST_START true | 128 #define PREPOST_START true |
129 #define PREPOST_END false | 129 #define PREPOST_END false |
130 | 130 |
131 static void walk_edges(SkEdge* prevHead, SkPath::FillType fillType, | 131 static void walk_edges(SkEdge* prevHead, SkPath::FillType fillType, |
132 SkBlitter* blitter, int start_y, int stop_y, | 132 SkBlitter* blitter, int start_y, int stop_y, |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 SkBlitter* fBlitter; | 385 SkBlitter* fBlitter; |
386 int fFirstX, fLastX, fPrevX; | 386 int fFirstX, fLastX, fPrevX; |
387 }; | 387 }; |
388 | 388 |
389 static void PrePostInverseBlitterProc(SkBlitter* blitter, int y, bool isStart) { | 389 static void PrePostInverseBlitterProc(SkBlitter* blitter, int y, bool isStart) { |
390 ((InverseBlitter*)blitter)->prepost(y, isStart); | 390 ((InverseBlitter*)blitter)->prepost(y, isStart); |
391 } | 391 } |
392 | 392 |
393 /////////////////////////////////////////////////////////////////////////////// | 393 /////////////////////////////////////////////////////////////////////////////// |
394 | 394 |
395 #if defined _WIN32 && _MSC_VER >= 1300 | 395 #if defined _WIN32 |
396 #pragma warning ( pop ) | 396 #pragma warning ( pop ) |
397 #endif | 397 #endif |
398 | 398 |
399 static bool operator<(const SkEdge& a, const SkEdge& b) { | 399 static bool operator<(const SkEdge& a, const SkEdge& b) { |
400 int valuea = a.fFirstY; | 400 int valuea = a.fFirstY; |
401 int valueb = b.fFirstY; | 401 int valueb = b.fFirstY; |
402 | 402 |
403 if (valuea == valueb) { | 403 if (valuea == valueb) { |
404 valuea = a.fX; | 404 valuea = a.fX; |
405 valueb = b.fX; | 405 valueb = b.fX; |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
768 clipRgn = &wrap.getRgn(); | 768 clipRgn = &wrap.getRgn(); |
769 blitter = wrap.getBlitter(); | 769 blitter = wrap.getBlitter(); |
770 } | 770 } |
771 | 771 |
772 SkScanClipper clipper(blitter, clipRgn, ir); | 772 SkScanClipper clipper(blitter, clipRgn, ir); |
773 blitter = clipper.getBlitter(); | 773 blitter = clipper.getBlitter(); |
774 if (blitter) { | 774 if (blitter) { |
775 sk_fill_triangle(pts, clipper.getClipRect(), blitter, ir); | 775 sk_fill_triangle(pts, clipper.getClipRect(), blitter, ir); |
776 } | 776 } |
777 } | 777 } |
OLD | NEW |