UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DefaultGameMoviePlayer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "Stats/Stats.h"
9#include "Layout/Visibility.h"
10#include "Input/Reply.h"
12#include "Widgets/SWidget.h"
13#include "Widgets/SWindow.h"
15#include "MoviePlayer.h"
18
19#include "Misc/CoreDelegates.h"
20
21class FWidgetRenderer;
22class SVirtualWindow;
23
25{
26public:
28
34 void EnableDPIScale(bool bShouldEnable);
35 void DrawWindow(float DeltaTime);
36
37private:
40 SWindow* MainWindow;
41
43 TSharedRef<class SVirtualWindow> VirtualRenderWindow;
44
45 TSharedPtr<FHittestGrid> HittestGrid;
46
47 FSlateRenderer* SlateRenderer;
48
49 FViewportRHIRef ViewportRHI;
50
52 bool bIsDPIScaleEnabled;
53};
54
57 public IMoviePlayerProxyServer, public TSharedFromThis<FDefaultGameMoviePlayer>
58{
59public:
60 static void Create()
61 {
63 check(!MoviePlayer.IsValid());
64
66 }
67
68 static void Destroy()
69 {
71 MoviePlayer.Reset();
72 }
73
76
80 virtual void Shutdown() override;
81 virtual void PassLoadingScreenWindowBackToGame() const override;
82 virtual void SetupLoadingScreen(const FLoadingScreenAttributes& LoadingScreenAttributes) override;
83 virtual bool HasEarlyStartupMovie() const override;
84 virtual bool PlayEarlyStartupMovies() override;
85 virtual bool PlayMovie() override;
86 virtual void StopMovie() override;
87 virtual void WaitForMovieToFinish(bool bAllowEngineTick = false) override;
88 virtual bool IsLoadingFinished() const override;
89 virtual bool IsMovieCurrentlyPlaying() const override;
90 virtual bool LoadingScreenIsPrepared() const override;
91 virtual void SetupLoadingScreenFromIni() override;
92 virtual void SetViewportDPIScale(float InViewportDPIScale) override;
93
94 bool IsInitialized() const override { return bInitialized; }
95
97 virtual bool IsStartupMoviePlaying() const override { return IsMoviePlaying; };
98
99 virtual FOnPrepareLoadingScreen& OnPrepareLoadingScreen() override { return OnPrepareLoadingScreenDelegate; }
100 virtual FOnMoviePlaybackStarted& OnMoviePlaybackStarted() override { return OnMoviePlaybackStartedDelegate; }
101 virtual FOnMoviePlaybackTick& OnMoviePlaybackTick() override { return OnMoviePlaybackTickDelegate; }
102 virtual FOnMoviePlaybackFinished& OnMoviePlaybackFinished() override { return OnMoviePlaybackFinishedDelegate; }
103 virtual FOnMovieClipFinished& OnMovieClipFinished() override { return OnMovieClipFinishedDelegate; }
104
106 virtual void BlockingStarted() override;
107 virtual void BlockingTick() override;
108 virtual void BlockingFinished() override;
109 virtual void SetIsSlateThreadAllowed(bool bInIsSlateThreadAllowed) override;
110
112 virtual void Tick( FRHICommandListImmediate& RHICmdList, float DeltaTime ) override;
113 virtual TStatId GetStatId() const override;
114 virtual bool IsTickable() const override;
115
119
121
122 virtual bool WillAutoCompleteWhenLoadFinishes() override;
123
124 virtual FString GetMovieName() override;
125 virtual bool IsLastMovieInPlaylist() override;
126
127 virtual void ForceCompletion() override;
128 virtual void Suspend() override;
129 virtual void Resume() override;
130
131 virtual void SetIsPlayOnBlockingEnabled(bool bIsEnabled) override;
132
133 float GetViewportDPIScale() const;
134
136
137private:
138
140 void TickStreamer(FRHICommandListImmediate& RHICmdList, float DeltaTime);
141
143 bool MovieStreamingIsPrepared() const;
144
146 bool IsMovieStreamingFinished() const;
147
149 FVector2D GetMovieSize() const;
150 FOptionalSize GetMovieWidth() const;
151 FOptionalSize GetMovieHeight() const;
152 EVisibility GetSlateBackgroundVisibility() const;
153 EVisibility GetViewportVisibility() const;
154
156 void OnPreLoadMap(const FString& LevelName);
157
159 void OnPostLoadMap(UWorld* LoadedWorld);
160
162 bool CanPlayMovie() const;
163private:
165
166 FReply OnAnyDown();
167
171
173 TWeakPtr<class SWindow> MainWindow;
175 TSharedPtr<class SWidget> LoadingScreenContents;
177 TSharedPtr<class SBorder> UserWidgetHolder;
179 TSharedPtr<class SVirtualWindow> VirtualRenderWindow;
181 TWeakPtr<class SViewport> MovieViewportWeakPtr;
182
184 class FSlateLoadingSynchronizationMechanism* SyncMechanism;
185
187 FThreadSafeCounter MovieStreamingIsDone;
188
190 FThreadSafeCounter LoadingIsDone;
191
193 bool IsMoviePlaying;
194
196 bool bUserCalledFinish;
197
199 TAtomic<bool> bMainWindowClosed;
200
202 FLoadingScreenAttributes LoadingScreenAttributes;
203
205 FOnPrepareLoadingScreen OnPrepareLoadingScreenDelegate;
206
207 FOnMoviePlaybackStarted OnMoviePlaybackStartedDelegate;
208
210 FOnMoviePlaybackTick OnMoviePlaybackTickDelegate;
211
212 FOnMoviePlaybackFinished OnMoviePlaybackFinishedDelegate;
213
214 FOnMovieClipFinished OnMovieClipFinishedDelegate;
215
217 double LastPlayTime;
218
220 bool bInitialized;
221
223 bool bIsPlayOnBlockingEnabled;
225 bool bIsSlateThreadAllowed;
226
228 FCriticalSection SyncMechanismCriticalSection;
229
232
234 TSharedPtr<class SDPIScaler> UserWidgetDPIScaler;
235
237 float ViewportDPIScale;
238
240 int32 BlockingRefCount;
242 double LastBlockingTickTime;
244 FDelegateHandle OnAsyncLoadingFlushUpdateDelegateHandle;
245
246private:
249};
#define check(expr)
Definition AssertionMacros.h:314
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
SharedPointerInternals::TRawPtrProxy< ObjectType > MakeShareable(ObjectType *InObject)
Definition SharedPointer.h:1947
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
CORE_API bool IsInSlateThread()
Definition ThreadingBase.cpp:222
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
Definition DefaultGameMoviePlayer.h:58
static FDefaultGameMoviePlayer * Get()
Definition DefaultGameMoviePlayer.cpp:103
virtual void SetViewportDPIScale(float InViewportDPIScale) override
Definition DefaultGameMoviePlayer.cpp:828
virtual void BlockingStarted() override
Definition DefaultGameMoviePlayer.cpp:637
virtual bool HasEarlyStartupMovie() const override
Definition DefaultGameMoviePlayer.cpp:321
virtual bool IsTickable() const override
Definition DefaultGameMoviePlayer.cpp:762
virtual FOnPrepareLoadingScreen & OnPrepareLoadingScreen() override
Definition DefaultGameMoviePlayer.h:99
~FDefaultGameMoviePlayer()
Definition DefaultGameMoviePlayer.cpp:129
virtual FOnMoviePlaybackFinished & OnMoviePlaybackFinished() override
Definition DefaultGameMoviePlayer.h:102
virtual void BlockingFinished() override
Definition DefaultGameMoviePlayer.cpp:672
virtual void ForceCompletion() override
Definition DefaultGameMoviePlayer.cpp:1038
virtual void BlockingTick() override
Definition DefaultGameMoviePlayer.cpp:647
virtual bool IsLoadingFinished() const override
Definition DefaultGameMoviePlayer.cpp:622
static void Create()
Definition DefaultGameMoviePlayer.h:60
virtual void WaitForMovieToFinish(bool bAllowEngineTick=false) override
Definition DefaultGameMoviePlayer.cpp:444
virtual FOnMovieClipFinished & OnMovieClipFinished() override
Definition DefaultGameMoviePlayer.h:103
virtual void Resume() override
Definition DefaultGameMoviePlayer.cpp:1057
virtual bool IsStartupMoviePlaying() const override
Definition DefaultGameMoviePlayer.h:97
FReply OnLoadingScreenMouseButtonDown(const FGeometry &Geometry, const FPointerEvent &PointerEvent)
Definition DefaultGameMoviePlayer.cpp:885
virtual void RegisterMovieStreamer(TSharedPtr< IMovieStreamer, ESPMode::ThreadSafe > InMovieStreamer) override
Definition DefaultGameMoviePlayer.cpp:152
virtual void SetIsPlayOnBlockingEnabled(bool bIsEnabled) override
Definition DefaultGameMoviePlayer.cpp:1065
virtual void StopMovie() override
Definition DefaultGameMoviePlayer.cpp:438
virtual FOnMoviePlaybackStarted & OnMoviePlaybackStarted() override
Definition DefaultGameMoviePlayer.h:100
virtual bool IsLastMovieInPlaylist() override
Definition DefaultGameMoviePlayer.cpp:962
virtual bool LoadingScreenIsPrepared() const override
Definition DefaultGameMoviePlayer.cpp:767
virtual void Shutdown() override
Definition DefaultGameMoviePlayer.cpp:249
virtual void SetSlateOverlayWidget(TSharedPtr< SWidget > NewOverlayWidget) override
Definition DefaultGameMoviePlayer.cpp:944
virtual void SetupLoadingScreen(const FLoadingScreenAttributes &LoadingScreenAttributes) override
Definition DefaultGameMoviePlayer.cpp:308
void OnMainWindowClosed(const TSharedRef< SWindow > &Window)
Definition DefaultGameMoviePlayer.cpp:244
virtual bool IsMovieCurrentlyPlaying() const override
Definition DefaultGameMoviePlayer.cpp:627
virtual void Suspend() override
Definition DefaultGameMoviePlayer.cpp:1049
float GetViewportDPIScale() const
Definition DefaultGameMoviePlayer.cpp:1034
virtual bool PlayMovie() override
Definition DefaultGameMoviePlayer.cpp:340
virtual void SetIsSlateThreadAllowed(bool bInIsSlateThreadAllowed) override
Definition DefaultGameMoviePlayer.cpp:689
virtual FString GetMovieName() override
Definition DefaultGameMoviePlayer.cpp:957
virtual void SetupLoadingScreenFromIni() override
Definition DefaultGameMoviePlayer.cpp:772
virtual FOnMoviePlaybackTick & OnMoviePlaybackTick() override
Definition DefaultGameMoviePlayer.h:101
static void Destroy()
Definition DefaultGameMoviePlayer.h:68
bool IsInitialized() const override
Definition DefaultGameMoviePlayer.h:94
virtual void PassLoadingScreenWindowBackToGame() const override
Definition DefaultGameMoviePlayer.cpp:295
FReply OnLoadingScreenKeyDown(const FGeometry &Geometry, const FKeyEvent &KeyEvent)
Definition DefaultGameMoviePlayer.cpp:890
virtual bool PlayEarlyStartupMovies() override
Definition DefaultGameMoviePlayer.cpp:330
virtual bool WillAutoCompleteWhenLoadFinishes() override
Definition DefaultGameMoviePlayer.cpp:952
virtual TStatId GetStatId() const override
Definition DefaultGameMoviePlayer.cpp:757
Definition IDelegateInstance.h:14
Definition DefaultGameMoviePlayer.h:25
void EnableDPIScale(bool bShouldEnable)
Definition DefaultGameMoviePlayer.cpp:976
void DrawWindow(float DeltaTime)
Definition DefaultGameMoviePlayer.cpp:981
Definition RHICommandList.h:4626
Definition Reply.h:24
Definition MoviePlayerThreading.h:17
Definition SlateRenderer.h:173
Definition ThreadSafeCounter.h:14
Definition TickableObjectRenderThread.h:15
Definition WidgetRenderer.h:29
Definition MoviePlayer.h:180
Definition MoviePlayerProxyServer.h:12
Definition MoviePlayer.Build.cs:6
Definition SVirtualWindow.h:22
Definition SWindow.h:243
Definition Array.h:670
Definition Atomic.h:538
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
Definition World.h:918
Definition Visibility.h:12
Definition Geometry.h:40
Definition Events.h:431
Definition MoviePlayer.h:133
Definition SlateStructs.h:13
Definition Events.h:695
Definition LightweightStats.h:416