#include "modules/sksg/include/SkSGGeometryEffect.h"
#include "include/core/SkCanvas.h"
#include "include/core/SkClipOp.h"
#include "include/core/SkMatrix.h"
#include "include/core/SkPath.h"
#include "include/core/SkPathEffect.h"
#include "include/core/SkPathUtils.h"
#include "include/core/SkStrokeRec.h"
#include "include/effects/SkCornerPathEffect.h"
#include "include/effects/SkDashPathEffect.h"
#include "include/effects/SkTrimPathEffect.h"
#include "include/pathops/SkPathOps.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkPoint_impl.h"
#include "include/private/base/SkTArray.h"
#include "include/private/base/SkTo.h"
#include "modules/sksg/src/SkSGTransformPriv.h"
#include "src/core/SkPathPriv.h"
#include <algorithm>
#include <cmath>
usingnamespaceskia_private;
namespace sksg {
GeometryEffect::GeometryEffect(sk_sp<GeometryNode> child)
: … { … }
GeometryEffect::~GeometryEffect() { … }
void GeometryEffect::onClip(SkCanvas* canvas, bool antiAlias) const { … }
void GeometryEffect::onDraw(SkCanvas* canvas, const SkPaint& paint) const { … }
bool GeometryEffect::onContains(const SkPoint& p) const { … }
SkPath GeometryEffect::onAsPath() const { … }
SkRect GeometryEffect::onRevalidate(InvalidationController* ic, const SkMatrix& ctm) { … }
SkPath TrimEffect::onRevalidateEffect(const sk_sp<GeometryNode>& child) { … }
GeometryTransform::GeometryTransform(sk_sp<GeometryNode> child, sk_sp<Transform> transform)
: … { … }
GeometryTransform::~GeometryTransform() { … }
SkPath GeometryTransform::onRevalidateEffect(const sk_sp<GeometryNode>& child) { … }
namespace {
sk_sp<SkPathEffect> make_dash(const std::vector<float>& intervals, float phase) { … }
}
SkPath DashEffect::onRevalidateEffect(const sk_sp<GeometryNode>& child) { … }
SkPath RoundEffect::onRevalidateEffect(const sk_sp<GeometryNode>& child) { … }
SkPath OffsetEffect::onRevalidateEffect(const sk_sp<GeometryNode>& child) { … }
}