36 : fChild(
std::move(child)) {
65 fChild->revalidate(ic, ctm);
98 const auto m = TransformPriv::As<SkMatrix>(fTransform);
109 if (intervals.empty()) {
113 const auto* intervals_ptr = intervals.data();
114 auto intervals_count = intervals.size();
117 if (intervals_count & 1) {
118 intervals_count *= 2;
119 storage.
resize(intervals_count);
120 intervals_ptr = storage.
data();
123 std::copy(intervals.begin(), intervals.end(), storage.
begin() + intervals.size());
134 if (
const auto dash_patheffect =
make_dash(fIntervals, fPhase)) {
136 SkASSERT(!dash_patheffect->needsCTM());
137 dash_patheffect->filterPath(&
path,
path, &rec,
nullptr);
162 paint.setStrokeMiter(fMiterLimit);
163 paint.setStrokeJoin(fJoin);
SkAssertResult(font.textToGlyphs("Hello", 5, SkTextEncoding::kUTF8, glyphs, std::size(glyphs))==count)
static sk_sp< SkPathEffect > make_dash()
static void round(SkPoint *p)
static SkCanvas * trim(SkCanvas *canvas, SkScalar width, SkScalar height, const SkRect *content)
@ kDifference_SkPathOp
subtract the op path from the first path
@ kUnion_SkPathOp
union (inclusive-or) the two paths
#define INHERITED(method,...)
static bool SkScalarNearlyZero(SkScalar x, SkScalar tolerance=SK_ScalarNearlyZero)
static void copy(void *dst, const uint8_t *src, int width, int bpp, int deltaSrc, int offset, const SkPMColor ctable[])
constexpr int SkToInt(S x)
void clipPath(const SkPath &path, SkClipOp op, bool doAntiAlias)
void drawPath(const SkPath &path, const SkPaint &paint)
static sk_sp< SkPathEffect > Make(SkScalar radius)
static sk_sp< SkPathEffect > Make(const SkScalar intervals[], int count, SkScalar phase)
static const SkMatrix & I()
@ kStroke_Style
set to stroke geometry
static void ShrinkToFit(SkPath *path)
SkRect computeTightBounds() const
bool contains(SkScalar x, SkScalar y) const
static sk_sp< SkPathEffect > Make(SkScalar startT, SkScalar stopT, Mode=Mode::kNormal)
void resize(size_t count)
void onDraw(SkCanvas *, const SkPaint &) const final
~GeometryEffect() override
bool onContains(const SkPoint &) const final
virtual SkPath onRevalidateEffect(const sk_sp< GeometryNode > &)=0
void onClip(SkCanvas *, bool antiAlias) const final
GeometryEffect(sk_sp< GeometryNode >)
SkRect onRevalidate(InvalidationController *, const SkMatrix &) final
SkPath onAsPath() const final
void observeInval(const sk_sp< Node > &)
void unobserveInval(const sk_sp< Node > &)
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
SK_API bool FillPathWithPaint(const SkPath &src, const SkPaint &paint, SkPath *dst, const SkRect *cullRect, SkScalar resScale=1)
SIN Vec< N, float > abs(const Vec< N, float > &x)
static SkColor4f transform(SkColor4f c, SkColorSpace *src, SkColorSpace *dst)