OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
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 #include "SkRadialGradient.h" | 9 #include "SkRadialGradient.h" |
10 #include "SkRadialGradient_Table.h" | 10 #include "SkRadialGradient_Table.h" |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 | 245 |
246 SkShader::GradientType SkRadialGradient::asAGradient(GradientInfo* info) const { | 246 SkShader::GradientType SkRadialGradient::asAGradient(GradientInfo* info) const { |
247 if (info) { | 247 if (info) { |
248 commonAsAGradient(info); | 248 commonAsAGradient(info); |
249 info->fPoint[0] = fCenter; | 249 info->fPoint[0] = fCenter; |
250 info->fRadius[0] = fRadius; | 250 info->fRadius[0] = fRadius; |
251 } | 251 } |
252 return kRadial_GradientType; | 252 return kRadial_GradientType; |
253 } | 253 } |
254 | 254 |
| 255 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
255 SkRadialGradient::SkRadialGradient(SkReadBuffer& buffer) | 256 SkRadialGradient::SkRadialGradient(SkReadBuffer& buffer) |
256 : INHERITED(buffer), | 257 : INHERITED(buffer), |
257 fCenter(buffer.readPoint()), | 258 fCenter(buffer.readPoint()), |
258 fRadius(buffer.readScalar()) { | 259 fRadius(buffer.readScalar()) { |
259 } | 260 } |
| 261 #endif |
| 262 |
| 263 SkFlattenable* SkRadialGradient::CreateProc(SkReadBuffer& buffer) { |
| 264 DescriptorScope desc; |
| 265 if (!desc.unflatten(buffer)) { |
| 266 return NULL; |
| 267 } |
| 268 const SkPoint center = buffer.readPoint(); |
| 269 const SkScalar radius = buffer.readScalar(); |
| 270 return SkGradientShader::CreateRadial(center, radius, desc.fColors, desc.fPo
s, desc.fCount, |
| 271 desc.fTileMode, desc.fGradFlags, desc.
fLocalMatrix); |
| 272 } |
260 | 273 |
261 void SkRadialGradient::flatten(SkWriteBuffer& buffer) const { | 274 void SkRadialGradient::flatten(SkWriteBuffer& buffer) const { |
262 this->INHERITED::flatten(buffer); | 275 this->INHERITED::flatten(buffer); |
263 buffer.writePoint(fCenter); | 276 buffer.writePoint(fCenter); |
264 buffer.writeScalar(fRadius); | 277 buffer.writeScalar(fRadius); |
265 } | 278 } |
266 | 279 |
267 namespace { | 280 namespace { |
268 | 281 |
269 inline bool radial_completely_pinned(int fx, int dx, int fy, int dy) { | 282 inline bool radial_completely_pinned(int fx, int dx, int fy, int dy) { |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 str->appendScalar(fCenter.fY); | 621 str->appendScalar(fCenter.fY); |
609 str->append(") radius: "); | 622 str->append(") radius: "); |
610 str->appendScalar(fRadius); | 623 str->appendScalar(fRadius); |
611 str->append(" "); | 624 str->append(" "); |
612 | 625 |
613 this->INHERITED::toString(str); | 626 this->INHERITED::toString(str); |
614 | 627 |
615 str->append(")"); | 628 str->append(")"); |
616 } | 629 } |
617 #endif | 630 #endif |
OLD | NEW |