#pragma once #include #include "../shape/Shape.h" #include "SvgState.h" class CurveTo { public: static std::vector> absolute(SvgState& state, std::vector& args); static std::vector> relative(SvgState& state, std::vector& args); static std::vector> smoothAbsolute(SvgState& state, std::vector& args); static std::vector> smoothRelative(SvgState& state, std::vector& args); static std::vector> quarticAbsolute(SvgState& state, std::vector& args); static std::vector> quarticRelative(SvgState& state, std::vector& args); static std::vector> quarticSmoothAbsolute(SvgState& state, std::vector& args); static std::vector> quarticSmoothRelative(SvgState& state, std::vector& args); private: static std::vector> parseCurveTo(SvgState& state, std::vector& args, bool isAbsolute, bool isCubic, bool isSmooth); };