Index: include/core/SkMallocPixelRef.h |
diff --git a/include/core/SkMallocPixelRef.h b/include/core/SkMallocPixelRef.h |
index 5ef70d69bc8ea020c8f0cc902e02760e5ea44c85..100a15d90abb4ca55b30aa9af47e5ce17f18fa67 100644 |
--- a/include/core/SkMallocPixelRef.h |
+++ b/include/core/SkMallocPixelRef.h |
@@ -17,52 +17,33 @@ |
*/ |
class SkMallocPixelRef : public SkPixelRef { |
public: |
- /** |
- * Return a new SkMallocPixelRef with the provided pixel storage, rowBytes, |
- * and optional colortable. The caller is responsible for managing the |
- * lifetime of the pixel storage buffer, as the pixelref will not try |
- * to delete the storage. |
- * |
- * This pixelref will ref() the specified colortable (if not NULL). |
- * |
- * Returns NULL on failure. |
+ /** Allocate the specified buffer for pixels. The memory is freed when the |
+ last owner of this pixelref is gone. If addr is NULL, sk_malloc_throw() |
+ is called to allocate it. |
*/ |
- static SkMallocPixelRef* NewDirect(const SkImageInfo&, void* addr, |
- size_t rowBytes, SkColorTable*); |
- |
- /** |
- * Return a new SkMallocPixelRef, automatically allocating storage for the |
- * pixels. If rowBytes are 0, an optimal value will be chosen automatically. |
- * If rowBytes is > 0, then it will be respected, or NULL will be returned |
- * if rowBytes is invalid for the specified info. |
- * |
- * This pixelref will ref() the specified colortable (if not NULL). |
- * |
- * Returns NULL on failure. |
- */ |
- static SkMallocPixelRef* NewAllocate(const SkImageInfo& info, |
- size_t rowBytes, SkColorTable*); |
+ SkMallocPixelRef(void* addr, size_t size, SkColorTable* ctable, bool ownPixels = true); |
+ virtual ~SkMallocPixelRef(); |
void* getAddr() const { return fStorage; } |
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMallocPixelRef) |
protected: |
- virtual bool onNewLockPixels(LockRec*) SK_OVERRIDE; |
- virtual void onUnlockPixels() SK_OVERRIDE; |
- virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; |
- virtual size_t getAllocatedSizeInBytes() const SK_OVERRIDE; |
+ // overrides from SkPixelRef |
+ virtual void* onLockPixels(SkColorTable**); |
+ virtual void onUnlockPixels(); |
SkMallocPixelRef(SkFlattenableReadBuffer& buffer); |
- SkMallocPixelRef(const SkImageInfo&, void* addr, size_t rb, SkColorTable*, |
- bool ownsPixels); |
- virtual ~SkMallocPixelRef(); |
+ virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; |
+ |
+ // Returns the allocation size for the pixels |
+ virtual size_t getAllocatedSizeInBytes() const SK_OVERRIDE { return fSize; } |
private: |
- void* fStorage; |
- SkColorTable* fCTable; |
- size_t fRB; |
- const bool fOwnPixels; |
+ void* fStorage; |
+ size_t fSize; |
+ SkColorTable* fCTable; |
+ bool fOwnPixels; |
typedef SkPixelRef INHERITED; |
}; |