/* void setSkewY (in float angle); */ NS_IMETHODIMP nsSVGTransform::SetSkewY(float angle) { NS_ENSURE_FINITE(angle, NS_ERROR_ILLEGAL_VALUE); float ta = static_cast<float>(tan(angle * radPerDegree)); NS_ENSURE_FINITE(ta, NS_ERROR_DOM_SVG_INVALID_VALUE_ERR); WillModify(); mType = SVG_TRANSFORM_SKEWY; mAngle = angle; NS_REMOVE_SVGVALUE_OBSERVER(mMatrix); mMatrix->SetA(1.0f); mMatrix->SetB(ta); mMatrix->SetC(0.0f); mMatrix->SetD(1.0f); mMatrix->SetE(0.0f); mMatrix->SetF(0.0f); NS_ADD_SVGVALUE_OBSERVER(mMatrix); DidModify(); return NS_OK; }
/* nsISupports createSVGPathSegLinetoVerticalRel (in float y); */ NS_IMETHODIMP SVGPathElement::CreateSVGPathSegLinetoVerticalRel(float y, nsISupports **_retval) { NS_ENSURE_FINITE(y, NS_ERROR_ILLEGAL_VALUE); *_retval = CreateSVGPathSegLinetoVerticalRel(y).get(); return NS_OK; }
/* nsISupports createSVGPathSegLinetoHorizontalRel (in float x); */ NS_IMETHODIMP SVGPathElement::CreateSVGPathSegLinetoHorizontalRel(float x, nsISupports **_retval) { NS_ENSURE_FINITE(x, NS_ERROR_ILLEGAL_VALUE); *_retval = CreateSVGPathSegLinetoHorizontalRel(x).get(); return NS_OK; }
/* unsigned long getPathSegAtLength (in float distance); */ NS_IMETHODIMP SVGPathElement::GetPathSegAtLength(float distance, uint32_t *_retval) { NS_ENSURE_FINITE(distance, NS_ERROR_ILLEGAL_VALUE); *_retval = GetPathSegAtLength(distance); return NS_OK; }
NS_IMETHODIMP nsSVGRect::SetHeight(float aHeight) { NS_ENSURE_FINITE(aHeight, NS_ERROR_ILLEGAL_VALUE); WillModify(); mHeight = aHeight; DidModify(); return NS_OK; }
NS_IMETHODIMP nsSVGRect::SetWidth(float aWidth) { NS_ENSURE_FINITE(aWidth, NS_ERROR_ILLEGAL_VALUE); WillModify(); mWidth = aWidth; DidModify(); return NS_OK; }
NS_IMETHODIMP nsSVGRect::SetY(float aY) { NS_ENSURE_FINITE(aY, NS_ERROR_ILLEGAL_VALUE); WillModify(); mY = aY; DidModify(); return NS_OK; }
NS_IMETHODIMP nsSVGRect::SetX(float aX) { NS_ENSURE_FINITE(aX, NS_ERROR_ILLEGAL_VALUE); WillModify(); mX = aX; DidModify(); return NS_OK; }
/* DOMSVGPoint getPointAtLength (in float distance); */ NS_IMETHODIMP SVGPathElement::GetPointAtLength(float distance, nsISupports **_retval) { NS_ENSURE_FINITE(distance, NS_ERROR_ILLEGAL_VALUE); ErrorResult rv; *_retval = GetPointAtLength(distance, rv).get(); return rv.ErrorCode(); }
NS_IMETHODIMP nsSVGLength::SetValueInSpecifiedUnits(float aValueInSpecifiedUnits) { NS_ENSURE_FINITE(aValueInSpecifiedUnits, NS_ERROR_ILLEGAL_VALUE); WillModify(); mValueInSpecifiedUnits = aValueInSpecifiedUnits; DidModify(); return NS_OK; }
/* void setOrientToAngle (in nsIDOMSVGAngle angle); */ NS_IMETHODIMP nsSVGMarkerElement::SetOrientToAngle(nsIDOMSVGAngle *angle) { if (!angle) return NS_ERROR_DOM_SVG_WRONG_TYPE_ERR; float f; angle->GetValue(&f); NS_ENSURE_FINITE(f, NS_ERROR_DOM_SVG_WRONG_TYPE_ERR); mAngleAttributes[ORIENT].SetBaseValue(f, this); return NS_OK; }
NS_IMETHODIMP nsSVGLength::SetValue(float aValue) { NS_ENSURE_FINITE(aValue, NS_ERROR_ILLEGAL_VALUE); nsresult rv = NS_OK; WillModify(); switch (mSpecifiedUnitType) { case SVG_LENGTHTYPE_NUMBER: case SVG_LENGTHTYPE_PX: mValueInSpecifiedUnits = aValue; break; case SVG_LENGTHTYPE_MM: mValueInSpecifiedUnits = aValue * mmPerPixel(); break; case SVG_LENGTHTYPE_CM: mValueInSpecifiedUnits = aValue * mmPerPixel() / 10.0f; break; case SVG_LENGTHTYPE_IN: mValueInSpecifiedUnits = aValue * mmPerPixel() / 25.4f; break; case SVG_LENGTHTYPE_PT: mValueInSpecifiedUnits = aValue * mmPerPixel() * POINTS_PER_INCH_FLOAT / 25.4f; break; case SVG_LENGTHTYPE_PC: mValueInSpecifiedUnits = aValue * mmPerPixel() * POINTS_PER_INCH_FLOAT / 24.4f / 12.0f; break; case SVG_LENGTHTYPE_PERCENTAGE: mValueInSpecifiedUnits = aValue * 100.0f / AxisLength(); break; case SVG_LENGTHTYPE_EMS: mValueInSpecifiedUnits = aValue / EmLength(); break; case SVG_LENGTHTYPE_EXS: mValueInSpecifiedUnits = aValue / ExLength(); break; default: NS_NOTREACHED("Unknown unit type"); mValueInSpecifiedUnits = 0; rv = NS_ERROR_UNEXPECTED; break; } DidModify(); return rv; }
nsresult nsSVGTransform::SetSkewY(float aAngle) { double ta = tan(aAngle*kRadPerDegree); NS_ENSURE_FINITE(ta, NS_ERROR_RANGE_ERR); mType = SVG_TRANSFORM_SKEWY; mMatrix.Reset(); mMatrix.yx = ta; mAngle = aAngle; mOriginX = 0.f; mOriginY = 0.f; return NS_OK; }
/* void newValueSpecifiedUnits (in unsigned short unitType, in float valueInSpecifiedUnits); */ NS_IMETHODIMP nsSVGLength::NewValueSpecifiedUnits(PRUint16 unitType, float valueInSpecifiedUnits) { NS_ENSURE_FINITE(valueInSpecifiedUnits, NS_ERROR_ILLEGAL_VALUE); if (!IsValidUnitType(unitType)) return NS_ERROR_DOM_NOT_SUPPORTED_ERR; WillModify(); mValueInSpecifiedUnits = valueInSpecifiedUnits; mSpecifiedUnitType = unitType; DidModify(); return NS_OK; }
nsresult nsSVGLength2::NewValueSpecifiedUnits(PRUint16 unitType, float valueInSpecifiedUnits, nsSVGElement *aSVGElement) { NS_ENSURE_FINITE(valueInSpecifiedUnits, NS_ERROR_ILLEGAL_VALUE); if (!IsValidUnitType(unitType)) return NS_ERROR_DOM_NOT_SUPPORTED_ERR; mBaseVal = valueInSpecifiedUnits; mIsBaseSet = PR_TRUE; mSpecifiedUnitType = PRUint8(unitType); if (!mIsAnimated) { mAnimVal = mBaseVal; } #ifdef MOZ_SMIL else { aSVGElement->AnimationNeedsResample(); } #endif aSVGElement->DidChangeLength(mAttrEnum, PR_TRUE); return NS_OK; }
NS_IMETHOD SetValue(float aValue) { NS_ENSURE_FINITE(aValue, NS_ERROR_ILLEGAL_VALUE); mVal = aValue; return NS_OK; }