diff options
author | Florin Malita <fmalita@chromium.org> | 2016-11-10 11:10:30 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-11-10 17:05:07 +0000 |
commit | e13a69baac9dc326510009fa7c0c5966aee9240c (patch) | |
tree | 2d50c5666d94ae35870a294e08238cce8e33d56f /src/core/SkBitmapProvider.cpp | |
parent | 152ad7e7fb518058ef1185249aab50dff09d6f5c (diff) |
Simplify SkBitmapProvider
We're no longer using SkBitmap sources for SkBitmapProvider, so we can
restrict it to SkImage only.
At this point we could also remove it, but I think it'll come in handy
when we add shader subset support.
BUG=skia:5806
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4655
Change-Id: I298da253cc8f7c1205b543521e62060a202a9f78
Reviewed-on: https://skia-review.googlesource.com/4655
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'src/core/SkBitmapProvider.cpp')
-rw-r--r-- | src/core/SkBitmapProvider.cpp | 57 |
1 files changed, 11 insertions, 46 deletions
diff --git a/src/core/SkBitmapProvider.cpp b/src/core/SkBitmapProvider.cpp index 37f8dc9d52..8347d32d7f 100644 --- a/src/core/SkBitmapProvider.cpp +++ b/src/core/SkBitmapProvider.cpp @@ -10,74 +10,39 @@ #include "SkPixelRef.h" int SkBitmapProvider::width() const { - return fImage ? fImage->width() : fBitmap.width(); + return fImage->width(); } int SkBitmapProvider::height() const { - return fImage ? fImage->height() : fBitmap.height(); + return fImage->height(); } uint32_t SkBitmapProvider::getID() const { - return fImage ? fImage->uniqueID() : fBitmap.getGenerationID(); -} - -bool SkBitmapProvider::validForDrawing() const { - if (!fImage) { - if (0 == fBitmap.width() || 0 == fBitmap.height()) { - return false; - } - if (nullptr == fBitmap.pixelRef()) { - return false; // no pixels to read - } - if (kIndex_8_SkColorType == fBitmap.colorType()) { - SkAutoLockPixels alp(fBitmap); // but we need to call it before getColorTable() is safe. - if (!fBitmap.getColorTable()) { - return false; - } - } - } - return true; + return fImage->uniqueID(); } SkImageInfo SkBitmapProvider::info() const { - if (fImage) { - return as_IB(fImage)->onImageInfo(); - } else { - return fBitmap.info(); - } + return as_IB(fImage)->onImageInfo(); } bool SkBitmapProvider::isVolatile() const { - if (fImage) { - // add flag to images? - const SkBitmap* bm = as_IB(fImage)->onPeekBitmap(); - return bm ? bm->isVolatile() : false; - } else { - return fBitmap.isVolatile(); - } + // add flag to images? + const SkBitmap* bm = as_IB(fImage)->onPeekBitmap(); + return bm ? bm->isVolatile() : false; } SkBitmapCacheDesc SkBitmapProvider::makeCacheDesc(int w, int h) const { - return fImage ? SkBitmapCacheDesc::Make(fImage, w, h) : SkBitmapCacheDesc::Make(fBitmap, w, h); + return SkBitmapCacheDesc::Make(fImage, w, h); } SkBitmapCacheDesc SkBitmapProvider::makeCacheDesc() const { - return fImage ? SkBitmapCacheDesc::Make(fImage) : SkBitmapCacheDesc::Make(fBitmap); + return SkBitmapCacheDesc::Make(fImage); } void SkBitmapProvider::notifyAddedToCache() const { - if (fImage) { - as_IB(fImage)->notifyAddedToCache(); - } else { - fBitmap.pixelRef()->notifyAddedToCache(); - } + as_IB(fImage)->notifyAddedToCache(); } bool SkBitmapProvider::asBitmap(SkBitmap* bm) const { - if (fImage) { - return as_IB(fImage)->getROPixels(bm, SkImage::kAllow_CachingHint); - } else { - *bm = fBitmap; - return true; - } + return as_IB(fImage)->getROPixels(bm, SkImage::kAllow_CachingHint); } |