diff options
author | reed <reed@google.com> | 2015-06-09 12:16:53 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-06-09 12:16:53 -0700 |
commit | 41e010cb901c0da9066c4df562030808c9ccd7f8 (patch) | |
tree | 3bf17e946f9eadd43040ea6968adcfa5f2f882a4 /src/core/SkDeviceLooper.cpp | |
parent | 1831f990c31bad0d84641663c96aa8eebf846ab9 (diff) | |
download | platform_external_skqp-41e010cb901c0da9066c4df562030808c9ccd7f8.tar.gz platform_external_skqp-41e010cb901c0da9066c4df562030808c9ccd7f8.tar.bz2 platform_external_skqp-41e010cb901c0da9066c4df562030808c9ccd7f8.zip |
Revert[2] SkDraw and all Blitters to use pixmap instead of bitmapi
This reverts commit b3f0ec9f9967da2f80f0d842cb7fd53617b48de3.
BUG=skia:
Review URL: https://codereview.chromium.org/1168303006
Diffstat (limited to 'src/core/SkDeviceLooper.cpp')
-rw-r--r-- | src/core/SkDeviceLooper.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/core/SkDeviceLooper.cpp b/src/core/SkDeviceLooper.cpp index a8350cc027..840a050436 100644 --- a/src/core/SkDeviceLooper.cpp +++ b/src/core/SkDeviceLooper.cpp @@ -7,17 +7,16 @@ #include "SkDeviceLooper.h" -SkDeviceLooper::SkDeviceLooper(const SkBitmap& base, - const SkRasterClip& rc, - const SkIRect& bounds, bool aa) - : fBaseBitmap(base) +SkDeviceLooper::SkDeviceLooper(const SkPixmap& base, const SkRasterClip& rc, const SkIRect& bounds, + bool aa) + : fBaseDst(base) , fBaseRC(rc) , fSubsetRC(rc.isForceConservativeRects()) , fDelta(aa ? kAA_Delta : kBW_Delta) { // sentinels that next() has not yet been called, and so our mapper functions // should not be called either. - fCurrBitmap = NULL; + fCurrDst = NULL; fCurrRC = NULL; if (!rc.isEmpty()) { @@ -38,12 +37,11 @@ SkDeviceLooper::SkDeviceLooper(const SkBitmap& base, } } -SkDeviceLooper::~SkDeviceLooper() { -} +SkDeviceLooper::~SkDeviceLooper() {} void SkDeviceLooper::mapRect(SkRect* dst, const SkRect& src) const { SkASSERT(kDone_State != fState); - SkASSERT(fCurrBitmap); + SkASSERT(fCurrDst); SkASSERT(fCurrRC); *dst = src; @@ -53,12 +51,11 @@ void SkDeviceLooper::mapRect(SkRect* dst, const SkRect& src) const { void SkDeviceLooper::mapMatrix(SkMatrix* dst, const SkMatrix& src) const { SkASSERT(kDone_State != fState); - SkASSERT(fCurrBitmap); + SkASSERT(fCurrDst); SkASSERT(fCurrRC); *dst = src; - dst->postTranslate(SkIntToScalar(-fCurrOffset.fX), - SkIntToScalar(-fCurrOffset.fY)); + dst->postTranslate(SkIntToScalar(-fCurrOffset.fX), SkIntToScalar(-fCurrOffset.fY)); } bool SkDeviceLooper::computeCurrBitmapAndClip() { @@ -66,16 +63,14 @@ bool SkDeviceLooper::computeCurrBitmapAndClip() { SkIRect r = SkIRect::MakeXYWH(fCurrOffset.x(), fCurrOffset.y(), fDelta, fDelta); - if (!fBaseBitmap.extractSubset(&fSubsetBitmap, r)) { + if (!fBaseDst.extractSubset(&fSubsetDst, r)) { fSubsetRC.setEmpty(); } else { - fSubsetBitmap.lockPixels(); fBaseRC.translate(-r.left(), -r.top(), &fSubsetRC); - (void)fSubsetRC.op(SkIRect::MakeWH(fDelta, fDelta), - SkRegion::kIntersect_Op); + (void)fSubsetRC.op(SkIRect::MakeWH(fDelta, fDelta), SkRegion::kIntersect_Op); } - fCurrBitmap = &fSubsetBitmap; + fCurrDst = &fSubsetDst; fCurrRC = &fSubsetRC; return !fCurrRC->isEmpty(); } @@ -107,8 +102,8 @@ bool SkDeviceLooper::next() { case kSimple_State: // first time for simple - if (NULL == fCurrBitmap) { - fCurrBitmap = &fBaseBitmap; + if (NULL == fCurrDst) { + fCurrDst = &fBaseDst; fCurrRC = &fBaseRC; fCurrOffset.set(0, 0); return true; |