JSValue* JSSVGLengthPrototypeFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args) { if (!thisObj->inherits(&JSSVGLength::info)) return throwError(exec, TypeError); JSSVGLength* castedThisObj = static_cast<JSSVGLength*>(thisObj); JSSVGPODTypeWrapper<SVGLength>* wrapper = castedThisObj->impl(); SVGLength imp(*wrapper); switch (id) { case JSSVGLength::NewValueSpecifiedUnitsFuncNum: { unsigned short unitType = args[0]->toInt32(exec); float valueInSpecifiedUnits = args[1]->toFloat(exec); imp.newValueSpecifiedUnits(unitType, valueInSpecifiedUnits); wrapper->commitChange(exec, imp); if (castedThisObj->context()) castedThisObj->context()->notifyAttributeChange(); return jsUndefined(); } case JSSVGLength::ConvertToSpecifiedUnitsFuncNum: { unsigned short unitType = args[0]->toInt32(exec); imp.convertToSpecifiedUnits(unitType); wrapper->commitChange(exec, imp); if (castedThisObj->context()) castedThisObj->context()->notifyAttributeChange(); return jsUndefined(); } } return 0; }
void setJSSVGLengthValueAsString(ExecState* exec, JSObject* thisObject, JSValue value) { JSSVGLength* castedThisObj = static_cast<JSSVGLength*>(thisObject); JSSVGPODTypeWrapper<SVGLength> * imp = static_cast<JSSVGPODTypeWrapper<SVGLength> *>(castedThisObj->impl()); SVGLength podImp(*imp); podImp.setValueAsString(valueToStringWithNullCheck(exec, value)); imp->commitChange(podImp, castedThisObj); }
JSValue JSC_HOST_CALL jsSVGLengthPrototypeFunctionNewValueSpecifiedUnits(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); if (!thisValue.inherits(&JSSVGLength::s_info)) return throwError(exec, TypeError); JSSVGLength* castedThisObj = static_cast<JSSVGLength*>(asObject(thisValue)); JSSVGPODTypeWrapper<SVGLength> * imp = static_cast<JSSVGPODTypeWrapper<SVGLength> *>(castedThisObj->impl()); SVGLength podImp(*imp); unsigned short unitType = args.at(0).toInt32(exec); float valueInSpecifiedUnits = args.at(1).toFloat(exec); podImp.newValueSpecifiedUnits(unitType, valueInSpecifiedUnits); imp->commitChange(podImp, castedThisObj); return jsUndefined(); }
void setJSSVGLengthValueInSpecifiedUnits(ExecState* exec, JSObject* thisObject, JSValue value) { JSSVGLength* castedThisObj = static_cast<JSSVGLength*>(thisObject); JSSVGPODTypeWrapper<SVGLength> * imp = static_cast<JSSVGPODTypeWrapper<SVGLength> *>(castedThisObj->impl()); SVGLength podImp(*imp); podImp.setValueInSpecifiedUnits(value.toFloat(exec)); imp->commitChange(podImp, castedThisObj); }