#include "cc/paint/path_effect.h"
#include <vector>
#include "base/check_op.h"
#include "base/notreached.h"
#include "base/numerics/checked_math.h"
#include "base/numerics/safe_conversions.h"
#include "cc/paint/paint_op_reader.h"
#include "cc/paint/paint_op_writer.h"
#include "third_party/abseil-cpp/absl/container/inlined_vector.h"
#include "third_party/skia/include/core/SkPathEffect.h"
#include "third_party/skia/include/effects/SkCornerPathEffect.h"
#include "third_party/skia/include/effects/SkDashPathEffect.h"
namespace cc {
namespace {
template <typename T>
bool AreEqualForTesting(const PathEffect& a, const PathEffect& b) { … }
class DashPathEffect final : public PathEffect { … };
class CornerPathEffect final : public PathEffect { … };
}
PathEffect::PathEffect(Type type) : … { … }
sk_sp<PathEffect> PathEffect::MakeDash(const float* intervals,
int count,
float phase) { … }
sk_sp<PathEffect> PathEffect::MakeCorner(float radius) { … }
size_t PathEffect::dash_interval_count() const { … }
bool PathEffect::EqualsForTesting(const PathEffect& other) const { … }
sk_sp<PathEffect> PathEffect::Deserialize(PaintOpReader& reader, Type type) { … }
}