#ifndef SVGAngleTearOff_h
#define SVGAngleTearOff_h
#include "bindings/v8/ScriptWrappable.h"
#include "core/svg/SVGAngle.h"
#include "core/svg/properties/SVGPropertyTearOff.h"
namespace WebCore {
class SVGAngleTearOff FINAL : public SVGPropertyTearOff<SVGAngle>, public ScriptWrappable {
public:
static PassRefPtr<SVGAngleTearOff> create(PassRefPtr<SVGAngle> target, SVGElement* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedName& attributeName = nullQName())
{
return adoptRef(new SVGAngleTearOff(target, contextElement, propertyIsAnimVal, attributeName));
}
enum {
SVG_ANGLETYPE_UNKNOWN = SVGAngle::SVG_ANGLETYPE_UNKNOWN,
SVG_ANGLETYPE_UNSPECIFIED = SVGAngle::SVG_ANGLETYPE_UNSPECIFIED,
SVG_ANGLETYPE_DEG = SVGAngle::SVG_ANGLETYPE_DEG,
SVG_ANGLETYPE_RAD = SVGAngle::SVG_ANGLETYPE_RAD,
SVG_ANGLETYPE_GRAD = SVGAngle::SVG_ANGLETYPE_GRAD
};
virtual ~SVGAngleTearOff();
unsigned short unitType() { return target()->unitType(); }
void setValue(float, ExceptionState&);
float value() { return target()->value(); }
void setValueInSpecifiedUnits(float, ExceptionState&);
float valueInSpecifiedUnits() { return target()->valueInSpecifiedUnits(); }
void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits, ExceptionState&);
void convertToSpecifiedUnits(unsigned short unitType, ExceptionState&);
String valueAsString() { return target()->valueAsString(); }
void setValueAsString(const String&, ExceptionState&);
private:
SVGAngleTearOff(PassRefPtr<SVGAngle>, SVGElement*, PropertyIsAnimValType, const QualifiedName&);
};
}
#endif