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

Side by Side Diff: include/core/SkMaskFilter.h

Issue 48623006: Add ability to ninepatch blurred rounded rectangle (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Address nit (static function name) Created 7 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 | Annotate | Revision Log
« no previous file with comments | « include/core/SkDraw.h ('k') | include/pdf/SkPDFDevice.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 9
10 #ifndef SkMaskFilter_DEFINED 10 #ifndef SkMaskFilter_DEFINED
11 #define SkMaskFilter_DEFINED 11 #define SkMaskFilter_DEFINED
12 12
13 #include "SkFlattenable.h" 13 #include "SkFlattenable.h"
14 #include "SkMask.h" 14 #include "SkMask.h"
15 #include "SkPaint.h" 15 #include "SkPaint.h"
16 16
17 class GrContext; 17 class GrContext;
18 class SkBitmap; 18 class SkBitmap;
19 class SkBlitter; 19 class SkBlitter;
20 class SkBounder; 20 class SkBounder;
21 class SkMatrix; 21 class SkMatrix;
22 class SkPath; 22 class SkPath;
23 class SkRasterClip; 23 class SkRasterClip;
24 class SkRRect;
24 25
25 /** \class SkMaskFilter 26 /** \class SkMaskFilter
26 27
27 SkMaskFilter is the base class for object that perform transformations on 28 SkMaskFilter is the base class for object that perform transformations on
28 an alpha-channel mask before drawing it. A subclass of SkMaskFilter may be 29 an alpha-channel mask before drawing it. A subclass of SkMaskFilter may be
29 installed into a SkPaint. Once there, each time a primitive is drawn, it 30 installed into a SkPaint. Once there, each time a primitive is drawn, it
30 is first scan converted into a SkMask::kA8_Format mask, and handed to the 31 is first scan converted into a SkMask::kA8_Format mask, and handed to the
31 filter, calling its filterMask() method. If this returns true, then the 32 filter, calling its filterMask() method. If this returns true, then the
32 new mask is used to render into the device. 33 new mask is used to render into the device.
33 34
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 * stretch the mask to fit inside outerRect. It is an error for outerRect 156 * stretch the mask to fit inside outerRect. It is an error for outerRect
156 * to be smaller than the mask's bounds. This would imply that the width 157 * to be smaller than the mask's bounds. This would imply that the width
157 * and height of the mask should be odd. This is not required, just that 158 * and height of the mask should be odd. This is not required, just that
158 * the caller will call mask.fBounds.centerX() and centerY() to find the 159 * the caller will call mask.fBounds.centerX() and centerY() to find the
159 * strips that will be replicated. 160 * strips that will be replicated.
160 */ 161 */
161 virtual FilterReturn filterRectsToNine(const SkRect[], int count, 162 virtual FilterReturn filterRectsToNine(const SkRect[], int count,
162 const SkMatrix&, 163 const SkMatrix&,
163 const SkIRect& clipBounds, 164 const SkIRect& clipBounds,
164 NinePatch*) const; 165 NinePatch*) const;
166 /**
167 * Similar to filterRectsToNine, except it performs the work on a round rec t.
168 */
169 virtual FilterReturn filterRRectToNine(const SkRRect&, const SkMatrix&,
170 const SkIRect& clipBounds,
171 NinePatch*) const;
165 172
166 private: 173 private:
167 friend class SkDraw; 174 friend class SkDraw;
168 175
169 /** Helper method that, given a path in device space, will rasterize it into a kA8_Format mask 176 /** Helper method that, given a path in device space, will rasterize it into a kA8_Format mask
170 and then call filterMask(). If this returns true, the specified blitter wil l be called 177 and then call filterMask(). If this returns true, the specified blitter wil l be called
171 to render that mask. Returns false if filterMask() returned false. 178 to render that mask. Returns false if filterMask() returned false.
172 This method is not exported to java. 179 This method is not exported to java.
173 */ 180 */
174 bool filterPath(const SkPath& devPath, const SkMatrix& devMatrix, 181 bool filterPath(const SkPath& devPath, const SkMatrix& devMatrix,
175 const SkRasterClip&, SkBounder*, SkBlitter* blitter, 182 const SkRasterClip&, SkBounder*, SkBlitter* blitter,
176 SkPaint::Style style) const; 183 SkPaint::Style style) const;
177 184
185 /** Helper method that, given a roundRect in device space, will rasterize it into a kA8_Format
186 mask and then call filterMask(). If this returns true, the specified blitte r will be called
187 to render that mask. Returns false if filterMask() returned false.
188 */
189 bool filterRRect(const SkRRect& devRRect, const SkMatrix& devMatrix,
190 const SkRasterClip&, SkBounder*, SkBlitter* blitter,
191 SkPaint::Style style) const;
192
178 typedef SkFlattenable INHERITED; 193 typedef SkFlattenable INHERITED;
179 }; 194 };
180 195
181 #endif 196 #endif
OLDNEW
« no previous file with comments | « include/core/SkDraw.h ('k') | include/pdf/SkPDFDevice.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698