Files
UnrealEngine/Engine/Source/Editor/Sequencer/Private/Misc/SequencerThumbnailCaptureSettings.cpp
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

37 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "Misc/SequencerThumbnailCaptureSettings.h"
#include "ISequencer.h"
#include "MovieScene.h"
#include "Math/Range.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(SequencerThumbnailCaptureSettings)
namespace UE::Sequencer
{
FFrameNumber GetFrameByRule(const ISequencer& Sequencer, ESequencerThumbnailCaptureTimeLocation Rule)
{
switch (Rule)
{
case ESequencerThumbnailCaptureTimeLocation::FirstFrame:
return Sequencer.GetRootMovieSceneSequence()->GetMovieScene()->GetPlaybackRange().GetLowerBoundValue();
case ESequencerThumbnailCaptureTimeLocation::MiddleFrame:
{
const FFrameNumber FirstFrame = GetFrameByRule(Sequencer, ESequencerThumbnailCaptureTimeLocation::FirstFrame);
const FFrameNumber LastFrame = GetFrameByRule(Sequencer, ESequencerThumbnailCaptureTimeLocation::LastFrame);
return FirstFrame + (LastFrame - FirstFrame) / 2;
}
case ESequencerThumbnailCaptureTimeLocation::LastFrame:
return Sequencer.GetRootMovieSceneSequence()->GetMovieScene()->GetPlaybackRange().GetUpperBoundValue();
case ESequencerThumbnailCaptureTimeLocation::CurrentFrame:
return Sequencer.GetGlobalTime().Time.FrameNumber;
default:
checkNoEntry();
return GetFrameByRule(Sequencer, ESequencerThumbnailCaptureTimeLocation::CurrentFrame);
}
}
}