25 lines
732 B
C++
25 lines
732 B
C++
#include "RenderStateComposer.h"
|
|
|
|
RenderStateCompositionResult RenderStateComposer::BuildFrameState(const RenderStateCompositionInput& input) const
|
|
{
|
|
RenderStateCompositionResult result;
|
|
if (!input.baseLayerStates)
|
|
return result;
|
|
|
|
result.layerStates = *input.baseLayerStates;
|
|
result.hasLayerStates = !result.layerStates.empty();
|
|
if (input.liveState)
|
|
{
|
|
RuntimeLiveStateApplyOptions options;
|
|
options.allowCommit = input.allowLiveCommits;
|
|
options.smoothing = input.liveSmoothing;
|
|
options.commitDelay = input.liveCommitDelay;
|
|
options.now = input.now;
|
|
input.liveState->ApplyToLayerStates(
|
|
result.layerStates,
|
|
options,
|
|
input.collectLiveCommitRequests ? &result.commitRequests : nullptr);
|
|
}
|
|
return result;
|
|
}
|