| Index: src/lazy/SkLazyPixelRef.h | 
| diff --git a/src/lazy/SkLazyPixelRef.h b/src/lazy/SkLazyPixelRef.h | 
| index 8f7a751e953693efd0b81cc9e0bafd24dba6154c..b6e0454b1e93cd8ff08ccdf4cb7c3ba8fb2b008d 100644 | 
| --- a/src/lazy/SkLazyPixelRef.h | 
| +++ b/src/lazy/SkLazyPixelRef.h | 
| @@ -33,8 +33,9 @@ public: | 
| *  Create a new SkLazyPixelRef. | 
| *  @param SkData Encoded data representing the pixels. | 
| *  @param DecodeProc Called to decode the pixels when needed. Must be non-NULL. | 
| -     *  @param SkImageCache Object that handles allocating and freeing the pixel memory, as needed. | 
| -     *         Must not be NULL. | 
| +     *  @param SkImageCache Object that handles allocating and freeing | 
| +     *         the pixel memory, as needed.  If NULL, use the global | 
| +     *         SkScaledImageCache. | 
| */ | 
| SkLazyPixelRef(SkData*, SkBitmapFactory::DecodeProc, SkImageCache*); | 
|  | 
| @@ -50,6 +51,13 @@ public: | 
| static void ResetCacheStats() { gCacheHits = gCacheMisses = 0; } | 
| #endif | 
|  | 
| +    /** | 
| +     *  The allocator is used when (fImageCache==NULL) to allocate | 
| +     *  concrete PixelRefs as needed.  If NULL, use the default allocator. | 
| +     *  This is passed directly into SkBitmap::allocPixels(). | 
| +     */ | 
| +    virtual void setAllocator(SkBitmap::Allocator * allocator = NULL); | 
| + | 
| // No need to flatten this object. When flattening an SkBitmap, SkOrderedWriteBuffer will check | 
| // the encoded data and write that instead. | 
| // Future implementations of SkFlattenableWriteBuffer will need to special case for | 
| @@ -69,9 +77,11 @@ private: | 
| SkData*                     fData; | 
| SkBitmapFactory::DecodeProc fDecodeProc; | 
| SkImageCache*               fImageCache; | 
| +    // fCacheId is a (SkScaledImageCache::ID*) or a (SkImageCache::ID). | 
| intptr_t                    fCacheId; | 
| size_t                      fRowBytes; | 
| SkImage::Info               fLazilyCachedInfo; | 
| +    SkBitmap::Allocator*        fAllocator; | 
|  | 
| #if LAZY_CACHE_STATS | 
| static int32_t              gCacheHits; | 
| @@ -80,6 +90,9 @@ private: | 
|  | 
| // lazily initialized our cached info. Returns NULL on failure. | 
| const SkImage::Info* getCachedInfo(); | 
| +    void* lockScaledImageCachePixels(); | 
| +    void* lockImageCachePixels(); | 
| + | 
|  | 
| typedef SkPixelRef INHERITED; | 
| }; | 
|  |