TBool CHuiFxParameterManager::Update(CHuiFxEngine& aEngine, const TRect& aVisualRect) { // Calculate all current parameter values TPtrHashMapIter<TDesC, MHuiFxParameter> i(iParameters); TBool parameterChanged = EFalse; for (i.NextValue(); i.CurrentValue(); i.NextValue()) { MHuiFxParameter* p = (MHuiFxParameter*)i.CurrentValue(); if ( p->IsAnimated() ) { parameterChanged = ETrue; } TReal32 newValue = p->ReferenceValue(); ResolveReference( newValue, p->ReferencePoint(), aEngine, aVisualRect ); if ( newValue != p->ReferenceValue() ) { p->SetReferenceValue( newValue ); parameterChanged = ETrue; } if ( p->StartReference() != EReferencePointUndefined ) { newValue = p->StartValue(); ResolveReference( newValue, p->StartReference(), aEngine, aVisualRect ); if ( newValue != p->StartValue() ) { p->SetStartValue( newValue ); parameterChanged = ETrue; } } if ( p->EndReference() != EReferencePointUndefined ) { newValue = p->EndValue(); ResolveReference( newValue, p->EndReference(), aEngine, aVisualRect ); if ( newValue != p->EndValue() ) { p->SetEndValue( newValue ); parameterChanged = ETrue; } } p->Update(); } return parameterChanged; }
Url Url::ResolveReference(const std::string& strRawUrl) const { return ResolveReference(Parse(strRawUrl)); }