| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkBlitRow.h" | 10 #include "SkBlitRow.h" |
| 11 #include "SkColorFilter.h" | 11 #include "SkColorFilter.h" |
| 12 #include "SkColorPriv.h" | 12 #include "SkColorPriv.h" |
| 13 #include "SkFlattenableBuffers.h" | 13 #include "SkFlattenableBuffers.h" |
| 14 #include "SkUtils.h" | 14 #include "SkUtils.h" |
| 15 #include "SkString.h" | 15 #include "SkString.h" |
| 16 #include "SkValidationUtils.h" |
| 16 | 17 |
| 17 #define ILLEGAL_XFERMODE_MODE ((SkXfermode::Mode)-1) | 18 #define ILLEGAL_XFERMODE_MODE ((SkXfermode::Mode)-1) |
| 18 | 19 |
| 19 // baseclass for filters that store a color and mode | 20 // baseclass for filters that store a color and mode |
| 20 class SkModeColorFilter : public SkColorFilter { | 21 class SkModeColorFilter : public SkColorFilter { |
| 21 public: | 22 public: |
| 22 SkModeColorFilter(SkColor color) { | 23 SkModeColorFilter(SkColor color) { |
| 23 fColor = color; | 24 fColor = color; |
| 24 fMode = ILLEGAL_XFERMODE_MODE; | 25 fMode = ILLEGAL_XFERMODE_MODE; |
| 25 this->updateCache(); | 26 this->updateCache(); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE { | 92 virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE { |
| 92 this->INHERITED::flatten(buffer); | 93 this->INHERITED::flatten(buffer); |
| 93 buffer.writeColor(fColor); | 94 buffer.writeColor(fColor); |
| 94 buffer.writeUInt(fMode); | 95 buffer.writeUInt(fMode); |
| 95 } | 96 } |
| 96 | 97 |
| 97 SkModeColorFilter(SkFlattenableReadBuffer& buffer) { | 98 SkModeColorFilter(SkFlattenableReadBuffer& buffer) { |
| 98 fColor = buffer.readColor(); | 99 fColor = buffer.readColor(); |
| 99 fMode = (SkXfermode::Mode)buffer.readUInt(); | 100 fMode = (SkXfermode::Mode)buffer.readUInt(); |
| 100 this->updateCache(); | 101 this->updateCache(); |
| 102 buffer.validate(SkIsValidMode(fMode)); |
| 101 } | 103 } |
| 102 | 104 |
| 103 private: | 105 private: |
| 104 SkColor fColor; | 106 SkColor fColor; |
| 105 SkXfermode::Mode fMode; | 107 SkXfermode::Mode fMode; |
| 106 // cache | 108 // cache |
| 107 SkPMColor fPMColor; | 109 SkPMColor fPMColor; |
| 108 SkXfermodeProc fProc; | 110 SkXfermodeProc fProc; |
| 109 SkXfermodeProc16 fProc16; | 111 SkXfermodeProc16 fProc16; |
| 110 | 112 |
| (...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkModeColorFilter) | 540 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkModeColorFilter) |
| 539 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Src_SkModeColorFilter) | 541 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(Src_SkModeColorFilter) |
| 540 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SrcOver_SkModeColorFilter) | 542 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SrcOver_SkModeColorFilter) |
| 541 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter) | 543 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter) |
| 542 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_JustAdd) | 544 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_JustAdd) |
| 543 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_JustMul) | 545 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_JustMul) |
| 544 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_SingleMul) | 546 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_SingleMul) |
| 545 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_NoPin) | 547 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkLightingColorFilter_NoPin) |
| 546 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSimpleColorFilter) | 548 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkSimpleColorFilter) |
| 547 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 549 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
| OLD | NEW |