diff options
author | 2014-01-02 17:29:28 +0000 | |
---|---|---|
committer | 2014-01-02 17:29:28 +0000 | |
commit | 1bed687f6b8fc67336f0f5d6fb5a5b38dd0fdff9 (patch) | |
tree | 0f89292bb40a1b048ac03f541d9dbc62ebbddab4 /gyp | |
parent | 261c66668269588a26757a0bfe28a3a3eac07665 (diff) |
Add a release procedure to SkMallocPixelRef; remove SkDataPixelRef
This works in a way that is similar to SkData.
SkMallocPixelRef::NewWithProc
Motivation: Chrome has a ETC1PixelRef which calls delete[] on the
pixles on destruction. There is no reason for them to almost
duplicate our class, when we can provide them a more flexible
class. Example use:
static void delete_uint8_proc(void* ptr, void*) {
delete[] static_cast<uint8_t>(ptr);
}
SkPixelRef* new_delete_pixref(const SkImageInfo& info,
SkColorTable* ctable) {
size_t rb = info.minRowBytes();
return SkMallocPixelRef::NewWithProc(
info, rb, ctable,
new uint8_t[info.getSafeSize(rb)],
delete_uint8_proc, NULL);
}
SkMallocPixelRef::NewWithData
Motivation: This allows up to eliminate SkDataPixelRef. We
modified SkImage_Raster to use MallocPixelRef rather than
SkDataPixlRef.
Also: Unit tests in tests/MallocPixelRefTest.
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/106883006
git-svn-id: http://skia.googlecode.com/svn/trunk@12861 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gyp')
-rw-r--r-- | gyp/core.gypi | 1 | ||||
-rw-r--r-- | gyp/tests.gyp | 1 |
2 files changed, 1 insertions, 1 deletions
diff --git a/gyp/core.gypi b/gyp/core.gypi index d5c11534dc..d3eb4f3ae0 100644 --- a/gyp/core.gypi +++ b/gyp/core.gypi @@ -199,7 +199,6 @@ '<(skia_src_path)/doc/SkDocument.cpp', - '<(skia_src_path)/image/SkDataPixelRef.cpp', '<(skia_src_path)/image/SkImage.cpp', '<(skia_src_path)/image/SkImagePriv.cpp', '<(skia_src_path)/image/SkImage_Codec.cpp', diff --git a/gyp/tests.gyp b/gyp/tests.gyp index d6a1a7c57b..ec8ae43dc2 100644 --- a/gyp/tests.gyp +++ b/gyp/tests.gyp @@ -96,6 +96,7 @@ '../tests/LListTest.cpp', '../tests/LayerDrawLooperTest.cpp', '../tests/MD5Test.cpp', + '../tests/MallocPixelRefTest.cpp', '../tests/MathTest.cpp', '../tests/MatrixTest.cpp', '../tests/Matrix44Test.cpp', |