// Copyright 2004-present Facebook. All Rights Reserved. package com.facebook.litho.animation; /** * Base class to reference a component that can be animated. */ public abstract class AnimatedComponent { private final String mKey; /** * @param key the transitionKey for this component. This key is used to look up this component * in the mounted hierarchy just before the animation. */ public AnimatedComponent(String key) { mKey = key; } /** * @return a handle to the 'x' property of this component. */ public abstract DimensionComponentProperty x(); /** * @return a handle to the 'y' property of this component. */ public abstract DimensionComponentProperty y(); /** * @return a handle to the width property of this component. */ public abstract DimensionComponentProperty width(); /** * @return a handle to the height property of this component. */ public abstract DimensionComponentProperty height(); /** * @return a handle to the composite 'xy' position property of this component. */ public abstract PositionComponentProperty xy(); /** * @return a handle to the scale property of this component. */ public abstract FloatComponentProperty scale(); /** * @return a handle to the alpha property of this component. */ public abstract FloatComponentProperty alpha(); /** * @return the key used to identify this component in the mounted hierarchy. */ public String getKey() { return mKey; } }