| 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 "SkCanvas.h" | 8 #include "SkCanvas.h" |
| 9 #include "SkCanvasDrawable.h" | 9 #include "SkCanvasDrawable.h" |
| 10 #include "SkCanvasPriv.h" | 10 #include "SkCanvasPriv.h" |
| (...skipping 1568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1579 if (!rect.isFinite()) | 1579 if (!rect.isFinite()) |
| 1580 return true; | 1580 return true; |
| 1581 | 1581 |
| 1582 if (fMCRec->fRasterClip.isEmpty()) { | 1582 if (fMCRec->fRasterClip.isEmpty()) { |
| 1583 return true; | 1583 return true; |
| 1584 } | 1584 } |
| 1585 | 1585 |
| 1586 if (fMCRec->fMatrix.hasPerspective()) { | 1586 if (fMCRec->fMatrix.hasPerspective()) { |
| 1587 SkRect dst; | 1587 SkRect dst; |
| 1588 fMCRec->fMatrix.mapRect(&dst, rect); | 1588 fMCRec->fMatrix.mapRect(&dst, rect); |
| 1589 SkIRect idst; | 1589 return !SkIRect::Intersects(dst.roundOut(), fMCRec->fRasterClip.getBound
s()); |
| 1590 dst.roundOut(&idst); | |
| 1591 return !SkIRect::Intersects(idst, fMCRec->fRasterClip.getBounds()); | |
| 1592 } else { | 1590 } else { |
| 1593 const SkRect& clipR = this->getLocalClipBounds(); | 1591 const SkRect& clipR = this->getLocalClipBounds(); |
| 1594 | 1592 |
| 1595 // for speed, do the most likely reject compares first | 1593 // for speed, do the most likely reject compares first |
| 1596 // TODO: should we use | instead, or compare all 4 at once? | 1594 // TODO: should we use | instead, or compare all 4 at once? |
| 1597 if (rect.fTop >= clipR.fBottom || rect.fBottom <= clipR.fTop) { | 1595 if (rect.fTop >= clipR.fBottom || rect.fBottom <= clipR.fTop) { |
| 1598 return true; | 1596 return true; |
| 1599 } | 1597 } |
| 1600 if (rect.fLeft >= clipR.fRight || rect.fRight <= clipR.fLeft) { | 1598 if (rect.fLeft >= clipR.fRight || rect.fRight <= clipR.fLeft) { |
| 1601 return true; | 1599 return true; |
| (...skipping 979 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2581 } | 2579 } |
| 2582 | 2580 |
| 2583 if (matrix) { | 2581 if (matrix) { |
| 2584 canvas->concat(*matrix); | 2582 canvas->concat(*matrix); |
| 2585 } | 2583 } |
| 2586 } | 2584 } |
| 2587 | 2585 |
| 2588 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { | 2586 SkAutoCanvasMatrixPaint::~SkAutoCanvasMatrixPaint() { |
| 2589 fCanvas->restoreToCount(fSaveCount); | 2587 fCanvas->restoreToCount(fSaveCount); |
| 2590 } | 2588 } |
| OLD | NEW |