// Copyright 2004-present Facebook. All Rights Reserved. package com.facebook.litho.animation; import com.facebook.litho.dataflow.GraphBinding; /** * A class used to get and set the runtime values of mount items in the component hierarchy during * animations. All methods take a {@link ComponentProperty} which encapsulates a transitionKey used * to reference the mount item and the {@link AnimatedProperty} on that mount item. */ public interface Resolver { /** * @return the current value of this property before the next mount state is applied. */ float getCurrentState(ComponentProperty property); /** * @return the value of this property in it's final state after the next mount state is applied. */ float getEndState(ComponentProperty property); /** * @return the {@link AnimatedPropertyNode} for this {@link ComponentProperty}. This gives * animations the ability to hook this mount item property into the {@link GraphBinding} they * create to drive their animation. */ AnimatedPropertyNode getAnimatedPropertyNode(ComponentProperty property); }