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

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

Issue 134163010: Refactor read and write buffers. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: original write flags were fine Created 6 years, 10 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 2011 Google Inc. 3 * Copyright 2011 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 #include "SkBlurDrawLooper.h" 8 #include "SkBlurDrawLooper.h"
9 #include "SkBlurMask.h" // just for SkBlurMask::ConvertRadiusToSigma 9 #include "SkBlurMask.h" // just for SkBlurMask::ConvertRadiusToSigma
10 #include "SkBlurMaskFilter.h" 10 #include "SkBlurMaskFilter.h"
11 #include "SkCanvas.h" 11 #include "SkCanvas.h"
12 #include "SkColorFilter.h" 12 #include "SkColorFilter.h"
13 #include "SkFlattenableBuffers.h" 13 #include "SkReadBuffer.h"
14 #include "SkWriteBuffer.h"
14 #include "SkMaskFilter.h" 15 #include "SkMaskFilter.h"
15 #include "SkPaint.h" 16 #include "SkPaint.h"
16 #include "SkString.h" 17 #include "SkString.h"
17 #include "SkStringUtils.h" 18 #include "SkStringUtils.h"
18 19
19 SkBlurDrawLooper::SkBlurDrawLooper(SkScalar radius, SkScalar dx, SkScalar dy, 20 SkBlurDrawLooper::SkBlurDrawLooper(SkScalar radius, SkScalar dx, SkScalar dy,
20 SkColor color, uint32_t flags) { 21 SkColor color, uint32_t flags) {
21 this->init(SkBlurMask::ConvertRadiusToSigma(radius), dx, dy, color, flags); 22 this->init(SkBlurMask::ConvertRadiusToSigma(radius), dx, dy, color, flags);
22 } 23 }
23 24
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // be baked into the blurred mask. 57 // be baked into the blurred mask.
57 SkColor opaqueColor = SkColorSetA(color, 255); 58 SkColor opaqueColor = SkColorSetA(color, 255);
58 //The SrcIn xfer mode will multiply 'color' by the incoming alpha 59 //The SrcIn xfer mode will multiply 'color' by the incoming alpha
59 fColorFilter = SkColorFilter::CreateModeFilter(opaqueColor, 60 fColorFilter = SkColorFilter::CreateModeFilter(opaqueColor,
60 SkXfermode::kSrcIn_Mode); 61 SkXfermode::kSrcIn_Mode);
61 } else { 62 } else {
62 fColorFilter = NULL; 63 fColorFilter = NULL;
63 } 64 }
64 } 65 }
65 66
66 SkBlurDrawLooper::SkBlurDrawLooper(SkFlattenableReadBuffer& buffer) 67 SkBlurDrawLooper::SkBlurDrawLooper(SkReadBuffer& buffer)
67 : INHERITED(buffer) { 68 : INHERITED(buffer) {
68 69
69 fDx = buffer.readScalar(); 70 fDx = buffer.readScalar();
70 fDy = buffer.readScalar(); 71 fDy = buffer.readScalar();
71 fBlurColor = buffer.readColor(); 72 fBlurColor = buffer.readColor();
72 fBlur = buffer.readMaskFilter(); 73 fBlur = buffer.readMaskFilter();
73 fColorFilter = buffer.readColorFilter(); 74 fColorFilter = buffer.readColorFilter();
74 fBlurFlags = buffer.readUInt() & kAll_BlurFlag; 75 fBlurFlags = buffer.readUInt() & kAll_BlurFlag;
75 } 76 }
76 77
77 SkBlurDrawLooper::~SkBlurDrawLooper() { 78 SkBlurDrawLooper::~SkBlurDrawLooper() {
78 SkSafeUnref(fBlur); 79 SkSafeUnref(fBlur);
79 SkSafeUnref(fColorFilter); 80 SkSafeUnref(fColorFilter);
80 } 81 }
81 82
82 void SkBlurDrawLooper::flatten(SkFlattenableWriteBuffer& buffer) const { 83 void SkBlurDrawLooper::flatten(SkWriteBuffer& buffer) const {
83 this->INHERITED::flatten(buffer); 84 this->INHERITED::flatten(buffer);
84 buffer.writeScalar(fDx); 85 buffer.writeScalar(fDx);
85 buffer.writeScalar(fDy); 86 buffer.writeScalar(fDy);
86 buffer.writeColor(fBlurColor); 87 buffer.writeColor(fBlurColor);
87 buffer.writeFlattenable(fBlur); 88 buffer.writeFlattenable(fBlur);
88 buffer.writeFlattenable(fColorFilter); 89 buffer.writeFlattenable(fColorFilter);
89 buffer.writeUInt(fBlurFlags); 90 buffer.writeUInt(fBlurFlags);
90 } 91 }
91 92
92 void SkBlurDrawLooper::init(SkCanvas*) { 93 void SkBlurDrawLooper::init(SkCanvas*) {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 &needsSeparator); 158 &needsSeparator);
158 SkAddFlagToString(str, SkToBool(kHighQuality_BlurFlag & fBlurFlags), "Hi ghQuality", 159 SkAddFlagToString(str, SkToBool(kHighQuality_BlurFlag & fBlurFlags), "Hi ghQuality",
159 &needsSeparator); 160 &needsSeparator);
160 } 161 }
161 str->append(")"); 162 str->append(")");
162 163
163 // TODO: add optional "fBlurFilter->toString(str);" when SkMaskFilter::toStr ing is added 164 // TODO: add optional "fBlurFilter->toString(str);" when SkMaskFilter::toStr ing is added
164 // alternatively we could cache the radius in SkBlurDrawLooper and just add it here 165 // alternatively we could cache the radius in SkBlurDrawLooper and just add it here
165 } 166 }
166 #endif 167 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698