66 lines
1.9 KiB
C
66 lines
1.9 KiB
C
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "CoreMinimal.h"
|
||
|
|
|
||
|
|
// Insights
|
||
|
|
#include "Insights/ViewModels/AxisViewportInt32.h"
|
||
|
|
#include "Insights/ViewModels/AxisViewportDouble.h"
|
||
|
|
|
||
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
|
|
||
|
|
class FPacketViewport
|
||
|
|
{
|
||
|
|
private:
|
||
|
|
static constexpr float SLATE_UNITS_TOLERANCE = 0.1f;
|
||
|
|
|
||
|
|
public:
|
||
|
|
FPacketViewport()
|
||
|
|
{
|
||
|
|
Reset();
|
||
|
|
}
|
||
|
|
|
||
|
|
void Reset()
|
||
|
|
{
|
||
|
|
HorizontalAxisViewport.Reset();
|
||
|
|
VerticalAxisViewport.Reset();
|
||
|
|
}
|
||
|
|
|
||
|
|
const FAxisViewportInt32& GetHorizontalAxisViewport() const { return HorizontalAxisViewport; }
|
||
|
|
FAxisViewportInt32& GetHorizontalAxisViewport() { return HorizontalAxisViewport; }
|
||
|
|
|
||
|
|
const FAxisViewportDouble& GetVerticalAxisViewport() const { return VerticalAxisViewport; }
|
||
|
|
FAxisViewportDouble& GetVerticalAxisViewport() { return VerticalAxisViewport; }
|
||
|
|
|
||
|
|
float GetWidth() const { return HorizontalAxisViewport.GetSize(); }
|
||
|
|
float GetHeight() const { return VerticalAxisViewport.GetSize(); }
|
||
|
|
|
||
|
|
bool SetSize(const float InWidth, const float InHeight)
|
||
|
|
{
|
||
|
|
const bool bWidthChanged = HorizontalAxisViewport.SetSize(InWidth);
|
||
|
|
const bool bHeightChanged = VerticalAxisViewport.SetSize(InHeight);
|
||
|
|
if (bWidthChanged || bHeightChanged)
|
||
|
|
{
|
||
|
|
OnSizeChanged();
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
float GetSampleWidth() const { return HorizontalAxisViewport.GetSampleSize(); }
|
||
|
|
int32 GetNumPacketsPerSample() const { return HorizontalAxisViewport.GetNumSamplesPerPixel(); }
|
||
|
|
int32 GetFirstPacketIndex() const { return HorizontalAxisViewport.GetValueAtOffset(0.0f); }
|
||
|
|
|
||
|
|
private:
|
||
|
|
void OnSizeChanged()
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
private:
|
||
|
|
FAxisViewportInt32 HorizontalAxisViewport;
|
||
|
|
FAxisViewportDouble VerticalAxisViewport;
|
||
|
|
};
|
||
|
|
|
||
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|