UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MacWindow.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "Mac/CocoaWindow.h"
8
14{
15public:
17
18 static TSharedRef< FMacWindow > Make();
19
20 FCocoaWindow* GetWindowHandle() const;
21
23
24 void OnDisplayReconfiguration(CGDirectDisplayID Display, CGDisplayChangeSummaryFlags Flags);
25
26 void OnWindowDidChangeScreen();
27
28public:
29
30 virtual void ReshapeWindow( int32 X, int32 Y, int32 Width, int32 Height ) override;
31
32 virtual bool GetFullScreenInfo( int32& X, int32& Y, int32& Width, int32& Height ) const override;
33
34 virtual void MoveWindowTo ( int32 X, int32 Y ) override;
35
36 virtual void BringToFront( bool bForce = false ) override;
37
38 virtual void Destroy() override;
39
40 virtual void Minimize() override;
41
42 virtual void Maximize() override;
43
44 virtual void Restore() override;
45
46 virtual void Show() override;
47
48 virtual void Hide() override;
49
50 virtual void SetWindowMode( EWindowMode::Type NewWindowMode ) override;
51
52 virtual EWindowMode::Type GetWindowMode() const override;
53
54 virtual bool IsMaximized() const override;
55
56 virtual bool IsMinimized() const override;
57
58 virtual bool IsVisible() const override;
59
60 virtual bool GetRestoredDimensions(int32& X, int32& Y, int32& Width, int32& Height) override;
61
62 virtual void SetWindowFocus() override;
63
64 virtual void SetOpacity( const float InOpacity ) override;
65
66 virtual bool IsPointInWindow( int32 X, int32 Y ) const override;
67
68 virtual int32 GetWindowBorderSize() const override;
69
70 virtual void* GetOSWindowHandle() const override { return WindowHandle; }
71
72 virtual bool IsForegroundWindow() const override;
73
74 virtual void SetText(const TCHAR* const Text) override;
75
76 virtual float GetDPIScaleFactor() const override;
77
78 virtual void SetNativeWindowButtonsVisibility(bool bVisible);
79
80 bool IsRegularWindow() const;
81
84
85
86private:
87
91 FMacWindow();
92
93 const CGDirectDisplayID GetDisplayID() const { return DisplayID; }
94
95 void ApplySizeAndModeChanges(int32 X, int32 Y, int32 Width, int32 Height, EWindowMode::Type WindowMode);
96 void UpdateFullScreenState(bool bToggleFullScreen);
97 void WaitForFullScreenTransition();
98
99private:
100
101 FMacApplication* OwningApplication;
102
104 FCocoaWindow* WindowHandle;
105
106 CGDirectDisplayID DisplayID;
107
108 float CachedOpacity;
109
110 struct FWindowedModeSavedState
111 {
112 CGDirectDisplayID CapturedDisplayID;
113 CGDisplayModeRef DesktopDisplayMode;
114 int32 WindowLevel;
115
116 FWindowedModeSavedState() : CapturedDisplayID(kCGNullDirectDisplay), DesktopDisplayMode(nullptr), WindowLevel(NSNormalWindowLevel) {}
117 } WindowedModeSavedState;
118
119 bool bIsVisible : 1;
120 bool bIsClosed : 1;
121
123 bool bIsFirstTimeVisible : 1;
124
125 bool bIsMainEditorWindow : 1;
126};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
#define X(Name, Desc)
Definition FormatStringSan.h:47
Definition CocoaWindow.cpp:20
Definition GenericWindow.h:94
virtual APPLICATIONCORE_API bool GetRestoredDimensions(int32 &X, int32 &Y, int32 &Width, int32 &Height)
Definition GenericWindow.cpp:108
virtual APPLICATIONCORE_API bool GetFullScreenInfo(int32 &X, int32 &Y, int32 &Width, int32 &Height) const
Definition GenericWindow.cpp:24
virtual APPLICATIONCORE_API void Restore()
Definition GenericWindow.cpp:64
virtual APPLICATIONCORE_API bool IsMinimized() const
Definition GenericWindow.cpp:96
virtual APPLICATIONCORE_API void Show()
Definition GenericWindow.cpp:69
virtual APPLICATIONCORE_API void SetNativeWindowButtonsVisibility(bool bVisible)
Definition GenericWindow.cpp:213
virtual APPLICATIONCORE_API void SetText(const TCHAR *const Text)
Definition GenericWindow.cpp:168
virtual APPLICATIONCORE_API bool IsForegroundWindow() const
Definition GenericWindow.cpp:156
virtual APPLICATIONCORE_API bool IsMaximized() const
Definition GenericWindow.cpp:90
virtual APPLICATIONCORE_API EWindowMode::Type GetWindowMode() const
Definition GenericWindow.cpp:84
virtual APPLICATIONCORE_API void Minimize()
Definition GenericWindow.cpp:54
virtual APPLICATIONCORE_API int32 GetWindowBorderSize() const
Definition GenericWindow.cpp:139
virtual APPLICATIONCORE_API void Hide()
Definition GenericWindow.cpp:74
virtual APPLICATIONCORE_API void Maximize()
Definition GenericWindow.cpp:59
virtual APPLICATIONCORE_API void BringToFront(bool bForce=false)
Definition GenericWindow.cpp:39
virtual APPLICATIONCORE_API float GetDPIScaleFactor() const
Definition GenericWindow.cpp:187
virtual APPLICATIONCORE_API void ReshapeWindow(int32 X, int32 Y, int32 Width, int32 Height)
Definition GenericWindow.cpp:19
virtual APPLICATIONCORE_API bool IsVisible() const
Definition GenericWindow.cpp:102
virtual APPLICATIONCORE_API void SetWindowFocus()
Definition GenericWindow.cpp:118
virtual APPLICATIONCORE_API void SetOpacity(const float InOpacity)
Definition GenericWindow.cpp:123
virtual APPLICATIONCORE_API bool IsPointInWindow(int32 X, int32 Y) const
Definition GenericWindow.cpp:133
virtual APPLICATIONCORE_API void MoveWindowTo(int32 X, int32 Y)
Definition GenericWindow.cpp:34
virtual APPLICATIONCORE_API void Destroy()
Definition GenericWindow.cpp:49
virtual APPLICATIONCORE_API void SetWindowMode(EWindowMode::Type InNewWindowMode)
Definition GenericWindow.cpp:79
Definition MacApplication.h:139
Definition MacWindow.h:14
int32 PositionY
Definition MacWindow.h:83
int32 PositionX
Definition MacWindow.h:82
virtual void * GetOSWindowHandle() const override
Definition MacWindow.h:70
Definition SharedPointer.h:1640
Definition SharedPointer.h:153
Type
Definition GenericWindow.h:17