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

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

Issue 1217573002: remove SkInstCnt (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Created 5 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
« no previous file with comments | « include/core/SkPath.h ('k') | include/core/SkPathRef.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 SkPathEffect_DEFINED 10 #ifndef SkPathEffect_DEFINED
(...skipping 11 matching lines...) Expand all
22 /** \class SkPathEffect 22 /** \class SkPathEffect
23 23
24 SkPathEffect is the base class for objects in the SkPaint that affect 24 SkPathEffect is the base class for objects in the SkPaint that affect
25 the geometry of a drawing primitive before it is transformed by the 25 the geometry of a drawing primitive before it is transformed by the
26 canvas' matrix and drawn. 26 canvas' matrix and drawn.
27 27
28 Dashing is implemented as a subclass of SkPathEffect. 28 Dashing is implemented as a subclass of SkPathEffect.
29 */ 29 */
30 class SK_API SkPathEffect : public SkFlattenable { 30 class SK_API SkPathEffect : public SkFlattenable {
31 public: 31 public:
32 SK_DECLARE_INST_COUNT(SkPathEffect)
33
34 /** 32 /**
35 * Given a src path (input) and a stroke-rec (input and output), apply 33 * Given a src path (input) and a stroke-rec (input and output), apply
36 * this effect to the src path, returning the new path in dst, and return 34 * this effect to the src path, returning the new path in dst, and return
37 * true. If this effect cannot be applied, return false and ignore dst 35 * true. If this effect cannot be applied, return false and ignore dst
38 * and stroke-rec. 36 * and stroke-rec.
39 * 37 *
40 * The stroke-rec specifies the initial request for stroking (if any). 38 * The stroke-rec specifies the initial request for stroking (if any).
41 * The effect can treat this as input only, or it can choose to change 39 * The effect can treat this as input only, or it can choose to change
42 * the rec as well. For example, the effect can decide to change the 40 * the rec as well. For example, the effect can decide to change the
43 * stroke's width or join, or the effect can change the rec from stroke 41 * stroke's width or join, or the effect can change the rec from stroke
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 virtual ~SkPairPathEffect(); 159 virtual ~SkPairPathEffect();
162 160
163 protected: 161 protected:
164 SkPairPathEffect(SkPathEffect* pe0, SkPathEffect* pe1); 162 SkPairPathEffect(SkPathEffect* pe0, SkPathEffect* pe1);
165 163
166 void flatten(SkWriteBuffer&) const override; 164 void flatten(SkWriteBuffer&) const override;
167 165
168 // these are visible to our subclasses 166 // these are visible to our subclasses
169 SkPathEffect* fPE0, *fPE1; 167 SkPathEffect* fPE0, *fPE1;
170 168
171 SK_TO_STRING_OVERRIDE() 169 SK_TO_STRING_OVERRIDE()
172 170
173 private: 171 private:
174 typedef SkPathEffect INHERITED; 172 typedef SkPathEffect INHERITED;
175 }; 173 };
176 174
177 /** \class SkComposePathEffect 175 /** \class SkComposePathEffect
178 176
179 This subclass of SkPathEffect composes its two arguments, to create 177 This subclass of SkPathEffect composes its two arguments, to create
180 a compound pathEffect. 178 a compound pathEffect.
181 */ 179 */
182 class SkComposePathEffect : public SkPairPathEffect { 180 class SkComposePathEffect : public SkPairPathEffect {
183 public: 181 public:
184 /** Construct a pathEffect whose effect is to apply first the inner pathEffe ct 182 /** Construct a pathEffect whose effect is to apply first the inner pathEffe ct
185 and the the outer pathEffect (e.g. outer(inner(path))) 183 and the the outer pathEffect (e.g. outer(inner(path)))
186 The reference counts for outer and inner are both incremented in the con structor, 184 The reference counts for outer and inner are both incremented in the con structor,
187 and decremented in the destructor. 185 and decremented in the destructor.
188 */ 186 */
189 static SkComposePathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) { 187 static SkComposePathEffect* Create(SkPathEffect* outer, SkPathEffect* inner) {
190 return SkNEW_ARGS(SkComposePathEffect, (outer, inner)); 188 return SkNEW_ARGS(SkComposePathEffect, (outer, inner));
191 } 189 }
192 190
193 virtual bool filterPath(SkPath* dst, const SkPath& src, 191 virtual bool filterPath(SkPath* dst, const SkPath& src,
194 SkStrokeRec*, const SkRect*) const override; 192 SkStrokeRec*, const SkRect*) const override;
195 193
196 SK_TO_STRING_OVERRIDE() 194 SK_TO_STRING_OVERRIDE()
197 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposePathEffect) 195 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkComposePathEffect)
198 196
199 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK 197 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
200 bool exposedInAndroidJavaAPI() const override { return true; } 198 bool exposedInAndroidJavaAPI() const override { return true; }
201 #endif 199 #endif
202 200
203 protected: 201 protected:
204 SkComposePathEffect(SkPathEffect* outer, SkPathEffect* inner) : INHERITED(ou ter, inner) {} 202 SkComposePathEffect(SkPathEffect* outer, SkPathEffect* inner) : INHERITED(ou ter, inner) {}
205 203
206 private: 204 private:
(...skipping 16 matching lines...) Expand all
223 The reference counts for first and second are both incremented in the co nstructor, 221 The reference counts for first and second are both incremented in the co nstructor,
224 and decremented in the destructor. 222 and decremented in the destructor.
225 */ 223 */
226 static SkSumPathEffect* Create(SkPathEffect* first, SkPathEffect* second) { 224 static SkSumPathEffect* Create(SkPathEffect* first, SkPathEffect* second) {
227 return SkNEW_ARGS(SkSumPathEffect, (first, second)); 225 return SkNEW_ARGS(SkSumPathEffect, (first, second));
228 } 226 }
229 227
230 virtual bool filterPath(SkPath* dst, const SkPath& src, 228 virtual bool filterPath(SkPath* dst, const SkPath& src,
231 SkStrokeRec*, const SkRect*) const override; 229 SkStrokeRec*, const SkRect*) const override;
232 230
233 SK_TO_STRING_OVERRIDE() 231 SK_TO_STRING_OVERRIDE()
234 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSumPathEffect) 232 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSumPathEffect)
235 233
236 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK 234 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
237 bool exposedInAndroidJavaAPI() const override { return true; } 235 bool exposedInAndroidJavaAPI() const override { return true; }
238 #endif 236 #endif
239 237
240 protected: 238 protected:
241 SkSumPathEffect(SkPathEffect* first, SkPathEffect* second) : INHERITED(first , second) {} 239 SkSumPathEffect(SkPathEffect* first, SkPathEffect* second) : INHERITED(first , second) {}
242 240
243 private: 241 private:
244 // illegal 242 // illegal
245 SkSumPathEffect(const SkSumPathEffect&); 243 SkSumPathEffect(const SkSumPathEffect&);
246 SkSumPathEffect& operator=(const SkSumPathEffect&); 244 SkSumPathEffect& operator=(const SkSumPathEffect&);
247 245
248 typedef SkPairPathEffect INHERITED; 246 typedef SkPairPathEffect INHERITED;
249 }; 247 };
250 248
251 #endif 249 #endif
OLDNEW
« no previous file with comments | « include/core/SkPath.h ('k') | include/core/SkPathRef.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698