From c73dd5c6880739f26216f198c757028fd28df1a4 Mon Sep 17 00:00:00 2001 From: "djsollen@google.com" Date: Tue, 7 Aug 2012 15:54:32 +0000 Subject: Update SkFlattenable buffers to be more modular. This CL is an effort to stage the conversion to named parameters for all SkFlattenable commands. This particular stage only does the following two things... 1. Move flattenable buffers from SkFlattenable.h into their own header. 2. Update and Add new read write methods for better clarity and convenience. BUG= Review URL: https://codereview.appspot.com/6448095 git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81 --- src/effects/SkTableColorFilter.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/effects/SkTableColorFilter.cpp') diff --git a/src/effects/SkTableColorFilter.cpp b/src/effects/SkTableColorFilter.cpp index 769a40d27f..f316c5296d 100644 --- a/src/effects/SkTableColorFilter.cpp +++ b/src/effects/SkTableColorFilter.cpp @@ -1,6 +1,8 @@ + #include "SkBitmap.h" -#include "SkColorPriv.h" #include "SkTableColorFilter.h" +#include "SkColorPriv.h" +#include "SkFlattenableBuffers.h" #include "SkUnPreMultiply.h" class SkTable_ColorFilter : public SkColorFilter { @@ -161,8 +163,7 @@ void SkTable_ColorFilter::flatten(SkFlattenableWriteBuffer& buffer) const { // SkDebugf("raw %d packed %d\n", count * 256, size); buffer.writeInt(fFlags); - buffer.writeInt(size); - buffer.write(storage, size); + buffer.writeByteArray(storage, size); } SkTable_ColorFilter::SkTable_ColorFilter(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) { @@ -171,8 +172,10 @@ SkTable_ColorFilter::SkTable_ColorFilter(SkFlattenableReadBuffer& buffer) : INHE uint8_t storage[5*256]; fFlags = buffer.readInt(); - size_t size = buffer.readInt(); - buffer.read(storage, size); + + size_t size = buffer.getArrayCount(); + SkASSERT(size <= sizeof(storage)); + buffer.readByteArray(storage); size_t raw = SkPackBits::Unpack8(storage, size, fStorage); -- cgit v1.2.3