100 lines
2.4 KiB
C++
100 lines
2.4 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "Insights/ViewModels/TimingViewLayout.h"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
void FTimingViewLayout::ForceNormalMode()
|
|
{
|
|
bIsCompactMode = false;
|
|
EventH = NormalLayoutEventH;
|
|
EventDY = NormalLayoutEventDY;
|
|
TimelineDY = NormalLayoutTimelineDY;
|
|
ChildTimelineDY = NormalLayoutChildTimelineDY;
|
|
MinTimelineH = NormalLayoutMinTimelineH;
|
|
TargetMinTimelineH = NormalLayoutMinTimelineH;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
void FTimingViewLayout::ForceCompactMode()
|
|
{
|
|
bIsCompactMode = true;
|
|
EventH = CompactLayoutEventH;
|
|
EventDY = CompactLayoutEventDY;
|
|
TimelineDY = CompactLayoutTimelineDY;
|
|
ChildTimelineDY = CompactLayoutChildTimelineDY;
|
|
MinTimelineH = CompactLayoutMinTimelineH;
|
|
TargetMinTimelineH = CompactLayoutMinTimelineH;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
bool FTimingViewLayout::Update()
|
|
{
|
|
constexpr float LayoutTransitionSpeed = 0.25f;
|
|
bool bHasChanged = false;
|
|
|
|
if (bIsCompactMode)
|
|
{
|
|
if (EventH > CompactLayoutEventH)
|
|
{
|
|
EventH -= LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
if (EventDY > CompactLayoutEventDY)
|
|
{
|
|
EventDY -= LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
if (TimelineDY > CompactLayoutTimelineDY)
|
|
{
|
|
TimelineDY -= LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
if (ChildTimelineDY > CompactLayoutChildTimelineDY)
|
|
{
|
|
ChildTimelineDY -= LayoutTransitionSpeed / 2;
|
|
bHasChanged = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (EventH < NormalLayoutEventH)
|
|
{
|
|
EventH += LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
if (EventDY < NormalLayoutEventDY)
|
|
{
|
|
EventDY += LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
if (TimelineDY < NormalLayoutTimelineDY)
|
|
{
|
|
TimelineDY += LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
if (ChildTimelineDY < NormalLayoutChildTimelineDY)
|
|
{
|
|
ChildTimelineDY += LayoutTransitionSpeed / 2;
|
|
bHasChanged = true;
|
|
}
|
|
}
|
|
|
|
if (MinTimelineH > TargetMinTimelineH)
|
|
{
|
|
MinTimelineH -= LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
else if (MinTimelineH < TargetMinTimelineH)
|
|
{
|
|
MinTimelineH += LayoutTransitionSpeed;
|
|
bHasChanged = true;
|
|
}
|
|
|
|
return bHasChanged;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|