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

Side by Side Diff: src/effects/SkBlurMaskFilter.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: Created 6 years, 5 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 /* 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 #include "SkBlurMaskFilter.h" 9 #include "SkBlurMaskFilter.h"
10 #include "SkBlurMask.h" 10 #include "SkBlurMask.h"
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 } 515 }
516 516
517 void SkBlurMaskFilterImpl::computeFastBounds(const SkRect& src, 517 void SkBlurMaskFilterImpl::computeFastBounds(const SkRect& src,
518 SkRect* dst) const { 518 SkRect* dst) const {
519 SkScalar pad = 3.0f * fSigma; 519 SkScalar pad = 3.0f * fSigma;
520 520
521 dst->set(src.fLeft - pad, src.fTop - pad, 521 dst->set(src.fLeft - pad, src.fTop - pad,
522 src.fRight + pad, src.fBottom + pad); 522 src.fRight + pad, src.fBottom + pad);
523 } 523 }
524 524
525 SkBlurMaskFilterImpl::SkBlurMaskFilterImpl(SkReadBuffer& buffer) 525 #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
526 : SkMaskFilter(buffer) { 526 SkBlurMaskFilterImpl::SkBlurMaskFilterImpl(SkReadBuffer& buffer) : SkMaskFilter( buffer) {
527 fSigma = buffer.readScalar(); 527 fSigma = buffer.readScalar();
528 fBlurStyle = (SkBlurStyle)buffer.readInt(); 528 fBlurStyle = (SkBlurStyle)buffer.readInt();
529 fBlurFlags = buffer.readUInt() & SkBlurMaskFilter::kAll_BlurFlag; 529 fBlurFlags = buffer.readUInt() & SkBlurMaskFilter::kAll_BlurFlag;
530 SkASSERT(fSigma > 0); 530 SkASSERT(fSigma > 0);
531 SkASSERT((unsigned)fBlurStyle <= kLastEnum_SkBlurStyle); 531 SkASSERT((unsigned)fBlurStyle <= kLastEnum_SkBlurStyle);
532 } 532 }
533 #endif
534
535 SkFlattenable* SkBlurMaskFilterImpl::CreateProc(SkReadBuffer& buffer) {
536 const SkScalar sigma = buffer.readScalar();
537 const unsigned style = buffer.readUInt();
538 const unsigned flags = buffer.readUInt();
539 if (style <= kLastEnum_SkBlurStyle) {
540 return SkBlurMaskFilter::Create((SkBlurStyle)style, sigma, flags);
541 }
542 return NULL;
543 }
533 544
534 void SkBlurMaskFilterImpl::flatten(SkWriteBuffer& buffer) const { 545 void SkBlurMaskFilterImpl::flatten(SkWriteBuffer& buffer) const {
535 this->INHERITED::flatten(buffer);
536 buffer.writeScalar(fSigma); 546 buffer.writeScalar(fSigma);
537 buffer.writeInt(fBlurStyle); 547 buffer.writeUInt(fBlurStyle);
538 buffer.writeUInt(fBlurFlags); 548 buffer.writeUInt(fBlurFlags);
539 } 549 }
540 550
541 #if SK_SUPPORT_GPU 551 #if SK_SUPPORT_GPU
542 552
543 class GrGLRectBlurEffect; 553 class GrGLRectBlurEffect;
544 554
545 class GrRectBlurEffect : public GrEffect { 555 class GrRectBlurEffect : public GrEffect {
546 public: 556 public:
547 virtual ~GrRectBlurEffect(); 557 virtual ~GrRectBlurEffect();
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
1204 } else { 1214 } else {
1205 str->append("None"); 1215 str->append("None");
1206 } 1216 }
1207 str->append("))"); 1217 str->append("))");
1208 } 1218 }
1209 #endif 1219 #endif
1210 1220
1211 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter) 1221 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_START(SkBlurMaskFilter)
1212 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl) 1222 SK_DEFINE_FLATTENABLE_REGISTRAR_ENTRY(SkBlurMaskFilterImpl)
1213 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END 1223 SK_DEFINE_FLATTENABLE_REGISTRAR_GROUP_END
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698