#include "third_party/blink/renderer/platform/graphics/path_traversal_state.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
static inline gfx::PointF MidPoint(const gfx::PointF& first,
const gfx::PointF& second) { … }
static inline float DistanceLine(const gfx::PointF& start,
const gfx::PointF& end) { … }
static inline double DotSelf(const gfx::PointF& p) { … }
struct QuadraticBezier { … };
struct CubicBezier { … };
template <class CurveType>
static float CurveLength(PathTraversalState& traversal_state, CurveType curve) { … }
PathTraversalState::PathTraversalState(PathTraversalAction action)
: … { … }
float PathTraversalState::CloseSubpath() { … }
float PathTraversalState::MoveTo(const gfx::PointF& point) { … }
float PathTraversalState::LineTo(const gfx::PointF& point) { … }
float PathTraversalState::CubicBezierTo(const gfx::PointF& new_control1,
const gfx::PointF& new_control2,
const gfx::PointF& new_end) { … }
void PathTraversalState::ProcessSegment() { … }
}