10 #ifndef SkPathEffect_DEFINED
11 #define SkPathEffect_DEFINED
13 #include "SkFlattenable.h"
53 virtual void computeFastBounds(
SkRect* dst,
const SkRect& src)
const;
66 fSize.set(SK_Scalar1, SK_Scalar1);
80 kCircles_PointFlag = 0x01,
81 kUsePath_PointFlag = 0x02,
82 kUseClip_PointFlag = 0x04,
102 const SkRect* cullR)
const;
120 DashInfo() : fIntervals(NULL), fCount(0), fPhase(0) {}
121 DashInfo(SkScalar* intervals, int32_t count, SkScalar phase)
122 : fIntervals(intervals), fCount(count), fPhase(phase) {}
133 SK_TO_STRING_PUREVIRT()
136 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
137 virtual bool exposedInAndroidJavaAPI()
const {
return false; }
168 SK_TO_STRING_OVERRIDE()
196 #ifdef SK_SUPPORT_LEGACY_PATHEFFECT_PTR
198 return Make(sk_ref_sp(outer), sk_ref_sp(inner)).release();
205 SK_TO_STRING_OVERRIDE()
208 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
209 bool exposedInAndroidJavaAPI()
const override {
return true; }
214 : INHERITED(outer, inner) {}
246 #ifdef SK_SUPPORT_LEGACY_PATHEFFECT_PTR
248 return Make(sk_ref_sp(first), sk_ref_sp(second)).release();
254 SK_TO_STRING_OVERRIDE()
257 #ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
258 bool exposedInAndroidJavaAPI()
const override {
return true; }
263 : INHERITED(first, second) {}
Common baseclass for Compose and Sum.
Definition: SkPathEffect.h:158
Definition: SkPathEffect.h:119
The SkPath class encapsulates compound (multiple contour) geometric paths consisting of straight line...
Definition: SkPath.h:27
SkPathEffect is the base class for objects in the SkPaint that affect the geometry of a drawing primi...
Definition: SkPathEffect.h:29
DashType
If the PathEffect can be represented as a dash pattern, asADash will return kDash_DashType and None o...
Definition: SkPathEffect.h:114
Definition: SkStrokeRec.h:16
Definition: SkPoint.h:156
The SkMatrix class holds a 3x3 matrix for transforming coordinates.
Definition: SkMatrix.h:26
Definition: SkRefCnt.h:135
SkScalar fPhase
Offset into the dashed interval pattern.
Definition: SkPathEffect.h:127
virtual bool filterPath(SkPath *dst, const SkPath &src, SkStrokeRec *, const SkRect *cullR) const =0
Given a src path (input) and a stroke-rec (input and output), apply this effect to the src path...
SkFlattenable is the base class for objects that need to be flattened into a data stream for either t...
Definition: SkFlattenable.h:70
ignores the info parameter
Definition: SkPathEffect.h:115
static sk_sp< SkPathEffect > Make(sk_sp< SkPathEffect > first, sk_sp< SkPathEffect > second)
Construct a pathEffect whose effect is to apply two effects, in sequence.
Definition: SkPathEffect.h:236
int32_t fCount
Number of intervals in the dash. Should be even number.
Definition: SkPathEffect.h:126
This subclass of SkPathEffect applies two pathEffects, one after the other.
Definition: SkPathEffect.h:229
Definition: SkWriteBuffer.h:26
virtual void flatten(SkWriteBuffer &) const
Override this if your subclass needs to record data that it will need to recreate itself from its Cre...
Definition: SkFlattenable.h:117
SkScalar * fIntervals
Length of on/off intervals for dashed lines.
Definition: SkPathEffect.h:124
fills in all of the info parameter
Definition: SkPathEffect.h:116
PointData aggregates all the information needed to draw the point primitives returned by an 'asPoints...
Definition: SkPathEffect.h:60
This subclass of SkPathEffect composes its two arguments, to create a compound pathEffect.
Definition: SkPathEffect.h:179
static sk_sp< SkPathEffect > Make(sk_sp< SkPathEffect > outer, sk_sp< SkPathEffect > inner)
Construct a pathEffect whose effect is to apply first the inner pathEffect and the the outer pathEffe...
Definition: SkPathEffect.h:186