diff options
author | reed <reed@google.com> | 2015-09-15 14:46:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-15 14:46:27 -0700 |
commit | 013e9e3bb0495ab0b5aff011429a6ac983464d34 (patch) | |
tree | e017fb97e23904294b840075bc10a57ec1ff2213 /src/core/SkBitmapController.cpp | |
parent | 0d705a487318d41c95be9849e355f7383e67dc96 (diff) |
move SkBitmapProvider to its own file
BUG=skia:
Review URL: https://codereview.chromium.org/1346713002
Diffstat (limited to 'src/core/SkBitmapController.cpp')
-rw-r--r-- | src/core/SkBitmapController.cpp | 72 |
1 files changed, 1 insertions, 71 deletions
diff --git a/src/core/SkBitmapController.cpp b/src/core/SkBitmapController.cpp index c75d2ea6bc..5cfa5252d6 100644 --- a/src/core/SkBitmapController.cpp +++ b/src/core/SkBitmapController.cpp @@ -7,7 +7,7 @@ #include "SkBitmap.h" #include "SkBitmapController.h" -#include "SkImage_Base.h" +#include "SkBitmapProvider.h" #include "SkMatrix.h" #include "SkPixelRef.h" #include "SkTemplates.h" @@ -17,76 +17,6 @@ /////////////////////////////////////////////////////////////////////////////////////////////////// -int SkBitmapProvider::width() const { - return fImage ? fImage->width() : fBitmap.width(); -} - -int SkBitmapProvider::height() const { - return fImage ? fImage->height() : fBitmap.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 (fBitmap.getTexture()) { - // we can handle texture (ugh) since lockPixels will perform a read-back - return true; - } - 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; -} - -SkImageInfo SkBitmapProvider::info() const { - if (fImage) { - SkAlphaType at = fImage->isOpaque() ? kOpaque_SkAlphaType : kPremul_SkAlphaType; - return SkImageInfo::MakeN32(fImage->width(), fImage->height(), at); - } else { - return fBitmap.info(); - } -} - -SkBitmapCacheDesc SkBitmapProvider::makeCacheDesc(int w, int h) const { - return fImage ? SkBitmapCacheDesc::Make(fImage, w, h) : SkBitmapCacheDesc::Make(fBitmap, w, h); -} - -SkBitmapCacheDesc SkBitmapProvider::makeCacheDesc() const { - return fImage ? SkBitmapCacheDesc::Make(fImage) : SkBitmapCacheDesc::Make(fBitmap); -} - -void SkBitmapProvider::notifyAddedToCache() const { - if (fImage) { - // TODO - } else { - fBitmap.pixelRef()->notifyAddedToCache(); - } -} - -bool SkBitmapProvider::asBitmap(SkBitmap* bm) const { - if (fImage) { - return as_IB(fImage)->getROPixels(bm); - } else { - *bm = fBitmap; - return true; - } -} - -/////////////////////////////////////////////////////////////////////////////////////////////////// - SkBitmapController::State* SkBitmapController::requestBitmap(const SkBitmapProvider& provider, const SkMatrix& inv, SkFilterQuality quality, |