JSValue* JSSVGMarkerElementPrototypeFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args) { if (!thisObj->inherits(&JSSVGMarkerElement::info)) return throwError(exec, TypeError); JSSVGMarkerElement* castedThisObj = static_cast<JSSVGMarkerElement*>(thisObj); SVGMarkerElement* imp = static_cast<SVGMarkerElement*>(castedThisObj->impl()); switch (id) { case JSSVGMarkerElement::SetOrientToAutoFuncNum: { imp->setOrientToAuto(); return jsUndefined(); } case JSSVGMarkerElement::SetOrientToAngleFuncNum: { SVGAngle* angle = toSVGAngle(args[0]); imp->setOrientToAngle(angle); return jsUndefined(); } case JSSVGMarkerElement::GetPresentationAttributeFuncNum: { String name = args[0]->toString(exec); KJS::JSValue* result = toJS(exec, WTF::getPtr(imp->getPresentationAttribute(name))); return result; } } return 0; }
PassOwnPtr<InterpolationValue> SVGAngleInterpolationType::maybeConvertSVGValue(const SVGPropertyBase& svgValue) const { if (toSVGAngle(svgValue).orientType()->enumValue() != SVGMarkerOrientAngle) return nullptr; return InterpolationValue::create(*this, InterpolableNumber::create(toSVGAngle(svgValue).value())); }