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

Side by Side Diff: src/effects/SkDropShadowImageFilter.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 * 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 "SkDropShadowImageFilter.h" 8 #include "SkDropShadowImageFilter.h"
9 9
10 #include "SkBitmap.h" 10 #include "SkBitmap.h"
11 #include "SkBlurImageFilter.h" 11 #include "SkBlurImageFilter.h"
12 #include "SkCanvas.h" 12 #include "SkCanvas.h"
13 #include "SkColorMatrixFilter.h" 13 #include "SkColorMatrixFilter.h"
14 #include "SkDevice.h" 14 #include "SkDevice.h"
15 #include "SkFlattenableBuffers.h" 15 #include "SkReadBuffer.h"
16 #include "SkWriteBuffer.h"
16 17
17 SkDropShadowImageFilter::SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkSca lar sigma, SkColor color, SkImageFilter* input) 18 SkDropShadowImageFilter::SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkSca lar sigma, SkColor color, SkImageFilter* input)
18 : INHERITED(input) 19 : INHERITED(input)
19 , fDx(dx) 20 , fDx(dx)
20 , fDy(dy) 21 , fDy(dy)
21 , fSigmaX(sigma) 22 , fSigmaX(sigma)
22 , fSigmaY(sigma) 23 , fSigmaY(sigma)
23 , fColor(color) 24 , fColor(color)
24 { 25 {
25 } 26 }
26 27
27 SkDropShadowImageFilter::SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkSca lar sigmaX, SkScalar sigmaY, SkColor color, SkImageFilter* input, const CropRect * cropRect) 28 SkDropShadowImageFilter::SkDropShadowImageFilter(SkScalar dx, SkScalar dy, SkSca lar sigmaX, SkScalar sigmaY, SkColor color, SkImageFilter* input, const CropRect * cropRect)
28 : INHERITED(input, cropRect) 29 : INHERITED(input, cropRect)
29 , fDx(dx) 30 , fDx(dx)
30 , fDy(dy) 31 , fDy(dy)
31 , fSigmaX(sigmaX) 32 , fSigmaX(sigmaX)
32 , fSigmaY(sigmaY) 33 , fSigmaY(sigmaY)
33 , fColor(color) 34 , fColor(color)
34 { 35 {
35 } 36 }
36 37
37 SkDropShadowImageFilter::SkDropShadowImageFilter(SkFlattenableReadBuffer& buffer ) 38 SkDropShadowImageFilter::SkDropShadowImageFilter(SkReadBuffer& buffer)
38 : INHERITED(1, buffer) { 39 : INHERITED(1, buffer) {
39 fDx = buffer.readScalar(); 40 fDx = buffer.readScalar();
40 fDy = buffer.readScalar(); 41 fDy = buffer.readScalar();
41 fSigmaX = buffer.readScalar(); 42 fSigmaX = buffer.readScalar();
42 fSigmaY = buffer.readScalar(); 43 fSigmaY = buffer.readScalar();
43 fColor = buffer.readColor(); 44 fColor = buffer.readColor();
44 buffer.validate(SkScalarIsFinite(fDx) && 45 buffer.validate(SkScalarIsFinite(fDx) &&
45 SkScalarIsFinite(fDy) && 46 SkScalarIsFinite(fDy) &&
46 SkScalarIsFinite(fSigmaX) && 47 SkScalarIsFinite(fSigmaX) &&
47 SkScalarIsFinite(fSigmaY)); 48 SkScalarIsFinite(fSigmaY));
48 } 49 }
49 50
50 void SkDropShadowImageFilter::flatten(SkFlattenableWriteBuffer& buffer) const 51 void SkDropShadowImageFilter::flatten(SkWriteBuffer& buffer) const
51 { 52 {
52 this->INHERITED::flatten(buffer); 53 this->INHERITED::flatten(buffer);
53 buffer.writeScalar(fDx); 54 buffer.writeScalar(fDx);
54 buffer.writeScalar(fDy); 55 buffer.writeScalar(fDy);
55 buffer.writeScalar(fSigmaX); 56 buffer.writeScalar(fSigmaX);
56 buffer.writeScalar(fSigmaY); 57 buffer.writeScalar(fSigmaY);
57 buffer.writeColor(fColor); 58 buffer.writeColor(fColor);
58 } 59 }
59 60
60 bool SkDropShadowImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& source , const SkMatrix& matrix, SkBitmap* result, SkIPoint* offset) 61 bool SkDropShadowImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& source , const SkMatrix& matrix, SkBitmap* result, SkIPoint* offset)
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 } else { 105 } else {
105 *dst = src; 106 *dst = src;
106 } 107 }
107 108
108 SkRect shadowBounds = *dst; 109 SkRect shadowBounds = *dst;
109 shadowBounds.offset(fDx, fDy); 110 shadowBounds.offset(fDx, fDy);
110 shadowBounds.outset(SkScalarMul(fSigmaX, SkIntToScalar(3)), 111 shadowBounds.outset(SkScalarMul(fSigmaX, SkIntToScalar(3)),
111 SkScalarMul(fSigmaY, SkIntToScalar(3))); 112 SkScalarMul(fSigmaY, SkIntToScalar(3)));
112 dst->join(shadowBounds); 113 dst->join(shadowBounds);
113 } 114 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698