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

Side by Side Diff: cc/proto/skia_conversions.cc

Issue 2502373003: stop using SkXfermode -- use SkBlendMode instead (Closed)
Patch Set: rebase Created 4 years, 1 month 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
« no previous file with comments | « cc/proto/skia_conversions.h ('k') | cc/proto/skia_conversions_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/proto/skia_conversions.h" 5 #include "cc/proto/skia_conversions.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "cc/proto/gfx_conversions.h" 8 #include "cc/proto/gfx_conversions.h"
9 #include "cc/proto/skrrect.pb.h" 9 #include "cc/proto/skrrect.pb.h"
10 #include "third_party/skia/include/core/SkRRect.h" 10 #include "third_party/skia/include/core/SkRRect.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 case SkRegion::Op::kXOR_Op: 54 case SkRegion::Op::kXOR_Op:
55 return proto::SkRegion::XOR; 55 return proto::SkRegion::XOR;
56 case SkRegion::Op::kReverseDifference_Op: 56 case SkRegion::Op::kReverseDifference_Op:
57 return proto::SkRegion::REVERSE_DIFFERENCE; 57 return proto::SkRegion::REVERSE_DIFFERENCE;
58 case SkRegion::Op::kReplace_Op: 58 case SkRegion::Op::kReplace_Op:
59 return proto::SkRegion::REPLACE; 59 return proto::SkRegion::REPLACE;
60 } 60 }
61 return proto::SkRegion::DIFFERENCE_; 61 return proto::SkRegion::DIFFERENCE_;
62 } 62 }
63 63
64 SkXfermode::Mode SkXfermodeModeFromProto(proto::SkXfermode::Mode mode) { 64 SkBlendMode SkXfermodeModeFromProto(proto::SkXfermode::Mode mode) {
65 switch (mode) { 65 switch (mode) {
66 case proto::SkXfermode::CLEAR_: 66 case proto::SkXfermode::CLEAR_:
67 return SkXfermode::Mode::kClear_Mode; 67 return SkBlendMode::kClear;
68 case proto::SkXfermode::SRC: 68 case proto::SkXfermode::SRC:
69 return SkXfermode::Mode::kSrc_Mode; 69 return SkBlendMode::kSrc;
70 case proto::SkXfermode::DST: 70 case proto::SkXfermode::DST:
71 return SkXfermode::Mode::kDst_Mode; 71 return SkBlendMode::kDst;
72 case proto::SkXfermode::SRC_OVER: 72 case proto::SkXfermode::SRC_OVER:
73 return SkXfermode::Mode::kSrcOver_Mode; 73 return SkBlendMode::kSrcOver;
74 case proto::SkXfermode::DST_OVER: 74 case proto::SkXfermode::DST_OVER:
75 return SkXfermode::Mode::kDstOver_Mode; 75 return SkBlendMode::kDstOver;
76 case proto::SkXfermode::SRC_IN: 76 case proto::SkXfermode::SRC_IN:
77 return SkXfermode::Mode::kSrcIn_Mode; 77 return SkBlendMode::kSrcIn;
78 case proto::SkXfermode::DST_IN: 78 case proto::SkXfermode::DST_IN:
79 return SkXfermode::Mode::kDstIn_Mode; 79 return SkBlendMode::kDstIn;
80 case proto::SkXfermode::SRC_OUT: 80 case proto::SkXfermode::SRC_OUT:
81 return SkXfermode::Mode::kSrcOut_Mode; 81 return SkBlendMode::kSrcOut;
82 case proto::SkXfermode::DST_OUT: 82 case proto::SkXfermode::DST_OUT:
83 return SkXfermode::Mode::kDstOut_Mode; 83 return SkBlendMode::kDstOut;
84 case proto::SkXfermode::SRC_A_TOP: 84 case proto::SkXfermode::SRC_A_TOP:
85 return SkXfermode::Mode::kSrcATop_Mode; 85 return SkBlendMode::kSrcATop;
86 case proto::SkXfermode::DST_A_TOP: 86 case proto::SkXfermode::DST_A_TOP:
87 return SkXfermode::Mode::kDstATop_Mode; 87 return SkBlendMode::kDstATop;
88 case proto::SkXfermode::XOR: 88 case proto::SkXfermode::XOR:
89 return SkXfermode::Mode::kXor_Mode; 89 return SkBlendMode::kXor;
90 case proto::SkXfermode::PLUS: 90 case proto::SkXfermode::PLUS:
91 return SkXfermode::Mode::kPlus_Mode; 91 return SkBlendMode::kPlus;
92 case proto::SkXfermode::MODULATE: 92 case proto::SkXfermode::MODULATE:
93 return SkXfermode::Mode::kModulate_Mode; 93 return SkBlendMode::kModulate;
94 case proto::SkXfermode::SCREEN: 94 case proto::SkXfermode::SCREEN:
95 return SkXfermode::Mode::kScreen_Mode; 95 return SkBlendMode::kScreen;
96 case proto::SkXfermode::OVERLAY: 96 case proto::SkXfermode::OVERLAY:
97 return SkXfermode::Mode::kOverlay_Mode; 97 return SkBlendMode::kOverlay;
98 case proto::SkXfermode::DARKEN: 98 case proto::SkXfermode::DARKEN:
99 return SkXfermode::Mode::kDarken_Mode; 99 return SkBlendMode::kDarken;
100 case proto::SkXfermode::LIGHTEN: 100 case proto::SkXfermode::LIGHTEN:
101 return SkXfermode::Mode::kLighten_Mode; 101 return SkBlendMode::kLighten;
102 case proto::SkXfermode::COLOR_DODGE: 102 case proto::SkXfermode::COLOR_DODGE:
103 return SkXfermode::Mode::kColorDodge_Mode; 103 return SkBlendMode::kColorDodge;
104 case proto::SkXfermode::COLOR_BURN: 104 case proto::SkXfermode::COLOR_BURN:
105 return SkXfermode::Mode::kColorBurn_Mode; 105 return SkBlendMode::kColorBurn;
106 case proto::SkXfermode::HARD_LIGHT: 106 case proto::SkXfermode::HARD_LIGHT:
107 return SkXfermode::Mode::kHardLight_Mode; 107 return SkBlendMode::kHardLight;
108 case proto::SkXfermode::SOFT_LIGHT: 108 case proto::SkXfermode::SOFT_LIGHT:
109 return SkXfermode::Mode::kSoftLight_Mode; 109 return SkBlendMode::kSoftLight;
110 case proto::SkXfermode::DIFFERENCE_: 110 case proto::SkXfermode::DIFFERENCE_:
111 return SkXfermode::Mode::kDifference_Mode; 111 return SkBlendMode::kDifference;
112 case proto::SkXfermode::EXCLUSION: 112 case proto::SkXfermode::EXCLUSION:
113 return SkXfermode::Mode::kExclusion_Mode; 113 return SkBlendMode::kExclusion;
114 case proto::SkXfermode::MULTIPLY: 114 case proto::SkXfermode::MULTIPLY:
115 return SkXfermode::Mode::kMultiply_Mode; 115 return SkBlendMode::kMultiply;
116 case proto::SkXfermode::HUE: 116 case proto::SkXfermode::HUE:
117 return SkXfermode::Mode::kHue_Mode; 117 return SkBlendMode::kHue;
118 case proto::SkXfermode::SATURATION: 118 case proto::SkXfermode::SATURATION:
119 return SkXfermode::Mode::kSaturation_Mode; 119 return SkBlendMode::kSaturation;
120 case proto::SkXfermode::COLOR: 120 case proto::SkXfermode::COLOR:
121 return SkXfermode::Mode::kColor_Mode; 121 return SkBlendMode::kColor;
122 case proto::SkXfermode::LUMINOSITY: 122 case proto::SkXfermode::LUMINOSITY:
123 return SkXfermode::Mode::kLuminosity_Mode; 123 return SkBlendMode::kLuminosity;
124 } 124 }
125 return SkXfermode::Mode::kClear_Mode; 125 return SkBlendMode::kClear;
126 } 126 }
127 127
128 proto::SkXfermode::Mode SkXfermodeModeToProto(SkXfermode::Mode mode) { 128 proto::SkXfermode::Mode SkXfermodeModeToProto(SkBlendMode mode) {
129 switch (mode) { 129 switch (mode) {
130 case SkXfermode::Mode::kClear_Mode: 130 case SkBlendMode::kClear:
131 return proto::SkXfermode::CLEAR_; 131 return proto::SkXfermode::CLEAR_;
132 case SkXfermode::Mode::kSrc_Mode: 132 case SkBlendMode::kSrc:
133 return proto::SkXfermode::SRC; 133 return proto::SkXfermode::SRC;
134 case SkXfermode::Mode::kDst_Mode: 134 case SkBlendMode::kDst:
135 return proto::SkXfermode::DST; 135 return proto::SkXfermode::DST;
136 case SkXfermode::Mode::kSrcOver_Mode: 136 case SkBlendMode::kSrcOver:
137 return proto::SkXfermode::SRC_OVER; 137 return proto::SkXfermode::SRC_OVER;
138 case SkXfermode::Mode::kDstOver_Mode: 138 case SkBlendMode::kDstOver:
139 return proto::SkXfermode::DST_OVER; 139 return proto::SkXfermode::DST_OVER;
140 case SkXfermode::Mode::kSrcIn_Mode: 140 case SkBlendMode::kSrcIn:
141 return proto::SkXfermode::SRC_IN; 141 return proto::SkXfermode::SRC_IN;
142 case SkXfermode::Mode::kDstIn_Mode: 142 case SkBlendMode::kDstIn:
143 return proto::SkXfermode::DST_IN; 143 return proto::SkXfermode::DST_IN;
144 case SkXfermode::Mode::kSrcOut_Mode: 144 case SkBlendMode::kSrcOut:
145 return proto::SkXfermode::SRC_OUT; 145 return proto::SkXfermode::SRC_OUT;
146 case SkXfermode::Mode::kDstOut_Mode: 146 case SkBlendMode::kDstOut:
147 return proto::SkXfermode::DST_OUT; 147 return proto::SkXfermode::DST_OUT;
148 case SkXfermode::Mode::kSrcATop_Mode: 148 case SkBlendMode::kSrcATop:
149 return proto::SkXfermode::SRC_A_TOP; 149 return proto::SkXfermode::SRC_A_TOP;
150 case SkXfermode::Mode::kDstATop_Mode: 150 case SkBlendMode::kDstATop:
151 return proto::SkXfermode::DST_A_TOP; 151 return proto::SkXfermode::DST_A_TOP;
152 case SkXfermode::Mode::kXor_Mode: 152 case SkBlendMode::kXor:
153 return proto::SkXfermode::XOR; 153 return proto::SkXfermode::XOR;
154 case SkXfermode::Mode::kPlus_Mode: 154 case SkBlendMode::kPlus:
155 return proto::SkXfermode::PLUS; 155 return proto::SkXfermode::PLUS;
156 case SkXfermode::Mode::kModulate_Mode: 156 case SkBlendMode::kModulate:
157 return proto::SkXfermode::MODULATE; 157 return proto::SkXfermode::MODULATE;
158 case SkXfermode::Mode::kScreen_Mode: 158 case SkBlendMode::kScreen:
159 return proto::SkXfermode::SCREEN; 159 return proto::SkXfermode::SCREEN;
160 case SkXfermode::Mode::kOverlay_Mode: 160 case SkBlendMode::kOverlay:
161 return proto::SkXfermode::OVERLAY; 161 return proto::SkXfermode::OVERLAY;
162 case SkXfermode::Mode::kDarken_Mode: 162 case SkBlendMode::kDarken:
163 return proto::SkXfermode::DARKEN; 163 return proto::SkXfermode::DARKEN;
164 case SkXfermode::Mode::kLighten_Mode: 164 case SkBlendMode::kLighten:
165 return proto::SkXfermode::LIGHTEN; 165 return proto::SkXfermode::LIGHTEN;
166 case SkXfermode::Mode::kColorDodge_Mode: 166 case SkBlendMode::kColorDodge:
167 return proto::SkXfermode::COLOR_DODGE; 167 return proto::SkXfermode::COLOR_DODGE;
168 case SkXfermode::Mode::kColorBurn_Mode: 168 case SkBlendMode::kColorBurn:
169 return proto::SkXfermode::COLOR_BURN; 169 return proto::SkXfermode::COLOR_BURN;
170 case SkXfermode::Mode::kHardLight_Mode: 170 case SkBlendMode::kHardLight:
171 return proto::SkXfermode::HARD_LIGHT; 171 return proto::SkXfermode::HARD_LIGHT;
172 case SkXfermode::Mode::kSoftLight_Mode: 172 case SkBlendMode::kSoftLight:
173 return proto::SkXfermode::SOFT_LIGHT; 173 return proto::SkXfermode::SOFT_LIGHT;
174 case SkXfermode::Mode::kDifference_Mode: 174 case SkBlendMode::kDifference:
175 return proto::SkXfermode::DIFFERENCE_; 175 return proto::SkXfermode::DIFFERENCE_;
176 case SkXfermode::Mode::kExclusion_Mode: 176 case SkBlendMode::kExclusion:
177 return proto::SkXfermode::EXCLUSION; 177 return proto::SkXfermode::EXCLUSION;
178 case SkXfermode::Mode::kMultiply_Mode: 178 case SkBlendMode::kMultiply:
179 return proto::SkXfermode::MULTIPLY; 179 return proto::SkXfermode::MULTIPLY;
180 case SkXfermode::Mode::kHue_Mode: 180 case SkBlendMode::kHue:
181 return proto::SkXfermode::HUE; 181 return proto::SkXfermode::HUE;
182 case SkXfermode::Mode::kSaturation_Mode: 182 case SkBlendMode::kSaturation:
183 return proto::SkXfermode::SATURATION; 183 return proto::SkXfermode::SATURATION;
184 case SkXfermode::Mode::kColor_Mode: 184 case SkBlendMode::kColor:
185 return proto::SkXfermode::COLOR; 185 return proto::SkXfermode::COLOR;
186 case SkXfermode::Mode::kLuminosity_Mode: 186 case SkBlendMode::kLuminosity:
187 return proto::SkXfermode::LUMINOSITY; 187 return proto::SkXfermode::LUMINOSITY;
188 } 188 }
189 return proto::SkXfermode::CLEAR_; 189 return proto::SkXfermode::CLEAR_;
190 } 190 }
191 191
192 void SkRRectToProto(const SkRRect& rect, proto::SkRRect* proto) { 192 void SkRRectToProto(const SkRRect& rect, proto::SkRRect* proto) {
193 RectFToProto(gfx::SkRectToRectF(rect.rect()), proto->mutable_rect()); 193 RectFToProto(gfx::SkRectToRectF(rect.rect()), proto->mutable_rect());
194 194
195 SkPointToProto(rect.radii(SkRRect::kUpperLeft_Corner), 195 SkPointToProto(rect.radii(SkRRect::kUpperLeft_Corner),
196 proto->mutable_radii_upper_left()); 196 proto->mutable_radii_upper_left());
(...skipping 15 matching lines...) Expand all
212 parsed_radii[SkRRect::kLowerRight_Corner] = 212 parsed_radii[SkRRect::kLowerRight_Corner] =
213 ProtoToSkPoint(proto.radii_lower_right()); 213 ProtoToSkPoint(proto.radii_lower_right());
214 parsed_radii[SkRRect::kLowerLeft_Corner] = 214 parsed_radii[SkRRect::kLowerLeft_Corner] =
215 ProtoToSkPoint(proto.radii_lower_left()); 215 ProtoToSkPoint(proto.radii_lower_left());
216 SkRRect rect; 216 SkRRect rect;
217 rect.setRectRadii(parsed_rect, parsed_radii); 217 rect.setRectRadii(parsed_rect, parsed_radii);
218 return rect; 218 return rect;
219 } 219 }
220 220
221 } // namespace cc 221 } // namespace cc
OLDNEW
« no previous file with comments | « cc/proto/skia_conversions.h ('k') | cc/proto/skia_conversions_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698