46 kPathEffectAndStrokeRec
82 this->initPathEffect(std::move(pe));
88 this->initPathEffect(
paint.refPathEffect());
92 : fStrokeRec(
paint, overrideStyle) {
93 this->initPathEffect(
paint.refPathEffect());
97 fPathEffect = that.fPathEffect;
98 fDashInfo = that.fDashInfo;
99 fStrokeRec = that.fStrokeRec;
105 fPathEffect.
reset(
nullptr);
129 return fDashInfo.fPhase;
133 return fDashInfo.fIntervals.count();
137 return fDashInfo.fIntervals.get();
176 if (pe && !pe->computeFastBounds(
dst)) {
184 dst->outset(radius, radius);
192 DashInfo(
const DashInfo& that) { *
this = that; }
193 DashInfo&
operator=(
const DashInfo& that) {
198 sizeof(
SkScalar) * that.fIntervals.count());
static void * sk_careful_memcpy(void *dst, const void *src, size_t len)
static SkPathEffectBase * as_PEB(SkPathEffect *effect)
static constexpr bool SkToBool(const T &x)
static const GrStyle & SimpleHairline()
void adjustBounds(SkRect *dst, const SkRect &src) const
const SkScalar * dashIntervals() const
bool applyToPath(SkPath *dst, SkStrokeRec::InitStyle *fillOrHairline, const SkPath &src, SkScalar scale) const
GrStyle(const SkPaint &paint, SkPaint::Style overrideStyle)
GrStyle(const SkStrokeRec &strokeRec, sk_sp< SkPathEffect > pe)
SkPathEffect * pathEffect() const
bool isSimpleHairline() const
bool hasPathEffect() const
static void WriteKey(uint32_t *, const GrStyle &, Apply, SkScalar scale, uint32_t flags=0)
static const GrStyle & SimpleFill()
GrStyle & operator=(const GrStyle &that)
bool hasNonDashPathEffect() const
GrStyle(const GrStyle &that)=default
GrStyle(const SkPaint &paint)
int dashIntervalCnt() const
bool applyPathEffectToPath(SkPath *dst, SkStrokeRec *remainingStoke, const SkPath &src, SkScalar scale) const
static SkScalar MatrixToScaleFactor(const SkMatrix &matrix)
GrStyle(SkStrokeRec::InitStyle initStyle)
bool isSimpleFill() const
void resetToInitStyle(SkStrokeRec::InitStyle fillOrHairline)
SkScalar dashPhase() const
static int KeySize(const GrStyle &, Apply, uint32_t flags=0)
sk_sp< SkPathEffect > refPathEffect() const
const SkStrokeRec & strokeRec() const
@ kNone_DashType
ignores the info parameter
@ kDash_DashType
fills in all of the info parameter
SkScalar getInflationRadius() const
bool isHairlineStyle() const
void reset(T *ptr=nullptr)
FlutterSemanticsFlag flags
unsigned useCenter Optional< SkMatrix > matrix