public class LayoutState extends java.lang.Object implements IncrementalMountExtensionInput, VisibilityExtensionInput, TransitionsExtensionInput, EndToEndTestingExtension.EndToEndTestingExtensionInput
LayoutState
is to hold the output of layout calculation. This includes
mountable outputs and visibility outputs. A centerpiece of the class is collectResults(ComponentContext, LithoLayoutResult, LayoutState, RenderTreeNode, DiffNode,
DebugHierarchy.Node)
which prepares the before-mentioned outputs based on the provided InternalNode
for later use in MountState
.Modifier and Type | Class and Description |
---|---|
static interface |
LayoutState.CalculateLayoutSource |
protected void clearCachedLayout(Component component)
public int getMountableOutputCount()
getMountableOutputCount
in interface EndToEndTestingExtension.EndToEndTestingExtensionInput
getMountableOutputCount
in interface MountDelegateInput
getMountableOutputCount
in interface TransitionsExtensionInput
public int getIncrementalMountOutputCount()
getIncrementalMountOutputCount
in interface IncrementalMountExtensionInput
public RenderTreeNode getMountableOutputAt(int index)
MountDelegateInput
RenderTreeNode
given its absolute position.getMountableOutputAt
in interface EndToEndTestingExtension.EndToEndTestingExtensionInput
getMountableOutputAt
in interface MountDelegateInput
getMountableOutputAt
in interface TransitionsExtensionInput
public IncrementalMountOutput getIncrementalMountOutputForId(long id)
getIncrementalMountOutputForId
in interface IncrementalMountExtensionInput
public java.util.Collection<IncrementalMountOutput> getIncrementalMountOutputs()
IncrementalMountExtensionInput
getIncrementalMountOutputs
in interface IncrementalMountExtensionInput
public AnimatableItem getAnimatableRootItem()
getAnimatableRootItem
in interface TransitionsExtensionInput
public AnimatableItem getAnimatableItem(RenderUnit renderUnit)
getAnimatableItem
in interface TransitionsExtensionInput
public java.util.ArrayList<IncrementalMountOutput> getOutputsOrderedByTopBounds()
getOutputsOrderedByTopBounds
in interface IncrementalMountExtensionInput
public java.util.ArrayList<IncrementalMountOutput> getOutputsOrderedByBottomBounds()
getOutputsOrderedByBottomBounds
in interface IncrementalMountExtensionInput
public java.util.List<VisibilityOutput> getVisibilityOutputs()
VisibilityExtensionInput
getVisibilityOutputs
in interface VisibilityExtensionInput
public int getTestOutputCount()
getTestOutputCount
in interface EndToEndTestingExtension.EndToEndTestingExtensionInput
public com.facebook.litho.TestOutput getTestOutputAt(int index)
getTestOutputAt
in interface EndToEndTestingExtension.EndToEndTestingExtensionInput
public DiffNode getDiffTree()
public int getTreeId()
getTreeId
in interface TransitionsExtensionInput
public int getComponentTreeId()
ComponentTree
that generated this LayoutState
public InternalNode getLayoutRoot()
public int getPositionForId(long layoutOutputId)
MountDelegateInput
RenderUnit
given its id.getPositionForId
in interface EndToEndTestingExtension.EndToEndTestingExtensionInput
getPositionForId
in interface MountDelegateInput
LayoutOutput
with id layoutOutputId in the LayoutState
list of outputs or -1 if no LayoutOutput
with that id exists in the
LayoutState
public boolean renderUnitWithIdHostsRenderTrees(long id)
renderUnitWithIdHostsRenderTrees
in interface IncrementalMountExtensionInput
renderUnitWithIdHostsRenderTrees
in interface TransitionsExtensionInput
public java.util.Set<java.lang.Long> getRenderUnitIdsWhichHostRenderTrees()
VisibilityExtensionInput
RenderUnit
s which host RenderTreeHost
getRenderUnitIdsWhichHostRenderTrees
in interface VisibilityExtensionInput
public java.util.List<Transition> getTransitions()
getTransitions
in interface TransitionsExtensionInput
public java.util.Map<TransitionId,OutputUnitsAffinityGroup<AnimatableItem>> getTransitionIdMapping()
getTransitionIdMapping
in interface TransitionsExtensionInput
public OutputUnitsAffinityGroup<AnimatableItem> getAnimatableItemForTransitionId(TransitionId transitionId)
getAnimatableItemForTransitionId
in interface TransitionsExtensionInput
public java.util.List<Component> getComponentsNeedingPreviousRenderData()
public java.util.List<java.lang.String> getComponentKeysNeedingPreviousRenderData()
public void setInitialRootBoundsForAnimation(Transition.RootBoundsTransition rootWidth, Transition.RootBoundsTransition rootHeight)
setInitialRootBoundsForAnimation
in interface TransitionsExtensionInput
public java.util.List<Transition> getMountTimeTransitions()
getMountTimeTransitions
in interface TransitionsExtensionInput
public TransitionId getRootTransitionId()
getRootTransitionId
in interface TransitionsExtensionInput
public boolean needsToRerunTransitions()
needsToRerunTransitions
in interface TransitionsExtensionInput
public void setNeedsToRerunTransitions(boolean needsToRerunTransitions)
setNeedsToRerunTransitions
in interface TransitionsExtensionInput
public java.lang.String getRootName()
getRootName
in interface TransitionsExtensionInput