| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2008 The Android Open Source Project | 2 * Copyright 2008 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 "SkBitmapDevice.h" | 8 #include "SkBitmapDevice.h" |
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkCanvasPriv.h" | 10 #include "SkCanvasPriv.h" |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 /* | 41 /* |
| 42 * Return true if the drawing this rect would hit every pixels in the canvas. | 42 * Return true if the drawing this rect would hit every pixels in the canvas. |
| 43 * | 43 * |
| 44 * Returns false if | 44 * Returns false if |
| 45 * - rect does not contain the canvas' bounds | 45 * - rect does not contain the canvas' bounds |
| 46 * - paint is not fill | 46 * - paint is not fill |
| 47 * - paint would blur or otherwise change the coverage of the rect | 47 * - paint would blur or otherwise change the coverage of the rect |
| 48 */ | 48 */ |
| 49 bool SkCanvas::wouldOverwriteEntireSurface(const SkRect* rect, const SkPaint* pa
int, | 49 bool SkCanvas::wouldOverwriteEntireSurface(const SkRect* rect, const SkPaint* pa
int, |
| 50 ShaderOverrideOpacity overrideOpacity
) const { | 50 ShaderOverrideOpacity overrideOpacity
) const { |
| 51 SK_COMPILE_ASSERT((int)SkPaintPriv::kNone_ShaderOverrideOpacity == | 51 static_assert((int)SkPaintPriv::kNone_ShaderOverrideOpacity == |
| 52 (int)kNone_ShaderOverrideOpacity, | 52 (int)kNone_ShaderOverrideOpacity, |
| 53 need_matching_enums0); | 53 "need_matching_enums0"); |
| 54 SK_COMPILE_ASSERT((int)SkPaintPriv::kOpaque_ShaderOverrideOpacity == | 54 static_assert((int)SkPaintPriv::kOpaque_ShaderOverrideOpacity == |
| 55 (int)kOpaque_ShaderOverrideOpacity, | 55 (int)kOpaque_ShaderOverrideOpacity, |
| 56 need_matching_enums1); | 56 "need_matching_enums1"); |
| 57 SK_COMPILE_ASSERT((int)SkPaintPriv::kNotOpaque_ShaderOverrideOpacity == | 57 static_assert((int)SkPaintPriv::kNotOpaque_ShaderOverrideOpacity == |
| 58 (int)kNotOpaque_ShaderOverrideOpacity, | 58 (int)kNotOpaque_ShaderOverrideOpacity, |
| 59 need_matching_enums2); | 59 "need_matching_enums2"); |
| 60 | 60 |
| 61 const SkISize size = this->getBaseLayerSize(); | 61 const SkISize size = this->getBaseLayerSize(); |
| 62 const SkRect bounds = SkRect::MakeIWH(size.width(), size.height()); | 62 const SkRect bounds = SkRect::MakeIWH(size.width(), size.height()); |
| 63 if (!this->getClipStack()->quickContains(bounds)) { | 63 if (!this->getClipStack()->quickContains(bounds)) { |
| 64 return false; | 64 return false; |
| 65 } | 65 } |
| 66 | 66 |
| 67 if (rect) { | 67 if (rect) { |
| 68 if (!this->getTotalMatrix().rectStaysRect()) { | 68 if (!this->getTotalMatrix().rectStaysRect()) { |
| 69 return false; // conservative | 69 return false; // conservative |
| (...skipping 2714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2784 } | 2784 } |
| 2785 | 2785 |
| 2786 SkAutoCanvasMatrixPaint acmp(this, matrix, paint, picture->cullRect()); | 2786 SkAutoCanvasMatrixPaint acmp(this, matrix, paint, picture->cullRect()); |
| 2787 picture->playback(this); | 2787 picture->playback(this); |
| 2788 } | 2788 } |
| 2789 | 2789 |
| 2790 /////////////////////////////////////////////////////////////////////////////// | 2790 /////////////////////////////////////////////////////////////////////////////// |
| 2791 /////////////////////////////////////////////////////////////////////////////// | 2791 /////////////////////////////////////////////////////////////////////////////// |
| 2792 | 2792 |
| 2793 SkCanvas::LayerIter::LayerIter(SkCanvas* canvas, bool skipEmptyClips) { | 2793 SkCanvas::LayerIter::LayerIter(SkCanvas* canvas, bool skipEmptyClips) { |
| 2794 SK_COMPILE_ASSERT(sizeof(fStorage) >= sizeof(SkDrawIter), fStorage_too_small
); | 2794 static_assert(sizeof(fStorage) >= sizeof(SkDrawIter), "fStorage_too_small"); |
| 2795 | 2795 |
| 2796 SkASSERT(canvas); | 2796 SkASSERT(canvas); |
| 2797 | 2797 |
| 2798 fImpl = new (fStorage) SkDrawIter(canvas, skipEmptyClips); | 2798 fImpl = new (fStorage) SkDrawIter(canvas, skipEmptyClips); |
| 2799 fDone = !fImpl->next(); | 2799 fDone = !fImpl->next(); |
| 2800 } | 2800 } |
| 2801 | 2801 |
| 2802 SkCanvas::LayerIter::~LayerIter() { | 2802 SkCanvas::LayerIter::~LayerIter() { |
| 2803 fImpl->~SkDrawIter(); | 2803 fImpl->~SkDrawIter(); |
| 2804 } | 2804 } |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2884 } | 2884 } |
| 2885 | 2885 |
| 2886 if (matrix) { | 2886 if (matrix) { |
| 2887 canvas->concat(*matrix); | 2887 canvas->concat(*matrix); |
| 2888 } | 2888 } |
| 2889 } | 2889 } |
| 2890 | 2890 |
| 2891 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { | 2891 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { |
| 2892 fCanvas->restoreToCount(fSaveCount); | 2892 fCanvas->restoreToCount(fSaveCount); |
| 2893 } | 2893 } |
| OLD | NEW |