| Index: src/lazy/SkDiscardablePixelRef.h
|
| diff --git a/src/lazy/SkDiscardablePixelRef.h b/src/lazy/SkDiscardablePixelRef.h
|
| index bbe19b8b20727dc5672bf6dcadcdd9c278a8fc35..78dcd66791f3d430da2676f57570f68218e832ca 100644
|
| --- a/src/lazy/SkDiscardablePixelRef.h
|
| +++ b/src/lazy/SkDiscardablePixelRef.h
|
| @@ -8,16 +8,18 @@
|
| #ifndef SkDiscardablePixelRef_DEFINED
|
| #define SkDiscardablePixelRef_DEFINED
|
|
|
| +#include "SkDiscardableMemory.h"
|
| #include "SkPixelRef.h"
|
| #include "SkImageGenerator.h"
|
| #include "SkImageInfo.h"
|
|
|
| -class SkDiscardableMemory;
|
| -
|
| /**
|
| * An interface that allows a purgable PixelRef to re-decode an image.
|
| */
|
|
|
| +typedef SkDiscardableMemory* (*SkDiscardableMemoryFactory)(size_t bytes);
|
| +
|
| +
|
| class SkDiscardablePixelRef : public SkPixelRef {
|
| public:
|
| /**
|
| @@ -30,8 +32,19 @@ public:
|
| * installed into destination is destroyed, it will call
|
| * SkDELETE() on the generator. Therefore, generator should be
|
| * allocated with SkNEW() or SkNEW_ARGS().
|
| + *
|
| + * @param destination Upon success, this bitmap will be
|
| + * configured and have a pixelref installed.
|
| + *
|
| + * @param factory If not NULL, this object will be used as a
|
| + * source of discardable memory when decoding. If NULL, then
|
| + * SkDiscardableMemory::Create() will be called.
|
| + *
|
| + * @return true iff successful.
|
| */
|
| - static bool Install(SkImageGenerator* generator, SkBitmap* destination);
|
| + static bool Install(SkImageGenerator* generator,
|
| + SkBitmap* destination,
|
| + SkDiscardableMemory::Factory* factory = NULL);
|
|
|
| SK_DECLARE_UNFLATTENABLE_OBJECT()
|
|
|
| @@ -47,6 +60,7 @@ protected:
|
|
|
| private:
|
| SkImageGenerator* const fGenerator;
|
| + SkDiscardableMemory::Factory* const fDMFactory;
|
| const SkImageInfo fInfo;
|
| const size_t fSize; // size of memory to be allocated
|
| const size_t fRowBytes;
|
| @@ -59,6 +73,7 @@ private:
|
| SkDiscardablePixelRef(SkImageGenerator* generator,
|
| const SkImageInfo& info,
|
| size_t size,
|
| - size_t rowBytes);
|
| + size_t rowBytes,
|
| + SkDiscardableMemory::Factory* factory);
|
| };
|
| #endif // SkDiscardablePixelRef_DEFINED
|
|
|