| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkBlitRow.h" | 8 #include "SkBlitRow.h" |
| 9 #include "SkColorFilter.h" | 9 #include "SkColorFilter.h" |
| 10 #include "SkColorPriv.h" | 10 #include "SkColorPriv.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 virtual GrFragmentProcessor* asFragmentProcessor(GrContext*) const SK_OVERRI
DE; | 77 virtual GrFragmentProcessor* asFragmentProcessor(GrContext*) const SK_OVERRI
DE; |
| 78 #endif | 78 #endif |
| 79 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkModeColorFilter) | 79 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkModeColorFilter) |
| 80 | 80 |
| 81 protected: | 81 protected: |
| 82 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE { | 82 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE { |
| 83 buffer.writeColor(fColor); | 83 buffer.writeColor(fColor); |
| 84 buffer.writeUInt(fMode); | 84 buffer.writeUInt(fMode); |
| 85 } | 85 } |
| 86 | 86 |
| 87 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
| 88 SkModeColorFilter(SkReadBuffer& buffer) { |
| 89 fColor = buffer.readColor(); |
| 90 fMode = (SkXfermode::Mode)buffer.readUInt(); |
| 91 if (buffer.isValid()) { |
| 92 this->updateCache(); |
| 93 buffer.validate(SkIsValidMode(fMode)); |
| 94 } |
| 95 } |
| 96 #endif |
| 97 |
| 87 private: | 98 private: |
| 88 SkColor fColor; | 99 SkColor fColor; |
| 89 SkXfermode::Mode fMode; | 100 SkXfermode::Mode fMode; |
| 90 // cache | 101 // cache |
| 91 SkPMColor fPMColor; | 102 SkPMColor fPMColor; |
| 92 SkXfermodeProc fProc; | 103 SkXfermodeProc fProc; |
| 93 SkXfermodeProc16 fProc16; | 104 SkXfermodeProc16 fProc16; |
| 94 | 105 |
| 95 void updateCache() { | 106 void updateCache() { |
| 96 fPMColor = SkPreMultiplyColor(fColor); | 107 fPMColor = SkPreMultiplyColor(fColor); |
| (...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 matrix.postTranslate(SkIntToScalar(SkColorGetR(add)), | 550 matrix.postTranslate(SkIntToScalar(SkColorGetR(add)), |
| 540 SkIntToScalar(SkColorGetG(add)), | 551 SkIntToScalar(SkColorGetG(add)), |
| 541 SkIntToScalar(SkColorGetB(add)), | 552 SkIntToScalar(SkColorGetB(add)), |
| 542 0); | 553 0); |
| 543 return SkColorMatrixFilter::Create(matrix); | 554 return SkColorMatrixFilter::Create(matrix); |
| 544 } | 555 } |
| 545 | 556 |
| 546 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkColorFilter) | 557 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkColorFilter) |
| 547 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkModeColorFilter) | 558 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkModeColorFilter) |
| 548 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END | 559 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END |
| OLD | NEW |