| 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 2936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2947 | 2947 |
| 2948 void SkCanvas::drawDrawable(SkDrawable* dr, const SkMatrix* matrix) { | 2948 void SkCanvas::drawDrawable(SkDrawable* dr, const SkMatrix* matrix) { |
| 2949 RETURN_ON_NULL(dr); | 2949 RETURN_ON_NULL(dr); |
| 2950 if (matrix && matrix->isIdentity()) { | 2950 if (matrix && matrix->isIdentity()) { |
| 2951 matrix = nullptr; | 2951 matrix = nullptr; |
| 2952 } | 2952 } |
| 2953 this->onDrawDrawable(dr, matrix); | 2953 this->onDrawDrawable(dr, matrix); |
| 2954 } | 2954 } |
| 2955 | 2955 |
| 2956 void SkCanvas::onDrawDrawable(SkDrawable* dr, const SkMatrix* matrix) { | 2956 void SkCanvas::onDrawDrawable(SkDrawable* dr, const SkMatrix* matrix) { |
| 2957 SkRect bounds = dr->getBounds(); | 2957 // drawable bounds are no longer reliable (e.g. android displaylist) |
| 2958 if (matrix) { | 2958 // so don't use them for quick-reject |
| 2959 matrix->mapRect(&bounds); | |
| 2960 } | |
| 2961 if (this->quickReject(bounds)) { | |
| 2962 return; | |
| 2963 } | |
| 2964 dr->draw(this, matrix); | 2959 dr->draw(this, matrix); |
| 2965 } | 2960 } |
| 2966 | 2961 |
| 2967 void SkCanvas::onDrawAtlas(const SkImage* atlas, const SkRSXform xform[], const
SkRect tex[], | 2962 void SkCanvas::onDrawAtlas(const SkImage* atlas, const SkRSXform xform[], const
SkRect tex[], |
| 2968 const SkColor colors[], int count, SkXfermode::Mode m
ode, | 2963 const SkColor colors[], int count, SkXfermode::Mode m
ode, |
| 2969 const SkRect* cull, const SkPaint* paint) { | 2964 const SkRect* cull, const SkPaint* paint) { |
| 2970 if (cull && this->quickReject(*cull)) { | 2965 if (cull && this->quickReject(*cull)) { |
| 2971 return; | 2966 return; |
| 2972 } | 2967 } |
| 2973 | 2968 |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3461 const SkCanvas::ClipOp SkCanvas::kXOR_Op; | 3456 const SkCanvas::ClipOp SkCanvas::kXOR_Op; |
| 3462 const SkCanvas::ClipOp SkCanvas::kReverseDifference_Op; | 3457 const SkCanvas::ClipOp SkCanvas::kReverseDifference_Op; |
| 3463 const SkCanvas::ClipOp SkCanvas::kReplace_Op; | 3458 const SkCanvas::ClipOp SkCanvas::kReplace_Op; |
| 3464 | 3459 |
| 3465 static_assert((int)SkRegion::kDifference_Op == (int)kDifference_SkClipOp
, ""); | 3460 static_assert((int)SkRegion::kDifference_Op == (int)kDifference_SkClipOp
, ""); |
| 3466 static_assert((int)SkRegion::kIntersect_Op == (int)kIntersect_SkClipOp,
""); | 3461 static_assert((int)SkRegion::kIntersect_Op == (int)kIntersect_SkClipOp,
""); |
| 3467 static_assert((int)SkRegion::kUnion_Op == (int)kUnion_SkClipOp, "")
; | 3462 static_assert((int)SkRegion::kUnion_Op == (int)kUnion_SkClipOp, "")
; |
| 3468 static_assert((int)SkRegion::kXOR_Op == (int)kXOR_SkClipOp, ""); | 3463 static_assert((int)SkRegion::kXOR_Op == (int)kXOR_SkClipOp, ""); |
| 3469 static_assert((int)SkRegion::kReverseDifference_Op == (int)kReverseDifference_S
kClipOp, ""); | 3464 static_assert((int)SkRegion::kReverseDifference_Op == (int)kReverseDifference_S
kClipOp, ""); |
| 3470 static_assert((int)SkRegion::kReplace_Op == (int)kReplace_SkClipOp, "
"); | 3465 static_assert((int)SkRegion::kReplace_Op == (int)kReplace_SkClipOp, "
"); |
| OLD | NEW |