| Index: src/core/SkBitmapProvider.h
 | 
| diff --git a/src/core/SkBitmapProvider.h b/src/core/SkBitmapProvider.h
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..72964e44845b95eb667272fa6e87326e92de0411
 | 
| --- /dev/null
 | 
| +++ b/src/core/SkBitmapProvider.h
 | 
| @@ -0,0 +1,44 @@
 | 
| +/*
 | 
| + * Copyright 2015 Google Inc.
 | 
| + *
 | 
| + * Use of this source code is governed by a BSD-style license that can be
 | 
| + * found in the LICENSE file.
 | 
| + */
 | 
| +
 | 
| +#ifndef SkBitmapProvider_DEFINED
 | 
| +#define SkBitmapProvider_DEFINED
 | 
| +
 | 
| +#include "SkBitmap.h"
 | 
| +#include "SkImage.h"
 | 
| +#include "SkBitmapCache.h"
 | 
| +
 | 
| +class SkBitmapProvider {
 | 
| +public:
 | 
| +    explicit SkBitmapProvider(const SkBitmap& bm) : fBitmap(bm) {}
 | 
| +    explicit SkBitmapProvider(const SkImage* img) : fImage(SkSafeRef(img)) {}
 | 
| +    SkBitmapProvider(const SkBitmapProvider& other)
 | 
| +        : fBitmap(other.fBitmap)
 | 
| +        , fImage(SkSafeRef(other.fImage.get()))
 | 
| +    {}
 | 
| +
 | 
| +    int width() const;
 | 
| +    int height() const;
 | 
| +    uint32_t getID() const;
 | 
| +
 | 
| +    bool validForDrawing() const;
 | 
| +    SkImageInfo info() const;
 | 
| +
 | 
| +    SkBitmapCacheDesc makeCacheDesc(int w, int h) const;
 | 
| +    SkBitmapCacheDesc makeCacheDesc() const;
 | 
| +    void notifyAddedToCache() const;
 | 
| +
 | 
| +    // Only call this if you're sure you need the bits, since it maybe expensive
 | 
| +    // ... cause a decode and cache, or gpu-readback
 | 
| +    bool asBitmap(SkBitmap*) const;
 | 
| +
 | 
| +private:
 | 
| +    SkBitmap fBitmap;
 | 
| +    SkAutoTUnref<const SkImage> fImage;
 | 
| +};
 | 
| +
 | 
| +#endif
 | 
| 
 |