Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: src/effects/SkArithmeticMode.cpp

Issue 395603002: Simplify flattening to just write enough to call the factory (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: simplify xfermodes, fix SkLayerDrawLooper Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
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 "SkArithmeticMode.h" 8 #include "SkArithmeticMode.h"
9 #include "SkColorPriv.h" 9 #include "SkColorPriv.h"
10 #include "SkReadBuffer.h" 10 #include "SkReadBuffer.h"
(...skipping 29 matching lines...) Expand all
40 40
41 private: 41 private:
42 SkArithmeticMode_scalar(SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4, bool enforcePMColor) { 42 SkArithmeticMode_scalar(SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4, bool enforcePMColor) {
43 fK[0] = k1; 43 fK[0] = k1;
44 fK[1] = k2; 44 fK[1] = k2;
45 fK[2] = k3; 45 fK[2] = k3;
46 fK[3] = k4; 46 fK[3] = k4;
47 fEnforcePMColor = enforcePMColor; 47 fEnforcePMColor = enforcePMColor;
48 } 48 }
49 49
50 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
50 SkArithmeticMode_scalar(SkReadBuffer& buffer) : INHERITED(buffer) { 51 SkArithmeticMode_scalar(SkReadBuffer& buffer) : INHERITED(buffer) {
51 fK[0] = buffer.readScalar(); 52 fK[0] = buffer.readScalar();
52 fK[1] = buffer.readScalar(); 53 fK[1] = buffer.readScalar();
53 fK[2] = buffer.readScalar(); 54 fK[2] = buffer.readScalar();
54 fK[3] = buffer.readScalar(); 55 fK[3] = buffer.readScalar();
55 fEnforcePMColor = buffer.readBool(); 56 fEnforcePMColor = buffer.readBool();
56 } 57 }
58 #endif
57 59
58 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE { 60 virtual void flatten(SkWriteBuffer& buffer) const SK_OVERRIDE {
59 INHERITED::flatten(buffer);
60 buffer.writeScalar(fK[0]); 61 buffer.writeScalar(fK[0]);
61 buffer.writeScalar(fK[1]); 62 buffer.writeScalar(fK[1]);
62 buffer.writeScalar(fK[2]); 63 buffer.writeScalar(fK[2]);
63 buffer.writeScalar(fK[3]); 64 buffer.writeScalar(fK[3]);
64 buffer.writeBool(fEnforcePMColor); 65 buffer.writeBool(fEnforcePMColor);
65 } 66 }
66 SkScalar fK[4]; 67 SkScalar fK[4];
67 bool fEnforcePMColor; 68 bool fEnforcePMColor;
68 69
69 typedef SkXfermode INHERITED; 70 typedef SkXfermode INHERITED;
70 }; 71 };
71 72
73 SkFlattenable* SkArithmeticMode_scalar::CreateProc(SkReadBuffer& buffer) {
74 const SkScalar k1 = buffer.readScalar();
75 const SkScalar k2 = buffer.readScalar();
76 const SkScalar k3 = buffer.readScalar();
77 const SkScalar k4 = buffer.readScalar();
78 const bool enforcePMColor = buffer.readBool();
79 return Create(k1, k2, k3, k4, enforcePMColor);
80 }
81
72 static int pinToByte(int value) { 82 static int pinToByte(int value) {
73 if (value < 0) { 83 if (value < 0) {
74 value = 0; 84 value = 0;
75 } else if (value > 255) { 85 } else if (value > 255) {
76 value = 255; 86 value = 255;
77 } 87 }
78 return value; 88 return value;
79 } 89 }
80 90
81 static int arith(SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4, 91 static int arith(SkScalar k1, SkScalar k2, SkScalar k3, SkScalar k4,
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 background); 446 background);
437 } 447 }
438 return true; 448 return true;
439 } 449 }
440 450
441 #endif 451 #endif
442 452
443 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkArithmeticMode) 453 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkArithmeticMode)
444 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkArithmeticMode_scalar) 454 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkArithmeticMode_scalar)
445 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END 455 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698