7#include "Framework/Application/SlateApplication.h"
8#include "Widgets/SWidget.h"
9#include "Blueprint/UserWidget.h"
10#include "Widgets/SOverlay.h"
21 bool SupportMinimize =
false;
23#ifdef EngineAllowRenderingMinimized
26 SupportMinimize =
true;
31 .Title(FText::FromString(WindowName))
32 .ScreenPosition(FVector2D(0, 0))
34 .AutoCenter(EAutoCenter::PreferredWorkArea)
35 .UseOSWindowBorder(
true)
36 .SaneWindowPlacement(
false)
37 .SizingRule(ESizingRule::UserSized)
38 .SupportsMinimize(SupportMinimize)
40 .FocusWhenFirstShown(IsInitiallyMinized)
42 .IsInitiallyMinimized(IsInitiallyMinized);
44#ifdef EngineAllowRenderingMinimized
47 sWindow->AllowRenderingMinimized =
true;
51 FSlateApplication::Get().AddWindow(
sWindow.ToSharedRef());
110 UE_LOG(LogTemp, Warning, TEXT(
"UnrealWindow.cpp: We are already drawing automatically, we should not draw manually!"));
130 sWindow->RequestDestroyWindow();
151 if (!WidgetToAdd || !
sWindow.IsValid())
177 WidgetToAdd->TakeWidget()
182 WidgetInfo.
Widget = WidgetToAdd;
198 int32 WidgetIndexToRemove = -1;
199 for (int32 Index = 0; Index <
AddedWidgets.Num(); ++Index)
203 WidgetIndexToRemove = Index;
208 if (WidgetIndexToRemove != -1)
TSharedPtr< FUnrealWindowViewportClient > ViewportClient
void UpdateTexture(FTextureResource *Texture)
FOnWindowClosed onWindowClosedDelegate
void SetupComponent(UTextureRenderTarget2D *TextureRenderTarget)
TSharedPtr< SUnrealWindowViewport > Viewport
void AddUWidgetToWindow(UWidget *WidgetToAdd)
void OnWindowClosed(const TSharedRef< SWindow > &Window)
TArray< FAddedWidgetInfo > AddedWidgets
void ResizeWindow(int32 Width, int32 Height)
TSharedPtr< SWindow > sWindow
FUnrealWindow(int32 Width, int32 Height, FString WindowName="Camera", bool IsInitiallyMinized=false)
TSharedPtr< FSceneViewport > SceneViewport
TSharedPtr< SViewport > sViewport
TSharedPtr< SOverlay > FullScreenOverlay
void RemoveUWidgetFromWindow(UWidget *WidgetToRemove)