| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkScanPriv.h" | 10 #include "SkScanPriv.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 76 |
| 77 SkIRect fSectBounds; | 77 SkIRect fSectBounds; |
| 78 }; | 78 }; |
| 79 | 79 |
| 80 BaseSuperBlitter::BaseSuperBlitter(SkBlitter* realBlit, const SkIRect& ir, const
SkRegion& clip, | 80 BaseSuperBlitter::BaseSuperBlitter(SkBlitter* realBlit, const SkIRect& ir, const
SkRegion& clip, |
| 81 bool isInverse) { | 81 bool isInverse) { |
| 82 fRealBlitter = realBlit; | 82 fRealBlitter = realBlit; |
| 83 | 83 |
| 84 SkIRect sectBounds; | 84 SkIRect sectBounds; |
| 85 if (isInverse) { | 85 if (isInverse) { |
| 86 // We use the clip bounds instead of the ir, since we may be asked to |
| 87 //draw outside of the rect when we're a inverse filltype |
| 86 sectBounds = clip.getBounds(); | 88 sectBounds = clip.getBounds(); |
| 87 } else { | 89 } else { |
| 88 if (!sectBounds.intersect(ir, clip.getBounds())) { | 90 if (!sectBounds.intersect(ir, clip.getBounds())) { |
| 89 sectBounds.setEmpty(); | 91 sectBounds.setEmpty(); |
| 90 } | 92 } |
| 91 } | 93 } |
| 92 | 94 |
| 93 /* | |
| 94 * We use the clip bounds instead of the ir, since we may be asked to | |
| 95 * draw outside of the rect if we're a inverse filltype | |
| 96 */ | |
| 97 const int left = sectBounds.left(); | 95 const int left = sectBounds.left(); |
| 98 const int right = sectBounds.right(); | 96 const int right = sectBounds.right(); |
| 99 | 97 |
| 100 fLeft = left; | 98 fLeft = left; |
| 101 fSuperLeft = left << SHIFT; | 99 fSuperLeft = left << SHIFT; |
| 102 fWidth = right - left; | 100 fWidth = right - left; |
| 103 fTop = sectBounds.top(); | 101 fTop = sectBounds.top(); |
| 104 fCurrIY = fTop - 1; | 102 fCurrIY = fTop - 1; |
| 105 fCurrY = (fTop << SHIFT) - 1; | 103 fCurrY = (fTop << SHIFT) - 1; |
| 106 | 104 |
| (...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 765 AntiFillPath(path, clip.bwRgn(), blitter); | 763 AntiFillPath(path, clip.bwRgn(), blitter); |
| 766 } else { | 764 } else { |
| 767 SkRegion tmp; | 765 SkRegion tmp; |
| 768 SkAAClipBlitter aaBlitter; | 766 SkAAClipBlitter aaBlitter; |
| 769 | 767 |
| 770 tmp.setRect(clip.getBounds()); | 768 tmp.setRect(clip.getBounds()); |
| 771 aaBlitter.init(blitter, &clip.aaRgn()); | 769 aaBlitter.init(blitter, &clip.aaRgn()); |
| 772 SkScan::AntiFillPath(path, tmp, &aaBlitter, true); | 770 SkScan::AntiFillPath(path, tmp, &aaBlitter, true); |
| 773 } | 771 } |
| 774 } | 772 } |
| OLD | NEW |