bool SVGMotionSMILPathUtils::PathGenerator:: ParseCoordinatePair(const nsAString& aCoordPairStr, float& aXVal, float& aYVal) { nsCharSeparatedTokenizerTemplate<nsContentUtils::IsHTMLWhitespace> tokenizer(aCoordPairStr, ',', nsCharSeparatedTokenizer::SEPARATOR_OPTIONAL); SVGLength x, y; if (!tokenizer.hasMoreTokens() || !x.SetValueFromString(tokenizer.nextToken())) { return false; } if (!tokenizer.hasMoreTokens() || !y.SetValueFromString(tokenizer.nextToken())) { return false; } if (tokenizer.separatorAfterCurrentToken() || // Trailing comma. tokenizer.hasMoreTokens()) { // More text remains return false; } float xRes = x.GetValueInUserUnits(mSVGElement, SVGContentUtils::X); float yRes = y.GetValueInUserUnits(mSVGElement, SVGContentUtils::Y); NS_ENSURE_FINITE2(xRes, yRes, false); aXVal = xRes; aYVal = yRes; return true; }
/* nsISupports createSVGPathSegCurvetoQuadraticSmoothRel (in float x, in float y); */ NS_IMETHODIMP SVGPathElement::CreateSVGPathSegCurvetoQuadraticSmoothRel(float x, float y, nsISupports **_retval) { NS_ENSURE_FINITE2(x, y, NS_ERROR_ILLEGAL_VALUE); *_retval = CreateSVGPathSegCurvetoQuadraticSmoothRel(x, y).get(); return NS_OK; }
/* nsISupports createSVGPathSegLinetoAbs (in float x, in float y); */ NS_IMETHODIMP SVGPathElement::CreateSVGPathSegLinetoAbs(float x, float y, nsISupports **_retval) { NS_ENSURE_FINITE2(x, y, NS_ERROR_ILLEGAL_VALUE); *_retval = CreateSVGPathSegLinetoAbs(x, y).get(); return NS_OK; }
/* void setScale (in float sx, in float sy); */ NS_IMETHODIMP nsSVGTransform::SetScale(float sx, float sy) { NS_ENSURE_FINITE2(sx, sy, NS_ERROR_ILLEGAL_VALUE); WillModify(); mType = SVG_TRANSFORM_SCALE; mAngle = 0.0f; NS_REMOVE_SVGVALUE_OBSERVER(mMatrix); mMatrix->SetA(sx); mMatrix->SetB(0.0f); mMatrix->SetC(0.0f); mMatrix->SetD(sy); mMatrix->SetE(0.0f); mMatrix->SetF(0.0f); NS_ADD_SVGVALUE_OBSERVER(mMatrix); DidModify(); return NS_OK; }
/* void setTranslate (in float tx, in float ty); */ NS_IMETHODIMP nsSVGTransform::SetTranslate(float tx, float ty) { NS_ENSURE_FINITE2(tx, ty, NS_ERROR_ILLEGAL_VALUE); WillModify(); mType = SVG_TRANSFORM_TRANSLATE; mAngle = 0.0f; NS_REMOVE_SVGVALUE_OBSERVER(mMatrix); mMatrix->SetA(1.0f); mMatrix->SetB(0.0f); mMatrix->SetC(0.0f); mMatrix->SetD(1.0f); mMatrix->SetE(tx); mMatrix->SetF(ty); NS_ADD_SVGVALUE_OBSERVER(mMatrix); DidModify(); return NS_OK; }