SVGPathSegListSource.h [plain text]
#pragma once
#include "FloatPoint.h"
#include "SVGPathSeg.h"
#include "SVGPathSource.h"
#include <wtf/RefPtr.h>
namespace WebCore {
class SVGPathSegList;
class SVGPathSegListSource final : public SVGPathSource {
public:
explicit SVGPathSegListSource(const SVGPathSegList&);
private:
bool hasMoreData() const final;
bool moveToNextToken() final { return true; }
SVGPathSegType nextCommand(SVGPathSegType) final;
Optional<SVGPathSegType> parseSVGSegmentType() final;
Optional<MoveToSegment> parseMoveToSegment() final;
Optional<LineToSegment> parseLineToSegment() final;
Optional<LineToHorizontalSegment> parseLineToHorizontalSegment() final;
Optional<LineToVerticalSegment> parseLineToVerticalSegment() final;
Optional<CurveToCubicSegment> parseCurveToCubicSegment() final;
Optional<CurveToCubicSmoothSegment> parseCurveToCubicSmoothSegment() final;
Optional<CurveToQuadraticSegment> parseCurveToQuadraticSegment() final;
Optional<CurveToQuadraticSmoothSegment> parseCurveToQuadraticSmoothSegment() final;
Optional<ArcToSegment> parseArcToSegment() final;
const SVGPathSegList& m_pathSegList;
RefPtr<SVGPathSeg> m_segment;
size_t m_itemCurrent;
size_t m_itemEnd;
};
}