aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapProvider.cpp
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2016-11-10 11:10:30 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-10 17:05:07 +0000
commite13a69baac9dc326510009fa7c0c5966aee9240c (patch)
tree2d50c5666d94ae35870a294e08238cce8e33d56f /src/core/SkBitmapProvider.cpp
parent152ad7e7fb518058ef1185249aab50dff09d6f5c (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.cpp57
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);
}