void nsSMILAnimationFunction::UnsetKeySplines() { mKeySplines.Clear(); SetKeySplinesErrorFlag(PR_FALSE); mHasChanged = PR_TRUE; }
void nsSMILAnimationFunction::UnsetKeySplines() { mKeySplines.Clear(); SetKeySplinesErrorFlag(false); mHasChanged = true; }
void nsSMILAnimationFunction::CheckKeySplines(PRUint32 aNumValues) { // attribute is ignored if calc mode is not spline if (GetCalcMode() != CALC_SPLINE) { SetKeySplinesErrorFlag(PR_FALSE); return; } // calc mode is spline but the attribute is not set if (!HasAttr(nsGkAtoms::keySplines)) { SetKeySplinesErrorFlag(PR_FALSE); return; } if (mKeySplines.Length() < 1) { // keyTimes isn't set or failed preliminary checks SetKeySplinesErrorFlag(PR_TRUE); return; } // ignore splines if there's only one value if (aNumValues == 1 && !IsToAnimation()) { SetKeySplinesErrorFlag(PR_FALSE); return; } // no. keySpline specs == no. values - 1 PRUint32 splineSpecs = mKeySplines.Length(); if ((splineSpecs != aNumValues - 1 && !IsToAnimation()) || (IsToAnimation() && splineSpecs != 1)) { SetKeySplinesErrorFlag(PR_TRUE); return; } SetKeySplinesErrorFlag(PR_FALSE); }