/* * Copyright 2015 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkBitmapProvider.h" #include "SkImage_Base.h" #include "SkPixelRef.h" int SkBitmapProvider::width() const { return fImage->width(); } int SkBitmapProvider::height() const { return fImage->height(); } uint32_t SkBitmapProvider::getID() const { return fImage->uniqueID(); } SkImageInfo SkBitmapProvider::info() const { return as_IB(fImage)->onImageInfo(); } bool SkBitmapProvider::isVolatile() const { // 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 SkBitmapCacheDesc::Make(fImage, w, h); } SkBitmapCacheDesc SkBitmapProvider::makeCacheDesc() const { return SkBitmapCacheDesc::Make(fImage); } void SkBitmapProvider::notifyAddedToCache() const { as_IB(fImage)->notifyAddedToRasterCache(); } bool SkBitmapProvider::asBitmap(SkBitmap* bm) const { return as_IB(fImage)->getROPixels(bm, nullptr, SkImage::kAllow_CachingHint); }