You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.4 KiB
48 lines
1.4 KiB
// Fill out your copyright notice in the Description page of Project Settings.
|
|
|
|
|
|
#include "LogWidget.h"
|
|
|
|
TSharedRef<SWidget> ULogWidget::RebuildWidget()
|
|
{
|
|
if (!MyLogWidgetSwitcher.IsValid())
|
|
{
|
|
if (GEngine && GEngine->GameViewport && GEngine->GameViewport->Viewport)
|
|
{
|
|
GEngine->GameViewport->Viewport->ViewportResizedEvent.AddUObject(this, &ULogWidget::OnViewportResized);
|
|
IsVertical = (GEngine->GameViewport->Viewport->GetDesiredAspectRatio() < 1.0f);
|
|
}
|
|
}
|
|
MyLogWidgetSwitcher = SNew(SLogWidgetSwitcher).IsVertical(IsVertical).StyleSet(&GlobalBLoggerStyle->StyleSet);
|
|
|
|
return MyLogWidgetSwitcher.ToSharedRef();
|
|
}
|
|
|
|
void ULogWidget::OnViewportResized(FViewport* Viewport, uint32 ID)
|
|
{
|
|
if (MyLogWidgetSwitcher.IsValid())
|
|
{
|
|
if (IsVertical != (GEngine->GameViewport->Viewport->GetDesiredAspectRatio() < 1.0f))
|
|
{
|
|
IsVertical = !IsVertical;
|
|
MyLogWidgetSwitcher->ChooseWidgetIndex(IsVertical);
|
|
}
|
|
}
|
|
}
|
|
|
|
ULogWidget::ULogWidget(const FObjectInitializer& ObjectInitializer)
|
|
{
|
|
static ConstructorHelpers::FObjectFinder<UBLoggerStyles> BLoggerStyleFinder(TEXT("BLoggerStyles'/BLogger/Styles/DA_BLoggerStyles.DA_BLoggerStyles'"));
|
|
GlobalBLoggerStyle = BLoggerStyleFinder.Object;
|
|
}
|
|
|
|
void ULogWidget::ReleaseSlateResources(const bool bReleaseChildren)
|
|
{
|
|
Super::ReleaseSlateResources(bReleaseChildren);
|
|
MyLogWidgetSwitcher.Reset();
|
|
}
|
|
|
|
void ULogWidget::SynchronizeProperties()
|
|
{
|
|
Super::SynchronizeProperties();
|
|
}
|