diff options
author | 2014-01-30 18:58:24 +0000 | |
---|---|---|
committer | 2014-01-30 18:58:24 +0000 | |
commit | 8b0e8ac5f582de80356019406e2975079bf0829d (patch) | |
tree | 9f43589895207dfcf422d41318b371c9540f1ada /src/core/SkXfermode.cpp | |
parent | 5fbccb35eb9e7e8cfa3c6b02026206db77990324 (diff) |
Refactor read and write buffers.
Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer
a step each in the hierarchy.
What used to be this:
SkFlattenableWriteBuffer -> SkOrderedWriteBuffer
SkFlattenableReadBuffer -> SkOrderedReadBuffer
SkFlattenableReadBuffer -> SkValidatingReadBuffer
is now
SkWriteBuffer
SkReadBuffer -> SkValidatingReadBuffer
Benefits:
- code is simpler, names are less wordy
- the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed
- write buffers are completely devirtualized, important for record speed
This refactoring was mostly mechanical. You aren't going to find anything
interesting in files with less than 10 lines changed.
BUG=skia:
R=reed@google.com, scroggo@google.com, djsollen@google.com, mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/134163010
git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkXfermode.cpp')
-rw-r--r-- | src/core/SkXfermode.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/core/SkXfermode.cpp b/src/core/SkXfermode.cpp index 176bcb50ea..66e0dea2f5 100644 --- a/src/core/SkXfermode.cpp +++ b/src/core/SkXfermode.cpp @@ -10,7 +10,8 @@ #include "SkXfermode.h" #include "SkXfermode_proccoeff.h" #include "SkColorPriv.h" -#include "SkFlattenableBuffers.h" +#include "SkReadBuffer.h" +#include "SkWriteBuffer.h" #include "SkMathPriv.h" #include "SkString.h" #include "SkUtilsArm.h" @@ -860,7 +861,7 @@ void SkProcXfermode::xferA8(SkAlpha* SK_RESTRICT dst, } } -SkProcXfermode::SkProcXfermode(SkFlattenableReadBuffer& buffer) +SkProcXfermode::SkProcXfermode(SkReadBuffer& buffer) : SkXfermode(buffer) { fProc = NULL; if (!buffer.isCrossProcess()) { @@ -868,7 +869,7 @@ SkProcXfermode::SkProcXfermode(SkFlattenableReadBuffer& buffer) } } -void SkProcXfermode::flatten(SkFlattenableWriteBuffer& buffer) const { +void SkProcXfermode::flatten(SkWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); if (!buffer.isCrossProcess()) { buffer.writeFunctionPtr((void*)fProc); @@ -1343,7 +1344,7 @@ GrEffectRef* XferEffect::TestCreate(SkRandom* rand, /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// -SkProcCoeffXfermode::SkProcCoeffXfermode(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) { +SkProcCoeffXfermode::SkProcCoeffXfermode(SkReadBuffer& buffer) : INHERITED(buffer) { uint32_t mode32 = buffer.read32() % SK_ARRAY_COUNT(gProcCoeffs); if (mode32 >= SK_ARRAY_COUNT(gProcCoeffs)) { // out of range, just set to something harmless @@ -1394,7 +1395,7 @@ bool SkProcCoeffXfermode::asNewEffect(GrEffectRef** effect, } #endif -void SkProcCoeffXfermode::flatten(SkFlattenableWriteBuffer& buffer) const { +void SkProcCoeffXfermode::flatten(SkWriteBuffer& buffer) const { this->INHERITED::flatten(buffer); buffer.write32(fMode); } @@ -1452,7 +1453,7 @@ public: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkClearXfermode) private: - SkClearXfermode(SkFlattenableReadBuffer& buffer) + SkClearXfermode(SkReadBuffer& buffer) : SkProcCoeffXfermode(buffer) {} typedef SkProcCoeffXfermode INHERITED; @@ -1514,7 +1515,7 @@ public: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSrcXfermode) private: - SkSrcXfermode(SkFlattenableReadBuffer& buffer) + SkSrcXfermode(SkReadBuffer& buffer) : SkProcCoeffXfermode(buffer) {} typedef SkProcCoeffXfermode INHERITED; @@ -1580,7 +1581,7 @@ public: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstInXfermode) private: - SkDstInXfermode(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {} + SkDstInXfermode(SkReadBuffer& buffer) : INHERITED(buffer) {} typedef SkProcCoeffXfermode INHERITED; }; @@ -1623,7 +1624,7 @@ public: SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkDstOutXfermode) private: - SkDstOutXfermode(SkFlattenableReadBuffer& buffer) + SkDstOutXfermode(SkReadBuffer& buffer) : INHERITED(buffer) {} typedef SkProcCoeffXfermode INHERITED; |