#include "third_party/blink/renderer/core/svg/svg_path.h"
#include <memory>
#include <utility>
#include "third_party/blink/renderer/core/svg/animation/smil_animation_effect_parameters.h"
#include "third_party/blink/renderer/core/svg/svg_path_blender.h"
#include "third_party/blink/renderer/core/svg/svg_path_byte_stream.h"
#include "third_party/blink/renderer/core/svg/svg_path_byte_stream_builder.h"
#include "third_party/blink/renderer/core/svg/svg_path_byte_stream_source.h"
#include "third_party/blink/renderer/core/svg/svg_path_utilities.h"
#include "third_party/blink/renderer/platform/graphics/path.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
namespace blink {
CSSPathValue;
namespace {
std::unique_ptr<SVGPathByteStream> BlendPathByteStreams(
const SVGPathByteStream& from_stream,
const SVGPathByteStream& to_stream,
float progress) { … }
std::unique_ptr<SVGPathByteStream> AddPathByteStreams(
const SVGPathByteStream& from_stream,
const SVGPathByteStream& by_stream,
unsigned repeat_count = 1) { … }
std::unique_ptr<SVGPathByteStream> ConditionallyAddPathByteStreams(
std::unique_ptr<SVGPathByteStream> from_stream,
const SVGPathByteStream& by_stream,
unsigned repeat_count = 1) { … }
}
SVGPath::SVGPath() : … { … }
SVGPath::SVGPath(const CSSPathValue& path_value) : … { … }
SVGPath::~SVGPath() = default;
String SVGPath::ValueAsString() const { … }
SVGPath* SVGPath::Clone() const { … }
SVGParsingError SVGPath::SetValueAsString(const String& string) { … }
SVGPropertyBase* SVGPath::CloneForAnimation(const String& value) const { … }
void SVGPath::Add(const SVGPropertyBase* other, const SVGElement*) { … }
void SVGPath::CalculateAnimatedValue(
const SMILAnimationEffectParameters& parameters,
float percentage,
unsigned repeat_count,
const SVGPropertyBase* from_value,
const SVGPropertyBase* to_value,
const SVGPropertyBase* to_at_end_of_duration_value,
const SVGElement*) { … }
float SVGPath::CalculateDistance(const SVGPropertyBase* to,
const SVGElement*) const { … }
void SVGPath::Trace(Visitor* visitor) const { … }
}