PRBool nsSMILTimedElement::GetNextGreater( const nsTArray<nsSMILInstanceTime>& aList, const nsSMILTimeValue& aBase, PRInt32 &aPosition, nsSMILTimeValue& aResult) { PRBool found; while ((found = GetNextGreaterOrEqual(aList, aBase, aPosition, aResult)) && aResult.CompareTo(aBase) == 0); return found; }
nsSMILTimeValue nsSMILTimedElement::ApplyMinAndMax(const nsSMILTimeValue& aDuration) { if (!aDuration.IsResolved() && !aDuration.IsIndefinite()) { return aDuration; } if (mMax.CompareTo(mMin) < 0) { return aDuration; } nsSMILTimeValue result; if (aDuration.CompareTo(mMax) > 0) { result = mMax; } else if (aDuration.CompareTo(mMin) < 0) { nsSMILTimeValue repeatDur = GetRepeatDuration(); result = (mMin.CompareTo(repeatDur) > 0) ? repeatDur : mMin; } else { result = aDuration; } return result; }