UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SWindowTitleBarArea.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "Layout/Margin.h"
7#include "Input/Reply.h"
8#include "Widgets/SWidget.h"
9#include "Layout/Children.h"
10#include "Widgets/SPanel.h"
11#include "Widgets/SBoxPanel.h"
12#include "Styling/SlateTypes.h"
14
15
17class FPaintArgs;
19class SWindow;
20
21template< typename ObjectType > class TAttribute;
22
24 : public SPanel
25{
26public:
27
29
33 , _Padding( 0.0f )
34 , _Content()
35 { }
36
39
40
42
43
45
46
47 SLATE_DEFAULT_SLOT( FArguments, Content )
48
49
50 SLATE_EVENT( FSimpleDelegate, RequestToggleFullscreen )
51
53
56
57 SLATE_API void Construct( const FArguments& InArgs );
58
62 SLATE_API virtual int32 OnPaint( const FPaintArgs& Args, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled ) const override;
63
65
67
70
73
76
79
81 {
82 GameWindow = Window;
83 }
84
89
94
96 {
97 bIsCloseButtonActive = bIsAcive;
98 }
99
100 void SetWindowButtonsVisibility(bool bIsVisible)
101 {
103 }
104
106 {
107 MinimizeButtonStyle = InMinimizeButtonStyle;
108 MaximizeButtonStyle = InMaximizeButtonStyle;
109 RestoreButtonStyle = InRestoreButtonStyle;
110 CloseButtonStyle = InCloseButtonStyle;
111 }
112
113protected:
114
116
117private:
118
119 TSharedPtr<SWindow> GameWindow;
120 FSimpleDelegate RequestToggleFullscreen;
121
122 static SLATE_API FSimpleDelegate OnCloseButtonClicked;
123 static SLATE_API bool bIsCloseButtonActive;
124
125 static SLATE_API FButtonStyle MinimizeButtonStyle;
126 static SLATE_API FButtonStyle MaximizeButtonStyle;
127 static SLATE_API FButtonStyle RestoreButtonStyle;
128 static SLATE_API FButtonStyle CloseButtonStyle;
129
130 bool bIsMinimizeButtonEnabled;
131 bool bIsMaximizeRestoreButtonEnabled;
132 bool bIsCloseButtonEnabled;
133
134 SLATE_API FReply MinimizeButton_OnClicked();
135 SLATE_API FReply MaximizeRestoreButton_OnClicked();
136 SLATE_API FReply CloseButton_OnClicked();
137
138 SLATE_API const FSlateBrush* GetMinimizeImage() const;
139 SLATE_API const FSlateBrush* GetMaximizeRestoreImage() const;
140 SLATE_API const FSlateBrush* GetCloseImage() const;
141
142 TSharedPtr<SButton> MinimizeButton;
143 TSharedPtr<SButton> MaximizeRestoreButton;
144 TSharedPtr<SButton> CloseButton;
145
146 TSharedPtr<SVerticalBox> WindowButtonsBox;
147};
#define PLATFORM_DESKTOP
Definition AndroidPlatform.h:33
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
#define SLATE_ATTRIBUTE(AttrType, AttrName)
Definition DeclarativeSyntaxSupport.h:192
#define SLATE_EVENT(DelegateName, EventName)
Definition DeclarativeSyntaxSupport.h:458
#define SLATE_END_ARGS()
Definition DeclarativeSyntaxSupport.h:116
#define SLATE_DEFAULT_SLOT(DeclarationType, SlotName)
Definition DeclarativeSyntaxSupport.h:444
#define SLATE_ARGUMENT(ArgType, ArgName)
Definition DeclarativeSyntaxSupport.h:208
EHorizontalAlignment
Definition SlateEnums.h:174
EVerticalAlignment
Definition SlateEnums.h:194
Definition ArrangedChildren.h:15
Definition ChildrenBase.h:27
Definition PaintArgs.h:23
Definition Reply.h:24
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition WidgetStyle.h:15
Definition SPanel.h:30
void Construct()
Definition SPanel.h:65
virtual SLATECORE_API void SetVisibility(TAttribute< EVisibility > InVisibility) override final
Definition SPanel.cpp:45
Definition SWidget.h:165
Definition SWindowTitleBarArea.h:25
SLATE_API void SetVAlign(EVerticalAlignment VAlign)
Definition SWindowTitleBarArea.cpp:189
void SetWindowButtonsVisibility(bool bIsVisible)
Definition SWindowTitleBarArea.h:100
static void SetCustomStyleForWindowButtons(const FButtonStyle &InMinimizeButtonStyle, const FButtonStyle &InMaximizeButtonStyle, const FButtonStyle &InRestoreButtonStyle, const FButtonStyle &InCloseButtonStyle)
Definition SWindowTitleBarArea.h:105
SLATE_API void SetContent(const TSharedRef< SWidget > &InContent)
Definition SWindowTitleBarArea.cpp:176
void SetRequestToggleFullscreenCallback(FSimpleDelegate InRequestToggleFullscreen)
Definition SWindowTitleBarArea.h:85
static void SetIsCloseButtonActive(bool bIsAcive)
Definition SWindowTitleBarArea.h:95
SLATE_API void SetPadding(TAttribute< FMargin > InPadding)
Definition SWindowTitleBarArea.cpp:194
SLATE_BEGIN_ARGS(SWindowTitleBarArea)
Definition SWindowTitleBarArea.h:30
virtual SLATE_API FVector2D ComputeDesiredSize(float) const override
Definition SWindowTitleBarArea.cpp:199
SLATE_API void SetHAlign(EHorizontalAlignment HAlign)
Definition SWindowTitleBarArea.cpp:184
virtual SLATE_API EWindowZone::Type GetWindowZoneOverride() const override
Definition SWindowTitleBarArea.cpp:268
FSlot ChildSlot
Definition SWindowTitleBarArea.h:115
virtual SLATE_API FReply OnMouseButtonDoubleClick(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override
Definition SWindowTitleBarArea.cpp:253
static void SetOnCloseButtonClickedDelegate(FSimpleDelegate InOnCloseCuttonClicked)
Definition SWindowTitleBarArea.h:90
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SWindowTitleBarArea.cpp:235
virtual SLATE_API FChildren * GetChildren() override
Definition SWindowTitleBarArea.cpp:230
virtual SLATE_API void OnArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SWindowTitleBarArea.cpp:211
void SetGameWindow(TSharedPtr< SWindow > Window)
Definition SWindowTitleBarArea.h:80
Definition SWindow.h:243
Definition Attribute.h:17
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition GenericApplicationMessageHandler.h:81
static SLATECORE_API const EVisibility Visible
Definition Visibility.h:14
static SLATECORE_API const EVisibility Collapsed
Definition Visibility.h:17
Definition SlateTypes.h:509
Definition Geometry.h:40
Definition Margin.h:17
Definition Events.h:695
Definition SlateBrush.h:239