Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Unified Diff: include/core/SkMallocPixelRef.h

Issue 108993002: Revert "Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The… (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/core/SkImageInfo.h ('k') | include/core/SkPicture.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
};
« no previous file with comments | « include/core/SkImageInfo.h ('k') | include/core/SkPicture.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698