SVGPathSegListValues.h [plain text]
#pragma once
#include "SVGListProperty.h"
#include "SVGPathSeg.h"
#include "SVGPropertyTraits.h"
#include <wtf/Vector.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class SVGElement;
class SVGPathSegList;
template<typename T>
class SVGPropertyTearOff;
class SVGPathSegListValues : public Vector<RefPtr<SVGPathSeg>> {
public:
explicit SVGPathSegListValues(SVGPathSegRole role)
: m_role(role)
{
}
String valueAsString() const;
void commitChange(SVGElement& contextElement, ListModification);
private:
SVGPathSegRole m_role;
};
template<> struct SVGPropertyTraits<SVGPathSegListValues> {
static SVGPathSegListValues initialValue() { return SVGPathSegListValues(PathSegUndefinedRole); }
using ListItemType = RefPtr<SVGPathSeg>;
using ListItemTearOff = SVGPropertyTearOff<RefPtr<SVGPathSeg>>;
using ListPropertyTearOff = SVGPathSegList;
};
}