UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateApplication.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"
6#include "Misc/Attribute.h"
7#include "InputCoreTypes.h"
10#include "Layout/Visibility.h"
12#include "Styling/SlateColor.h"
13#include "Layout/SlateRect.h"
17#include "Input/Events.h"
18#include "Input/DragAndDrop.h"
19#include "Input/Reply.h"
20#include "Widgets/SWidget.h"
21#include "Widgets/SWindow.h"
26#include "Widgets/IToolTip.h"
27#include "Layout/WidgetPath.h"
31#include "SlateApplication.generated.h"
32
34#if WITH_ACCESSIBILITY
36#endif
37class IInputInterface;
38class IInputProcessor;
45class SViewport;
46class FSlateUser;
48
50
53
57
58
60
62
63
66{
67 public:
68
73 SLATE_API void SendNotifications( const FWidgetPath& WidgetsUnderCursor );
74
82
89 SLATE_API void UnregisterClickNotification(FDelegateHandle InHandle);
90
91 private:
92
94 struct FClickSubscriber
95 {
97 : DetectClicksOutsideMe( DetectClicksOutsideThisWidget )
99 {}
100
101 bool ShouldKeep() const
102 {
103 return DetectClicksOutsideMe.IsValid() && Notification.IsBound();
104 }
105
107 TWeakPtr<SWidget> DetectClicksOutsideMe;
110 };
111
113 TArray<FClickSubscriber> ClickZoneNotifications;
114};
115
120{
121public:
122
123 virtual ~ISlateInputManager() = default;
124
125 virtual int32 GetUserIndexForMouse() const = 0;
126 virtual int32 GetUserIndexForKeyboard() const = 0;
127
130
132 {
133 // There is a 1:1 mapping of the platform user ID to a slate user index.
134 return GetUserIndexForPlatformUser(IPlatformInputDeviceMapper::Get().GetUserForInputDevice(InputDeviceId));
135 }
136
138 {
139 // There is a 1:1 mapping of the platform user ID to a slate user index.
140 return PlatformUser.GetInternalId();
141 }
142
143 virtual int32 GetUserIndexForController(int32 ControllerId) const { return ControllerId; }
145};
146
148{
149public:
150 virtual int32 GetUserIndexForMouse() const override { return 0; }
151 virtual int32 GetUserIndexForKeyboard() const override { return 0; }
152
157
162
163 virtual int32 GetUserIndexForController(int32 ControllerId) const override { return ControllerId; }
164 virtual TOptional<int32> GetUserIndexForController(int32 ControllerId, FKey InKey) const override { return GetUserIndexForController(ControllerId); }
165};
166
168{
170 Time = 1 << 0,
171
173 PlatformAndInput = 1 << 1,
174
176 Widgets = 1 << 2,
177
180
183};
184
186
188UENUM()
190{
192 Overlay = 0,
194 PreEngine,
196 Engine,
198 PreEditor,
200 Editor,
202 PreGame,
204 Game,
205
207 Count
208};
209
212UENUM()
214{
216 Menu = 0,
218 ToolTip
219};
220
221USTRUCT()
223{
225
226 UPROPERTY(Config)
228
229 UPROPERTY(Config)
231
232 bool operator==(const FInputPreprocessorRegistrationKey& Other) const
233 {
234 return Type == Other.Type && Priority == Other.Priority;
235 }
236};
237
248
250 : public FSlateApplicationBase
252{
253public:
254
257
258public:
259
265 const float GetAverageDeltaTime() const
266 {
267 return AverageDeltaTime;
268 }
269
275 const float GetDeltaTime() const
276 {
277 return (float)( CurrentTime - LastTickTime );
278 }
279
288 {
289 return AverageDeltaTimeForResponsiveness;
290 }
291
292public:
293
294 static SLATE_API void Create();
296
298
300
301 static SLATE_API void InitializeCoreStyle();
302
308 static bool IsInitialized()
309 {
310 return CurrentApplication.IsValid();
311 }
312
320 {
321 check( CurrentApplication.IsValid() );
323 return *CurrentApplication;
324 }
325
326 static SLATE_API void Shutdown(bool bShutdownPlatform = true);
327
330
332 static SLATE_API void InitHighDPI(const bool bForceEnable);
333
335 SLATE_API const class FStyleNode* GetRootStyle() const;
336
344
347
349 SLATE_API void PlaySound( const FSlateSound& SoundToPlay, int32 UserIndex = 0 ) const;
350
352 SLATE_API float GetSoundDuration(const FSlateSound& Sound) const;
353
355
358
360
363
369 SLATE_API void SetCursorPos( const FVector2D& MouseCoordinate ) override;
370
378
383
386
389
392
395
397 SLATE_API bool IsTicking() const;
398
400 SLATE_API void PumpMessages();
401
403 SLATE_API bool CanAddModalWindow() const;
404
406 SLATE_API bool CanDisplayWindows() const;
407
410
413
416
417 UE_DEPRECATED(4.24, "GetNavigationActionForKey doesn't handle multiple users properly, use GetNavigationActionFromKey instead")
419
429
432
435
447
463 SLATE_API TSharedPtr<IMenu> PushMenu(const TSharedRef<SWidget>& InParentWidget, const FWidgetPath& InOwnerPath, const TSharedRef<SWidget>& InContent, const UE::Slate::FDeprecateVector2DParameter& SummonLocation, const FPopupTransitionEffect& TransitionEffect, const bool bFocusImmediately = true, const UE::Slate::FDeprecateVector2DParameter& SummonLocationSize = FVector2f::ZeroVector, TOptional<EPopupMethod> Method = TOptional<EPopupMethod>(), const bool bIsCollapsedByParent = true, const int32 FocusUserIndex = INDEX_NONE);
464
478 SLATE_API TSharedPtr<IMenu> PushMenu(const TSharedPtr<IMenu>& InParentMenu, const TSharedRef<SWidget>& InContent, const UE::Slate::FDeprecateVector2DParameter& SummonLocation, const FPopupTransitionEffect& TransitionEffect, const bool bFocusImmediately = true, const UE::Slate::FDeprecateVector2DParameter& SummonLocationSize = FVector2f::ZeroVector, const bool bIsCollapsedByParent = true, const int32 FocusUserIndex = INDEX_NONE);
479
494
507 SLATE_API TSharedPtr<IMenu> PushHostedMenu(const TSharedPtr<IMenu>& InParentMenu, const TSharedRef<IMenuHost>& InMenuHost, const TSharedRef<SWidget>& InContent, TSharedPtr<SWidget>& OutWrappedContent, const FPopupTransitionEffect& TransitionEffect, EShouldThrottle ShouldThrottle, const bool bIsCollapsedByParent = true);
508
511
514
522
525
528
531
538
545
553
559
565
568 FSlateTickEvent& OnPreTick() { return PreTickEvent; }
569
571 FSlateTickEvent& OnPostTick() { return PostTickEvent; }
572
574 FSimpleMulticastDelegate& OnPreShutdown() { return PreShutdownEvent; }
575
578 FUserRegisteredEvent& OnUserRegistered() { return UserRegisteredEvent; }
579
582 FOnWindowBeingDestroyed& OnWindowBeingDestroyed() { return WindowBeingDestroyedEvent; }
583
584 /* Delegate called when a menu is about to be destroyed*/
585 FOnMenuDestroyed& OnMenuBeingDestroyed() { return MenuBeingDestroyedEvent; }
586
589 FOnFocusChanging& OnFocusChanging() { return FocusChangingDelegate; }
590
597
604
612
619
625
631
636
641
646
651
656
661
662#if WITH_SLATE_DEBUGGING
670#endif // WITH_SLATE_DEBUGGING
671
680
688
691
694
699
706
707#if WITH_EDITOR
714
721
725
728#endif //WITH_EDITOR
729
736
744
751
759 void SetHandleDeviceInputWhenApplicationNotActive(bool bAllow) { bHandleDeviceInputWhenApplicationNotActive = bAllow; }
760 bool GetHandleDeviceInputWhenApplicationNotActive() const { return bHandleDeviceInputWhenApplicationNotActive; }
761
763 SLATE_API virtual void* GetMouseCaptureWindow() const;
764
767 UE_DEPRECATED(4.23, "ReleaseMouseCapture has been renamed to ReleaseAllPointerCapture()")
769
772 UE_DEPRECATED(4.23, "ReleaseMouseCaptureForUser has been renamed to ReleaseAllPointerCapture(int32 UserIndex)")
774
777
784
795
806
814
822 UE_DEPRECATED(4.23, "The FindWidgetWindow method that takes an FWidgetPath has been deprecated. If you dont need the widget path, use FindWidgetWindow(MyWidget) instead. If you need the path use GeneratePathToWidget")
824
830
835
840
845
852
858
864
870
873
875
877 SLATE_API bool IsDragDropping() const;
878
881
884
887
892 const TAttribute<bool>& GetNormalExecutionAttribute() const { return NormalExecutionGetter; }
893
898
903
909
916
917#if WITH_EDITOR
919 {
922 private:
923 int32 Id;
924 };
925#endif
926
942
953
961
964
967
973 UE_DEPRECATED(5.0, "Enable Window Animations is no longer used and is a no-op so calling this function is no longer necessary.")
975
977
983
985 UE_DEPRECATED(4.26, "SetAppIcon has been deprecated. Set \"AppIcon\" in your applications style to override the icon")
986 SLATE_API void SetAppIcon(const FSlateBrush* const InAppIcon);
987
990 {
991 bIsExternalUIOpened = bIsOpening;
992 }
993
1001
1004
1007
1013 virtual void NativeApp_ShowKeyboard( bool bShow, FString InitialString = "", int32 SelectionStart = -1, int32 SelectionEnd = -1 )
1014 {
1015 // empty default functionality
1016 }
1017
1019 SLATE_API bool SupportsSourceAccess() const;
1020
1022 SLATE_API void GotoLineInSource(const FString& FileName, int32 LineNumber) const;
1023
1025 FPopupSupport& GetPopupSupport() { return PopupSupport; }
1026
1031
1039
1047
1055
1063
1066 {
1067 return Users.IsValidIndex(UserIndex) ? Users[UserIndex] : nullptr;
1068 }
1070 {
1071 return Users.IsValidIndex(UserIndex) ? Users[UserIndex] : nullptr;
1072 }
1074 inline TSharedPtr<const FSlateUser> GetUser(const FInputEvent& InputEvent) const { return GetUser(InputEvent.GetUserIndex()); }
1075 inline TSharedPtr<FSlateUser> GetUser(const FInputEvent& InputEvent) { return GetUser(InputEvent.GetUserIndex()); }
1076
1078 {
1079 TOptional<int32> UserIndex = GetUserIndexForController(ControllerId);
1080 if (UserIndex.IsSet())
1081 {
1082 return GetUser(UserIndex.GetValue());
1083 }
1084 return nullptr;
1085 }
1087 {
1088 TOptional<int32> UserIndex = GetUserIndexForController(ControllerId);
1089 if (UserIndex.IsSet())
1090 {
1091 return GetUser(UserIndex.GetValue());
1092 }
1093 return nullptr;
1094 }
1095
1097
1099
1113
1119
1120 //@todo DanH: This is only getting called by the WidgetInteractionComponent. There's some piping to be set up here for this to be fully accurate for splitscreen
1121 SLATE_API void UnregisterUser(int32 UserIndex);
1122
1125
1126 UE_DEPRECATED(4.23, "ForEachUser now provides an FSlateUser& parameter to the lambda instead of an FSlateUser*")
1128
1134 {
1135 return FixedDeltaTime;
1136 }
1137
1142 static SLATE_API void SetFixedDeltaTime(double InSeconds);
1143
1144protected:
1150 SLATE_API TSharedRef<FSlateUser> RegisterNewUser(int32 UserIndex, bool bIsVirtual = false);
1151
1157 SLATE_API TSharedRef<FSlateUser> RegisterNewUser(FPlatformUserId PlatformUserId, bool bIsVirtual = false);
1158
1164
1170
1177
1178 inline TSharedRef<FSlateUser> GetOrCreateUser(const FInputEvent& InputEvent) { return GetOrCreateUser(InputEvent.GetUserIndex()); }
1179
1180 friend class FEventRouter;
1181
1184
1185 SLATE_API virtual bool DoesWidgetHaveMouseCaptureByUser(const TSharedPtr<const SWidget> Widget, int32 UserIndex, TOptional<int32> PointerIndex) const override;
1186 SLATE_API virtual bool DoesWidgetHaveMouseCapture(const TSharedPtr<const SWidget> Widget) const override;
1187
1188 SLATE_API virtual TOptional<EFocusCause> HasUserFocus(const TSharedPtr<const SWidget> Widget, int32 UserIndex) const override;
1190 SLATE_API virtual bool IsWidgetDirectlyHovered(const TSharedPtr<const SWidget> Widget) const override;
1191 SLATE_API virtual bool ShowUserFocus(const TSharedPtr<const SWidget> Widget) const override;
1192
1194
1196 SLATE_API void OnShutdown();
1197
1199
1201 SLATE_API void TickTime();
1202
1206 SLATE_API void TickPlatform(float DeltaTime);
1207
1211 SLATE_API void TickAndDrawWidgets(float DeltaTime);
1212
1214 SLATE_API void DrawWindows();
1215
1220
1225
1230
1235
1238
1240
1246
1247public:
1248
1257
1267
1275
1283
1292
1300
1308
1316
1324
1333
1340
1347
1354
1361
1369
1376
1380 bool IsProcessingInput() const { return ProcessingInput > 0; }
1381
1382public:
1383
1384 TSharedRef<FNavigationConfig> GetNavigationConfig() const { return NavigationConfig; }
1385
1391
1396 UE_DEPRECATED(4.20, "Returning to a simpler method of registering navigation configs.\nSetNavigationConfig, is what you should use now. Note: You'll need to store per user state information yourself if you have any, like we do for repeats with the analog stick in FNavigationConfig::UserNavigationState,\nrather than Slate creating a new Navigation Config per user.")
1398
1399public:
1400
1403
1410
1419 SLATE_API void ProcessExternalReply(const FWidgetPath& CurrentEventPath, const FReply TheReply, const int32 UserIndex = 0, const int32 PointerIndex = 10 /* todo: use the enum */);
1420
1431
1433 SLATE_API void QueryCursor();
1434
1441
1449
1451 SLATE_API void CloseToolTip();
1452
1454
1457
1460
1462 SLATE_API bool IsFakingTouchEvents() const;
1463
1465 SLATE_API void SetGameIsFakingTouchEvents(const bool bIsFaking, FVector2D* CursorLocation = nullptr);
1466
1469
1472
1475
1477 double GetLastUserInteractionTime() const { return LastUserInteractionTime; }
1478
1482
1484 SLATE_API float GetDragTriggerDistance() const;
1485
1488
1491
1495
1498
1501
1502
1509
1517
1525
1533
1539
1545 UE_DEPRECATED(5.5, "This method is deprecated and will use EInputPreProcessorType::Game as a default. For a more accurate search result, please use the new version taking a EInputPreProcessorType")
1546 SLATE_API int32 FindInputPreProcessor(TSharedPtr<class IInputProcessor> InputProcessor) const;
1547
1555
1558
1560 SLATE_API float GetCursorRadius() const;
1561
1563 SLATE_API bool GetAllowTooltips() const;
1564
1565 bool IsRenderingOffScreen() const { return bRenderOffScreen; }
1566
1567public:
1568
1569 //~ Begin FSlateApplicationBase Interface
1570
1571 virtual bool IsActive() const override
1572 {
1573 return bAppIsActive;
1574 }
1575
1577
1582
1584 {
1586 {
1587 return FSlateWindowHelper::FindPathToWidget(SlateVirtualWindows, InWidget, OutWidgetPath, VisibilityFilter);
1588 }
1589
1590 return true;
1591 }
1592
1593 virtual const double GetCurrentTime() const override
1594 {
1595 return CurrentTime;
1596 }
1597
1598 SLATE_API virtual TSharedPtr<SWindow> GetActiveTopLevelWindow() const override;
1599
1601
1602 SLATE_API virtual const FSlateBrush* GetAppIcon() const override;
1603 SLATE_API virtual const FSlateBrush* GetAppIconSmall() const override;
1604
1605 virtual float GetApplicationScale() const override { return Scale; }
1606 virtual bool GetSoftwareCursorAvailable() const override { return bSoftwareCursorAvailable; }
1607 SLATE_API virtual EVisibility GetSoftwareCursorVis() const override;
1608
1612
1614
1619
1620protected:
1621
1622 SLATE_API virtual TSharedPtr< SWidget > GetMouseCaptorImpl() const override;
1623
1624public:
1625
1626 //~ Begin FSlateApplicationBase Interface
1627
1628 SLATE_API virtual bool HasAnyMouseCaptor() const override;
1629 SLATE_API virtual bool HasUserMouseCapture(int32 UserIndex) const override;
1630 SLATE_API virtual FSlateRect GetPreferredWorkArea() const override;
1631 SLATE_API virtual bool HasFocusedDescendants( const TSharedRef<const SWidget>& Widget ) const override;
1632 SLATE_API virtual bool HasUserFocusedDescendants(const TSharedRef< const SWidget >& Widget, int32 UserIndex) const override;
1633 SLATE_API virtual bool IsExternalUIOpened() override;
1638 SLATE_API virtual TSharedRef<IToolTip> MakeToolTip( const TAttribute<FText>& ToolTipText ) override;
1639 SLATE_API virtual TSharedRef<IToolTip> MakeToolTip( const FText& ToolTipText ) override;
1641 SLATE_API virtual bool SetKeyboardFocus( const FWidgetPath& InFocusPath, const EFocusCause InCause ) override;
1642 SLATE_API virtual bool SetUserFocus(const uint32 InUserIndex, const FWidgetPath& InFocusPath, const EFocusCause InCause) override;
1644 SLATE_API virtual void SetAllUserFocus(const FWidgetPath& InFocusPath, const EFocusCause InCause) override;
1646 SLATE_API virtual TSharedPtr<SWidget> GetUserFocusedWidget(uint32 UserIndex) const override;
1648 virtual const TArray<TSharedRef<SWindow>> GetTopLevelWindows() const override { return SlateWindows; }
1649
1652
1653public:
1654
1655 //~ Begin FGenericApplicationMessageHandler Interface
1656
1658 SLATE_API virtual bool OnKeyChar( const TCHAR Character, const bool IsRepeat ) override;
1659 SLATE_API virtual bool OnKeyDown( const int32 KeyCode, const uint32 CharacterCode, const bool IsRepeat ) override;
1660 SLATE_API virtual bool OnKeyUp( const int32 KeyCode, const uint32 CharacterCode, const bool IsRepeat ) override;
1661 SLATE_API virtual void OnInputLanguageChanged() override;
1663 SLATE_API virtual bool OnMouseDown( const TSharedPtr< FGenericWindow >& PlatformWindow, const EMouseButtons::Type Button, const FVector2D CursorPos ) override;
1664 SLATE_API virtual bool OnMouseUp( const EMouseButtons::Type Button ) override;
1665 SLATE_API virtual bool OnMouseUp( const EMouseButtons::Type Button, const FVector2D CursorPos ) override;
1667 SLATE_API virtual bool OnMouseDoubleClick( const TSharedPtr< FGenericWindow >& PlatformWindow, const EMouseButtons::Type Button, const FVector2D CursorPos ) override;
1668 SLATE_API virtual bool OnMouseWheel( const float Delta ) override;
1669 SLATE_API virtual bool OnMouseWheel( const float Delta, const FVector2D CursorPos ) override;
1670 SLATE_API virtual bool OnMouseMove() override;
1671 SLATE_API virtual bool OnRawMouseMove( const int32 X, const int32 Y ) override;
1672 SLATE_API virtual bool OnCursorSet() override;
1673 SLATE_API virtual bool OnTouchGesture( EGestureEvent GestureType, const FVector2D& Delta, float WheelDelta, bool bIsDirectionInvertedFromDevice ) override;
1674 SLATE_API virtual bool OnTouchStarted( const TSharedPtr< FGenericWindow >& Window, const FVector2D& Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceId ) override;
1675 SLATE_API virtual bool OnTouchMoved( const FVector2D& Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID ) override;
1676 SLATE_API virtual bool OnTouchEnded( const FVector2D& Location, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID ) override;
1677 SLATE_API virtual bool OnTouchForceChanged(const FVector2D& Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID) override;
1678 SLATE_API virtual bool OnTouchFirstMove(const FVector2D& Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID) override;
1679 SLATE_API virtual void ShouldSimulateGesture(EGestureEvent Gesture, bool bEnable) override;
1680 SLATE_API virtual bool OnMotionDetected(const FVector& Tilt, const FVector& RotationRate, const FVector& Gravity, const FVector& Acceleration, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId) override;
1681 SLATE_API virtual bool OnControllerAnalog(FGamepadKeyNames::Type KeyName, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId, float AnalogValue) override;
1682 SLATE_API virtual bool OnControllerButtonPressed(FGamepadKeyNames::Type KeyName, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId, bool IsRepeat) override;
1683 SLATE_API virtual bool OnControllerButtonReleased(FGamepadKeyNames::Type KeyName, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId, bool IsRepeat) override;
1684 SLATE_API virtual bool OnSizeChanged( const TSharedRef< FGenericWindow >& PlatformWindow, const int32 Width, const int32 Height, bool bWasMinimized = false ) override;
1685 SLATE_API virtual void OnOSPaint( const TSharedRef< FGenericWindow >& PlatformWindow ) override;
1692 SLATE_API virtual void OnMovedWindow( const TSharedRef< FGenericWindow >& PlatformWindow, const int32 X, const int32 Y ) override;
1693 SLATE_API virtual bool OnWindowActivationChanged( const TSharedRef< FGenericWindow >& PlatformWindow, const EWindowActivation ActivationType ) override;
1694 SLATE_API virtual bool OnApplicationActivationChanged( const bool IsActive ) override;
1695 SLATE_API virtual bool OnConvertibleLaptopModeChanged() override;
1698 SLATE_API virtual EDropEffect::Type OnDragEnterText( const TSharedRef< FGenericWindow >& Window, const FString& Text ) override;
1700 SLATE_API virtual EDropEffect::Type OnDragEnterExternal( const TSharedRef< FGenericWindow >& Window, const FString& Text, const TArray< FString >& Files ) override;
1701
1703
1705 SLATE_API virtual void OnDragLeave( const TSharedPtr< FGenericWindow >& Window ) override;
1708
1709public:
1710
1720
1730
1739
1747
1756
1761
1766
1771
1776
1778 SLATE_API int32 GetUserIndexForController(int32 ControllerId) const;
1779
1784
1786
1789
1798
1801
1807 FOnModalLoopTickEvent& GetOnModalLoopTickEvent() { return ModalLoopTickEvent; }
1808
1815
1824 SLATE_API void NavigateToWidget(const uint32 UserIndex, const TSharedPtr<SWidget>& NavigationDestination, ENavigationSource NavigationSource = ENavigationSource::FocusedWidget, EUINavigation NavigationType = EUINavigation::Invalid);
1825
1834
1845
1851
1857
1862
1863public:
1864#if WITH_EDITORONLY_DATA
1866#endif
1867
1869
1870private:
1871
1873
1879 SLATE_API void PrivateDestroyWindow( const TSharedRef<SWindow>& DestroyedWindow );
1880
1886 SLATE_API bool AttemptNavigation(const FWidgetPath& NavigationSource, const FNavigationEvent& NavigationEvent, const FNavigationReply& NavigationReply, const FArrangedWidget& BoundaryWidget);
1887
1893 SLATE_API bool ExecuteNavigation(const FWidgetPath& NavigationSource, TSharedPtr<SWidget> DestinationWidget, const uint32 UserIndex, bool bAlwaysHandleNavigationAttempt);
1894
1895
1896 /* Event receiver for when a menu in the menu stack is destroyed */
1897 SLATE_API void OnMenuDestroyed(const TSharedRef<IMenu>& Menu);
1898
1899private:
1901 SLATE_API void SetLastUserInteractionTime(const double InCurrentTime);
1903
1904private:
1909 SLATE_API void OnVirtualDesktopSizeChanged(const FDisplayMetrics& NewDisplayMetric);
1910
1912 static SLATE_API TSharedPtr< FSlateApplication > CurrentApplication;
1913
1914 TSet<FKey> PressedMouseButtons;
1915
1917 bool bAppIsActive;
1918
1920 bool bSlateWindowActive;
1921
1923 bool bRenderOffScreen;
1924
1926 float Scale;
1927
1929 float DragTriggerDistance;
1930
1932 TArray< TSharedRef<SWindow> > SlateWindows;
1933
1935 TArray< TSharedRef<SWindow> > SlateVirtualWindows;
1936
1938 TWeakPtr<SWindow> ActiveTopLevelWindow;
1939
1941 TArray< TSharedPtr<SWindow> > ActiveModalWindows;
1942
1944 TArray< TSharedRef<SWindow> > WindowDestroyQueue;
1945
1947 FMenuStack MenuStack;
1948
1950 float CursorRadius;
1951
1953 uint32 DrawId;
1954
1962
1965
1967 TWeakPtr<SWidget> LastAllUsersFocusWidget;
1968 EFocusCause LastAllUsersFocusCause;
1969
1971 TWeakPtr<SWidget> CurrentDebugContextWidget;
1972 TWeakPtr<SWindow> CurrentDebuggingWindow;
1973
1979 FThrottleRequest MouseButtonDownResponsivnessThrottle;
1980
1982 FThrottleRequest UserInteractionResponsivnessThrottle;
1983
1985 double LastUserInteractionTime;
1986
1988 double LastUserInteractionTimeForThrottling;
1989
1991 FSlateLastUserInteractionTimeUpdateEvent LastUserInteractionTimeUpdateEvent;
1992
1994 double LastMouseMoveTime;
1995
1997 FPopupSupport PopupSupport;
1998
2000 TWeakPtr<SViewport> GameViewportWidget;
2001
2002#if WITH_EDITOR
2005
2008#endif
2009
2011 TWeakPtr<SNotificationItem> DebuggingModeNotificationMessage;
2012
2013 TSharedPtr<ISlateSoundDevice> SlateSoundDevice;
2014
2016 double CurrentTime;
2017
2019 double LastTickTime;
2020
2022 float AverageDeltaTime;
2023
2026 float AverageDeltaTimeForResponsiveness;
2027
2028
2033 FSimpleDelegate OnExitRequested;
2034
2036 TWeakPtr<IWidgetReflector> WidgetReflectorPtr;
2037
2039 FAccessSourceCode SourceCodeAccessDelegate;
2040
2042 FQueryAccessSourceCode QuerySourceCodeAccessDelegate;
2043
2045 FAccessAsset AssetAccessDelegate;
2046
2048 int32 NumExternalModalWindowsActive;
2049
2051 TArray<FOnWindowAction> OnWindowActionNotifications;
2052
2054 const class FStyleNode* RootStyleNode;
2055
2057 bool bRequestLeaveDebugMode;
2059 bool bLeaveDebugForSingleStep;
2060 TAttribute<bool> NormalExecutionGetter;
2061
2067 FModalWindowStackStarted ModalWindowStackStartedDelegate;
2068 FModalWindowStackEnded ModalWindowStackEndedDelegate;
2069
2071 bool bIsExternalUIOpened;
2072
2074 FThrottleRequest ThrottleHandle;
2075
2077 bool DragIsHandled;
2078
2083
2085 bool bIsFakingTouch;
2086
2088 bool bIsGameFakingTouch;
2089
2091 bool bIsFakingTouched;
2092
2094 bool bAllowFakingTouch;
2095
2097 bool bHandleDeviceInputWhenApplicationNotActive;
2098
2100 FOnKeyEvent UnhandledKeyDownEventHandler;
2101
2103 FOnKeyEvent UnhandledKeyUpEventHandler;
2104
2106 bool bTouchFallbackToMouse;
2107
2109 bool bSoftwareCursorAvailable;
2110
2116 bool bMenuAnimationsEnabled;
2117
2119 const FSlateBrush *AppIcon;
2120
2121 FApplicationActivationStateChangedEvent ApplicationActivationStateChangedEvent;
2122 //
2123 // Hittest 2.0
2124 //
2125
2126 // The rectangle that bounds all the physical monitors given their arrangement.
2127 // Info comes from the native platform.
2128 // e.g. On windows the origin (coordinates X=0, Y=0) is the upper left of the primary monitor,
2129 // but there could be another monitor on any of the sides.
2130 FSlateRect VirtualDesktopRect;
2131
2132 TSharedRef<FNavigationConfig> NavigationConfig;
2133
2134#if WITH_EDITOR
2138#endif
2139
2141 TBitArray<FDefaultBitArrayAllocator> SimulateGestures;
2142
2144 FSlateTickEvent PreTickEvent;
2145
2147 FSlateTickEvent PostTickEvent;
2148
2150 FSimpleMulticastDelegate PreShutdownEvent;
2151
2153 FUserRegisteredEvent UserRegisteredEvent;
2154
2156 FOnWindowBeingDestroyed WindowBeingDestroyedEvent;
2157
2159 FOnMenuDestroyed MenuBeingDestroyedEvent;
2160
2162 FOnModalLoopTickEvent ModalLoopTickEvent;
2163
2165 FOnFocusChanging FocusChangingDelegate;
2166
2168 FCriticalSection SlateTickCriticalSection;
2169
2171 int32 ProcessingInput;
2172
2174 bool bSynthesizedCursorMove = false;
2175
2177 bool bIsTicking = false;
2178
2180 bool bDisableLastDragOnDragEnter = false;
2181
2183 uint64 PlatformMouseMovementEvents = 0;
2184
2186 FVector2f LastPlatformCursorPosition = FVector2f::ZeroVector;
2187
2189 static SLATE_API double FixedDeltaTime;
2193 class InputPreProcessorsHelper
2194 {
2195 public:
2196 // Wrapper functions that call the corresponding function of IInputProcessor for each InputProcessor in the list.
2197 void Tick(const float DeltaTime, FSlateApplication& SlateApp, TSharedRef<ICursor> Cursor);
2198 bool HandleKeyDownEvent(FSlateApplication& SlateApp, const FKeyEvent& InKeyEvent);
2199 bool HandleKeyUpEvent(FSlateApplication& SlateApp, const FKeyEvent& InKeyEvent);
2200 bool HandleAnalogInputEvent(FSlateApplication& SlateApp, const FAnalogInputEvent& InAnalogInputEvent);
2201 bool HandleMouseMoveEvent(FSlateApplication& SlateApp, const FPointerEvent& MouseEvent);
2202 bool HandleMouseButtonDownEvent(FSlateApplication& SlateApp, const FPointerEvent& MouseEvent);
2203 bool HandleMouseButtonUpEvent(FSlateApplication& SlateApp, const FPointerEvent& MouseEvent);
2204 bool HandleMouseButtonDoubleClickEvent(FSlateApplication& SlateApp, const FPointerEvent& MouseEvent);
2205 bool HandleMouseWheelOrGestureEvent(FSlateApplication& SlateApp, const FPointerEvent& WheelEvent, const FPointerEvent* GestureEvent);
2206 bool HandleMotionDetectedEvent(FSlateApplication& SlateApp, const FMotionEvent& MotionEvent);
2207
2212 bool Add(const FInputPreprocessorRegistration& Registration);
2213
2218 void Remove(TSharedPtr<IInputProcessor> InputProcessor);
2219
2223 void RemoveAll();
2224
2231 int32 Find(TSharedPtr<IInputProcessor> InputProcessor, const EInputPreProcessorType& Type) const;
2232
2233 private:
2234 bool PreProcessInput(ESlateDebuggingInputEvent InputEvent, TFunctionRef<bool(IInputProcessor&)> InputProcessFunc);
2235
2236 void AddInternal(const FInputPreprocessorRegistration& Registration);
2237
2238 using FProcessorTypeStorage = TArray<TSharedPtr<IInputProcessor>>;
2239 using FInputProcessorStorage = TSparseArray<FProcessorTypeStorage, TInlineSparseArrayAllocator<(uint32)EInputPreProcessorType::Count>>;
2240
2242 FInputProcessorStorage InputPreProcessors;
2243
2245 TArray<TSharedPtr<IInputProcessor>> InputPreProcessorsIteratorList;
2246
2248 bool bIsIteratingPreProcessors = false;
2249
2251 TArray<TSharedPtr<IInputProcessor>> ProcessorsPendingRemoval;
2252
2254 TArray<FInputPreprocessorRegistration> ProcessorsPendingAddition;
2255 };
2256
2258 InputPreProcessorsHelper InputPreProcessors;
2259
2261 TSharedRef<ISlateInputManager> InputManager;
2262
2263#if WITH_EDITOR
2269
2275
2280
2285#endif // WITH_EDITOR
2286};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
#define GIntraFrameDebuggingGameThread
Definition CoreGlobals.h:234
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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
#define UE_NODISCARD_CTOR
Definition Platform.h:761
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
#define DECLARE_DELEGATE_RetVal(ReturnValueType, DelegateName)
Definition DelegateCombinations.h:41
#define DECLARE_DELEGATE(DelegateName)
Definition DelegateCombinations.h:20
#define DECLARE_EVENT_OneParam(OwningType, EventName, Param1Type)
Definition DelegateCombinations.h:51
#define DECLARE_DELEGATE_RetVal_TwoParams(ReturnValueType, DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:63
void RemoveAll(const TUniqueFunction< bool(const FDependsNode *)> &ShouldRemove, TArray< FDependsNode * > &Dependencies, TBitArray<> *FlagBits, bool IsSorted, EAllowShrinking ShrinkPolicy)
Definition DependsNode.cpp:614
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
EFocusCause
Definition Events.h:25
return true
Definition ExternalRpcRegistry.cpp:601
#define X(Name, Desc)
Definition FormatStringSan.h:47
EWindowActivation
Definition GenericApplicationMessageHandler.h:74
EGestureEvent
Definition GenericApplicationMessageHandler.h:138
EWindowTransparency
Definition GenericWindowDefinition.h:35
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
EPopupMethod
Definition PopupMethodReply.h:9
EShouldThrottle
Definition PopupMethodReply.h:17
EPopupCursorOverlapMode
Definition SlateApplicationBase.h:100
EInputPreProcessorType
Definition SlateApplication.h:190
ESlateTickType
Definition SlateApplication.h:168
EPopupLayoutMode
Definition SlateApplication.h:214
ESlateDebuggingInputEvent
Definition SlateDebugging.h:43
FAccessSourceCode
Definition SlateDelegates.h:244
EOrientation
Definition SlateEnums.h:261
EUINavigationAction
Definition SlateEnums.h:124
EUINavigation
Definition SlateEnums.h:99
ENavigationSource
Definition SlateEnums.h:145
ESlateParentWindowSearchMethod
Definition SlateTypes.h:40
CORE_API bool IsInSlateThread()
Definition ThreadingBase.cpp:222
CORE_API bool IsInParallelLoadingThread()
Definition ThreadingBase.cpp:212
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
bool(* IsInAsyncLoadingThread)()
Definition ThreadingBase.cpp:357
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ArrangedWidget.h:18
Definition CursorReply.h:16
Definition IDelegateInstance.h:14
Definition DragAndDrop.h:141
Definition SlateApplication.cpp:239
Definition GenericApplicationMessageHandler.h:209
Definition GenericWindow.h:94
Definition MenuStack.h:73
Definition GenericApplication.h:75
Definition NameTypes.h:617
Definition NavigationConfig.h:61
Definition NavigationReply.h:43
Definition UnrealType.h:3087
Definition SlateApplication.h:66
Definition Reply.h:24
Definition SlateApplicationBase.h:114
static SLATECORE_API TSharedPtr< class GenericApplication > PlatformApplication
Definition SlateApplicationBase.h:636
SLATECORE_API static const uint32 CursorUserIndex
Definition SlateApplicationBase.h:541
Definition SlateApplication.h:252
SLATE_API bool RoutePointerMoveEvent(const FWidgetPath &WidgetsUnderPointer, const FPointerEvent &PointerEvent, bool bIsSynthetic)
Definition SlateApplication.cpp:5583
virtual SLATE_API void FinishedReshapingWindow(const TSharedRef< FGenericWindow > &PlatformWindow) override
Definition SlateApplication.cpp:6892
SLATE_API void OverridePlatformTextField(TUniquePtr< IPlatformTextField > PlatformTextField)
Definition SlateApplication.cpp:1091
SLATE_API bool IsTicking() const
Definition SlateApplication.cpp:1645
virtual SLATE_API bool OnKeyDown(const int32 KeyCode, const uint32 CharacterCode, const bool IsRepeat) override
Definition SlateApplication.cpp:4863
DECLARE_EVENT_OneParam(FSlateApplication, FOnModalLoopTickEvent, float)
FUserRegisteredEvent & OnUserRegistered()
Definition SlateApplication.h:578
SLATE_API void SetPlatformApplication(const TSharedRef< class GenericApplication > &InPlatformApplication)
Definition SlateApplication.cpp:757
virtual SLATE_API bool OnControllerButtonReleased(FGamepadKeyNames::Type KeyName, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId, bool IsRepeat) override
Definition SlateApplication.cpp:6573
SLATE_API void PollGameDeviceState()
Definition SlateApplication.cpp:1504
SLATE_API void EnableMenuAnimations(const bool bEnableAnimations)
Definition SlateApplication.cpp:4182
TSharedPtr< FSlateUser > GetUserFromControllerId(int32 ControllerId)
Definition SlateApplication.h:1077
SLATE_API TSharedPtr< class FDragDropOperation > GetDragDroppingContent() const
Definition SlateApplication.cpp:7559
SLATE_API TSharedPtr< IMenu > FindMenuInWidgetPath(const FWidgetPath &InWidgetPath) const
Definition SlateApplication.cpp:2350
SLATE_API TSharedRef< FSlateVirtualUserHandle > FindOrCreateVirtualUser(int32 VirtualUserIndex)
Definition SlateApplication.cpp:4430
virtual const double GetCurrentTime() const override
Definition SlateApplication.h:1593
SLATE_API bool GetTransformFullscreenMouseInput() const
Definition SlateApplication.cpp:2668
SLATE_API void SetUnhandledKeyUpEventHandler(const FOnKeyEvent &NewHandler)
Definition SlateApplication.cpp:3952
SLATE_API void DismissAllMenus()
Definition SlateApplication.cpp:2365
virtual SLATE_API TSharedRef< IToolTip > MakeToolTip(const TAttribute< FText > &ToolTipText) override
Definition SlateApplication.cpp:4780
SLATE_API TSharedRef< SWindow > AddWindowAsNativeChild(TSharedRef< SWindow > InSlateWindow, TSharedRef< SWindow > InParentWindow, const bool bShowImmediately=true)
Definition SlateApplication.cpp:2258
bool GetHandleDeviceInputWhenApplicationNotActive() const
Definition SlateApplication.h:760
virtual SLATE_API bool OnSizeChanged(const TSharedRef< FGenericWindow > &PlatformWindow, const int32 Width, const int32 Height, bool bWasMinimized=false) override
Definition SlateApplication.cpp:6809
virtual bool FindPathToWidget(TSharedRef< const SWidget > InWidget, FWidgetPath &OutWidgetPath, EVisibility VisibilityFilter=EVisibility::Visible) override
Definition SlateApplication.h:1583
SLATE_API bool ProcessMouseButtonDoubleClickEvent(const TSharedPtr< FGenericWindow > &PlatformWindow, const FPointerEvent &InMouseEvent)
Definition SlateApplication.cpp:5917
FPopupSupport & GetPopupSupport()
Definition SlateApplication.h:1025
virtual SLATE_API const FSlateBrush * GetAppIconSmall() const override
Definition SlateApplication.cpp:4201
virtual SLATE_API bool OnWindowActivationChanged(const TSharedRef< FGenericWindow > &PlatformWindow, const EWindowActivation ActivationType) override
Definition SlateApplication.cpp:6965
virtual SLATE_API void OnResizingWindow(const TSharedRef< FGenericWindow > &PlatformWindow) override
Definition SlateApplication.cpp:6871
SLATE_API bool ProcessKeyDownEvent(const FKeyEvent &InKeyEvent)
Definition SlateApplication.cpp:4871
SLATE_API int32 GetUserIndexForMouse() const
Definition SlateApplication.cpp:2570
SLATE_API bool AreMenuAnimationsEnabled() const
Definition SlateApplication.cpp:4176
DECLARE_EVENT_OneParam(FSlateApplication, FSlateLastUserInteractionTimeUpdateEvent, double)
SLATE_API bool CanAddModalWindow() const
Definition SlateApplication.cpp:2030
virtual SLATE_API bool OnTouchForceChanged(const FVector2D &Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID) override
Definition SlateApplication.cpp:6710
virtual SLATE_API bool OnTouchFirstMove(const FVector2D &Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID) override
Definition SlateApplication.cpp:6732
virtual SLATE_API bool OnConvertibleLaptopModeChanged() override
Definition SlateApplication.cpp:7164
SLATE_API void ExternalModalStop()
Definition SlateApplication.cpp:2467
SLATE_API void ForceRedrawWindow(const TSharedRef< SWindow > &InWindowToDraw)
Definition SlateApplication.cpp:4317
virtual bool GetSoftwareCursorAvailable() const override
Definition SlateApplication.h:1606
SLATE_API void DestroyWindowImmediately(TSharedRef< SWindow > WindowToDestroy)
Definition SlateApplication.cpp:2424
SLATE_API void SetAllUserFocusToGameViewport(EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2625
SLATE_API void RegisterVirtualWindow(TSharedRef< SWindow > InWindow)
Definition SlateApplication.cpp:2542
SLATE_API void DestroyWindowsImmediately()
Definition SlateApplication.cpp:3196
TSharedPtr< const FSlateUser > GetUser(const FInputEvent &InputEvent) const
Definition SlateApplication.h:1074
SLATE_API bool HasOpenSubMenus(TSharedPtr< IMenu > InMenu) const
Definition SlateApplication.cpp:2340
SLATE_API bool HasTraveledFarEnoughToTriggerDrag(const FPointerEvent &PointerEvent, const UE::Slate::FDeprecateVector2DParameter ScreenSpaceOrigin) const
Definition SlateApplication.cpp:3967
SLATE_API void SetExitRequestedHandler(const FSimpleDelegate &OnExitRequestedHandler)
Definition SlateApplication.cpp:3241
virtual SLATE_API void OnWindowClose(const TSharedRef< FGenericWindow > &PlatformWindow) override
Definition SlateApplication.cpp:7239
SLATE_API bool RegisterInputPreProcessor(TSharedPtr< class IInputProcessor > InputProcessor)
Definition SlateApplication.cpp:3999
SLATE_API void LeaveDebuggingMode(bool bLeavingDebugForSingleStep=false)
Definition SlateApplication.cpp:3918
virtual SLATE_API EWindowZone::Type GetWindowZoneForPoint(const TSharedRef< FGenericWindow > &PlatformWindow, const int32 X, const int32 Y) override
Definition SlateApplication.cpp:7188
SLATE_API bool ProcessKeyUpEvent(const FKeyEvent &InKeyEvent)
Definition SlateApplication.cpp:4996
static SLATE_API void InitHighDPI(const bool bForceEnable)
Definition SlateApplication.cpp:998
static SLATE_API void SetFixedDeltaTime(double InSeconds)
Definition SlateApplication.cpp:4569
SLATE_API FDelegateHandle RegisterOnWindowActionNotification(const FOnWindowAction &Notification)
Definition SlateApplication.cpp:2821
virtual SLATE_API bool OnKeyChar(const TCHAR Character, const bool IsRepeat) override
Definition SlateApplication.cpp:4813
SLATE_API void UnregisterVirtualWindow(TSharedRef< SWindow > InWindow)
Definition SlateApplication.cpp:2547
SLATE_API void AddModalWindow(TSharedRef< SWindow > InSlateWindow, const TSharedPtr< const SWidget > InParentWidget, bool bSlowTaskWindow=false)
Definition SlateApplication.cpp:2088
SLATE_API void SetNavigationConfig(TSharedRef< FNavigationConfig > InNavigationConfig)
Definition SlateApplication.cpp:7153
virtual SLATE_API void HandleDPIScaleChanged(const TSharedRef< FGenericWindow > &Window) override
Definition SlateApplication.cpp:6921
SLATE_API bool ProcessDragEnterEvent(TSharedRef< SWindow > WindowEntered, const FDragDropEvent &DragDropEvent)
Definition SlateApplication.cpp:7333
void SetHandleDeviceInputWhenApplicationNotActive(bool bAllow)
Definition SlateApplication.h:759
SLATE_API TOptional< int32 > GetUserIndexForInputDevice(FInputDeviceId InputDeviceId) const
Definition SlateApplication.cpp:2600
SLATE_API const class FStyleNode * GetRootStyle() const
Definition SlateApplication.cpp:1028
SLATE_API FInputDeviceId GetInputDeviceIdForMouse() const
Definition SlateApplication.cpp:2580
virtual SLATE_API bool ShowUserFocus(const TSharedPtr< const SWidget > Widget) const override
Definition SlateApplication.cpp:4700
SLATE_API void ClearUserFocus(uint32 UserIndex, EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2746
SLATE_API void ProcessTouchEndedEvent(const FPointerEvent &InTouchEvent)
Definition SlateApplication.cpp:6701
virtual SLATE_API bool IsExternalUIOpened() override
Definition SlateApplication.cpp:4753
virtual SLATE_API bool IsWidgetDirectlyHovered(const TSharedPtr< const SWidget > Widget) const override
Definition SlateApplication.cpp:4688
SLATE_API const TSet< FKey > & GetPressedMouseButtons() const
Definition SlateApplication.cpp:2890
virtual SLATE_API TSharedPtr< SWindow > GetActiveTopLevelRegularWindow() const override
Definition SlateApplication.cpp:2900
SLATE_API void GeneratePathToWidgetChecked(TSharedRef< const SWidget > InWidget, FWidgetPath &OutWidgetPath, EVisibility VisibilityFilter=EVisibility::Visible) const
Definition SlateApplication.cpp:3258
SLATE_API void TickPlatform(float DeltaTime)
Definition SlateApplication.cpp:1663
virtual SLATE_API bool HasFocusedDescendants(const TSharedRef< const SWidget > &Widget) const override
Definition SlateApplication.cpp:4741
virtual SLATE_API bool OnApplicationActivationChanged(const bool IsActive) override
Definition SlateApplication.cpp:7100
virtual void ArrangeWindowToFrontVirtual(TArray< TSharedRef< SWindow > > &Windows, const TSharedRef< SWindow > &WindowToBringToFront) override
Definition SlateApplication.h:1578
virtual SLATE_API bool OnWindowAction(const TSharedRef< FGenericWindow > &PlatformWindow, const EWindowAction::Type InActionType) override
Definition SlateApplication.cpp:7436
bool SupportsSystemHelp() const
Definition SlateApplication.h:357
virtual SLATE_API void ShouldSimulateGesture(EGestureEvent Gesture, bool bEnable) override
Definition SlateApplication.cpp:6754
virtual SLATE_API EDropEffect::Type OnDragEnterFiles(const TSharedRef< FGenericWindow > &Window, const TArray< FString > &Files) override
Definition SlateApplication.cpp:7277
void SetWidgetReflectorQuerySourceAccessDelegate(FQueryAccessSourceCode QueryAccessDelegate)
Definition SlateApplication.h:860
TSharedRef< FNavigationConfig > GetNavigationConfig() const
Definition SlateApplication.h:1384
void SetNavigationConfigFactory(TFunction< TSharedRef< FNavigationConfig >()> InNavigationConfigFactory)
Definition SlateApplication.h:1397
SLATE_API void DrawWindowAndChildren(const TSharedRef< SWindow > &WindowToDraw, struct FDrawWindowArgs &DrawWindowArgs)
Definition SlateApplication.cpp:1200
SLATE_API void ProcessTouchMovedEvent(const FPointerEvent &InTouchEvent)
Definition SlateApplication.cpp:6672
virtual SLATE_API bool OnTouchGesture(EGestureEvent GestureType, const FVector2D &Delta, float WheelDelta, bool bIsDirectionInvertedFromDevice) override
Definition SlateApplication.cpp:6586
FSimpleMulticastDelegate & OnPreShutdown()
Definition SlateApplication.h:574
TSharedPtr< const FSlateUser > GetCursorUser() const
Definition SlateApplication.h:1101
SLATE_API bool SupportsSourceAccess() const
Definition SlateApplication.cpp:4297
void SetApplicationScale(float InScale)
Definition SlateApplication.h:872
virtual SLATE_API TSharedPtr< SWindow > GetActiveTopLevelWindow() const override
Definition SlateApplication.cpp:2895
SLATE_API EDropEffect::Type OnDragEnter(const TSharedRef< SWindow > &Window, const TSharedRef< FExternalDragOperation > &DragDropOperation)
Definition SlateApplication.cpp:7305
bool InKismetDebuggingMode() const
Definition SlateApplication.h:902
virtual void NativeApp_ShowKeyboard(bool bShow, FString InitialString="", int32 SelectionStart=-1, int32 SelectionEnd=-1)
Definition SlateApplication.h:1013
SLATE_API FReply RoutePointerUpEvent(const FWidgetPath &WidgetsUnderPointer, const FPointerEvent &PointerEvent)
Definition SlateApplication.cpp:5438
SLATE_API void UpdateToolTip(bool bAllowSpawningOfNewToolTips)
Definition SlateApplication.cpp:3705
SLATE_API void OnShutdown()
Definition SlateApplication.cpp:3172
virtual SLATE_API TSharedPtr< SWidget > GetKeyboardFocusedWidget() const override
Definition SlateApplication.cpp:4599
virtual SLATE_API EUINavigationAction GetNavigationActionForKey(const FKey &InKey) const override
Definition SlateApplication.cpp:2080
virtual SLATE_API void OnOSPaint(const TSharedRef< FGenericWindow > &PlatformWindow) override
Definition SlateApplication.cpp:6845
virtual SLATE_API bool OnMotionDetected(const FVector &Tilt, const FVector &RotationRate, const FVector &Gravity, const FVector &Acceleration, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId) override
Definition SlateApplication.cpp:6761
virtual SLATE_API bool BeginReshapingWindow(const TSharedRef< FGenericWindow > &PlatformWindow) override
Definition SlateApplication.cpp:6877
virtual SLATE_API void OnDragLeave(const TSharedPtr< FGenericWindow > &Window) override
Definition SlateApplication.cpp:7403
static SLATE_API void Create()
Definition SlateApplication.cpp:787
SLATE_API void ClearAllUserFocus(EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2751
virtual SLATE_API bool HasUserFocusedDescendants(const TSharedRef< const SWidget > &Widget, int32 UserIndex) const override
Definition SlateApplication.cpp:4735
virtual SLATE_API bool OnMouseDown(const TSharedPtr< FGenericWindow > &PlatformWindow, const EMouseButtons::Type Button) override
Definition SlateApplication.cpp:5163
bool IsGamepadAttached() const
Definition SlateApplication.h:844
virtual void GetInitialDisplayMetrics(FDisplayMetrics &OutDisplayMetrics) const
Definition SlateApplication.h:874
SLATE_API EUINavigation NavigateFromWidget(const uint32 InUserIndex, TSharedPtr< SWidget > InNavigationSource, const TArray< EUINavigation > &InNavigationTypes)
Definition SlateApplication.cpp:6344
SLATE_API void SetCursorRadius(float NewRadius)
Definition SlateApplication.cpp:4039
virtual SLATE_API TSharedPtr< SWidget > GetMouseCaptorImpl() const override
Definition SlateApplication.cpp:4605
SLATE_API TArray< TSharedRef< SWindow > > GetInteractiveTopLevelWindows()
Definition SlateApplication.cpp:3710
SLATE_API void GotoLineInSource(const FString &FileName, int32 LineNumber) const
Definition SlateApplication.cpp:4306
SLATE_API bool IsDragDroppingAffected(const FPointerEvent &InPointerEvent) const
Definition SlateApplication.cpp:7554
bool IsUsingHighPrecisionMouseMovment() const
Definition SlateApplication.h:829
virtual SLATE_API void SignalSystemDPIChanged(const TSharedRef< FGenericWindow > &Window) override
Definition SlateApplication.cpp:6909
virtual SLATE_API TOptional< EFocusCause > HasUserFocus(const TSharedPtr< const SWidget > Widget, int32 UserIndex) const override
Definition SlateApplication.cpp:4668
virtual SLATE_API FWidgetPath LocateWidgetInWindow(UE::Slate::FDeprecateVector2DParameter ScreenspaceMouseCoordinate, const TSharedRef< SWindow > &Window, bool bIgnoreEnabledStatus, int32 UserIndex) const override
Definition SlateApplication.cpp:1895
SLATE_API void GetAllVisibleWindowsOrdered(TArray< TSharedRef< SWindow > > &OutWindows)
Definition SlateApplication.cpp:3737
SLATE_API FSlateRect GetWorkArea(const FSlateRect &InRect) const
Definition SlateApplication.cpp:4285
SLATE_API bool ProcessMouseButtonUpEvent(const FPointerEvent &MouseEvent)
Definition SlateApplication.cpp:6009
SLATE_API void SetModalWindowStackStartedDelegate(FModalWindowStackStarted StackStartedDelegate)
Definition SlateApplication.cpp:2248
virtual SLATE_API UE::Slate::FDeprecateVector2DResult GetLastCursorPos() const override
Definition SlateApplication.cpp:1081
SLATE_API void TickTime()
Definition SlateApplication.cpp:1650
virtual EWindowTransparency GetWindowTransparencySupport() const override
Definition SlateApplication.h:1615
virtual SLATE_API FWidgetPath LocateWindowUnderMouse(UE::Slate::FDeprecateVector2DParameter ScreenspaceMouseCoordinate, const TArray< TSharedRef< SWindow > > &Windows, bool bIgnoreEnabledStatus=false, int32 UserIndex=INDEX_NONE) override
Definition SlateApplication.cpp:1122
TSharedPtr< const FSlateUser > GetUserFromControllerId(int32 ControllerId) const
Definition SlateApplication.h:1086
SLATE_API void UsePlatformCursorForCursorUser(bool bUsePlatformCursor)
Definition SlateApplication.cpp:1096
SLATE_API FInputDeviceId GetInputDeviceIdForKeyboard() const
Definition SlateApplication.cpp:2585
float GetAverageDeltaTimeForResponsiveness() const
Definition SlateApplication.h:287
virtual SLATE_API EDropEffect::Type OnDragDrop(const TSharedPtr< FGenericWindow > &Window) override
Definition SlateApplication.cpp:7408
bool IsUsingTrackpad() const
Definition SlateApplication.h:834
SLATE_API TSharedPtr< FSlateUser > GetUserFromPlatformUser(FPlatformUserId PlatformUser)
Definition SlateApplication.cpp:4410
SLATE_API void DestroyRenderer()
Definition SlateApplication.cpp:1049
SLATE_API void InvalidateAllViewports()
Definition SlateApplication.cpp:2489
virtual SLATE_API bool IsWindowHousingInteractiveTooltip(const TSharedRef< const SWindow > &WindowToTest) const override
Definition SlateApplication.cpp:1170
virtual SLATE_API EDropEffect::Type OnDragEnterText(const TSharedRef< FGenericWindow > &Window, const FString &Text) override
Definition SlateApplication.cpp:7263
bool IsNormalExecution() const
Definition SlateApplication.h:897
SLATE_API void ReleaseAllPointerCapture()
Definition SlateApplication.cpp:2803
double GetLastUserInteractionTime() const
Definition SlateApplication.h:1477
SLATE_API int32 GetUserIndexForKeyboard() const
Definition SlateApplication.cpp:2575
virtual SLATE_API bool OnTouchEnded(const FVector2D &Location, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID) override
Definition SlateApplication.cpp:6681
SLATE_API bool SetKeyboardFocus(const TSharedPtr< SWidget > &OptionalWidgetToFocus, EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2756
SLATE_API bool ProcessMouseWheelOrGestureEvent(const FPointerEvent &InWheelEvent, const FPointerEvent *InGestureEvent)
Definition SlateApplication.cpp:6081
SLATE_API bool TakeHDRScreenshot(const TSharedRef< SWidget > &Widget, TArray< FLinearColor > &OutColorData, FIntVector &OutSize)
Definition SlateApplication.cpp:4327
SLATE_API FReply RouteMouseWheelOrGestureEvent(const FWidgetPath &WidgetsUnderPointer, const FPointerEvent &InWheelEvent, const FPointerEvent *InGestureEvent=nullptr)
Definition SlateApplication.cpp:6128
SLATE_API void RegisterViewport(TSharedRef< SViewport > InViewport)
Definition SlateApplication.cpp:2511
virtual SLATE_API bool OnKeyUp(const int32 KeyCode, const uint32 CharacterCode, const bool IsRepeat) override
Definition SlateApplication.cpp:4988
static SLATE_API TSharedRef< FSlateApplication > InitializeAsStandaloneApplication(const TSharedRef< class FSlateRenderer > &PlatformRenderer)
Definition SlateApplication.cpp:7495
virtual SLATE_API void OnMovedWindow(const TSharedRef< FGenericWindow > &PlatformWindow, const int32 X, const int32 Y) override
Definition SlateApplication.cpp:6933
SLATE_API void SetWidgetReflector(const TSharedRef< IWidgetReflector > &WidgetReflector)
Definition SlateApplication.cpp:7534
SLATE_API bool IsDragDropping() const
Definition SlateApplication.cpp:7549
SLATE_API void SetModalWindowStackEndedDelegate(FModalWindowStackEnded StackEndedDelegate)
Definition SlateApplication.cpp:2253
SLATE_API TSharedRef< FNavigationConfig > GetRelevantNavConfig(int32 UserIndex) const
Definition SlateApplication.cpp:4712
ITextInputMethodSystem * GetTextInputMethodSystem() const
Definition SlateApplication.h:362
virtual SLATE_API bool OnControllerAnalog(FGamepadKeyNames::Type KeyName, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId, float AnalogValue) override
Definition SlateApplication.cpp:6547
virtual SLATE_API UE::Slate::FDeprecateVector2DResult GetCursorPos() const override
Definition SlateApplication.cpp:1076
SLATE_API float GetDragTriggerDistance() const
Definition SlateApplication.cpp:3957
virtual SLATE_API UE::Slate::FDeprecateVector2DResult CalculateTooltipWindowPosition(const FSlateRect &InAnchorRect, const UE::Slate::FDeprecateVector2DParameter &InSize, bool bAutoAdjustForDPIScale, EPopupCursorOverlapMode CursorOverlapMode=EPopupCursorOverlapMode::PreventOverlap) const
Definition SlateApplication.cpp:4059
DECLARE_EVENT_OneParam(FSlateApplication, FUserRegisteredEvent, int32)
SLATE_API void DismissMenuByWidget(const TSharedRef< SWidget > &InWidgetInMenu)
Definition SlateApplication.cpp:2375
virtual SLATE_API void SetAllUserFocusAllowingDescendantFocus(const FWidgetPath &InFocusPath, const EFocusCause InCause) override
Definition SlateApplication.cpp:3150
SLATE_API FReply RoutePointerDoubleClickEvent(const FWidgetPath &WidgetsUnderPointer, const FPointerEvent &PointerEvent)
Definition SlateApplication.cpp:5955
virtual SLATE_API EUINavigation GetNavigationDirectionFromKey(const FKeyEvent &InKeyEvent) const override
Definition SlateApplication.cpp:2062
TSharedPtr< FSlateUser > GetUser(const FInputEvent &InputEvent)
Definition SlateApplication.h:1075
SLATE_API void QueryCursor()
Definition SlateApplication.cpp:3685
SLATE_API void ExternalModalStart()
Definition SlateApplication.cpp:2433
SLATE_API void CancelDragDrop()
Definition SlateApplication.cpp:7564
void SetWidgetReflectorSourceAccessDelegate(FAccessSourceCode AccessDelegate)
Definition SlateApplication.h:854
SLATE_API bool GetAllowTooltips() const
Definition SlateApplication.cpp:4054
SLATE_API void PlaySound(const FSlateSound &SoundToPlay, int32 UserIndex=0) const
Definition SlateApplication.cpp:1066
virtual SLATE_API bool DoesWidgetHaveMouseCaptureByUser(const TSharedPtr< const SWidget > Widget, int32 UserIndex, TOptional< int32 > PointerIndex) const override
Definition SlateApplication.cpp:4647
SLATE_API void SetUnhandledKeyDownEventHandler(const FOnKeyEvent &NewHandler)
Definition SlateApplication.cpp:3947
SLATE_API void SpawnToolTip(const TSharedRef< IToolTip > &InToolTip, const UE::Slate::FDeprecateVector2DParameter &InSpawnLocation)
Definition SlateApplication.cpp:3695
SLATE_API bool GeneratePathToWidgetUnchecked(TSharedRef< const SWidget > InWidget, FWidgetPath &OutWidgetPath, EVisibility VisibilityFilter=EVisibility::Visible) const
Definition SlateApplication.cpp:3247
SLATE_API void ProcessExternalReply(const FWidgetPath &CurrentEventPath, const FReply TheReply, const int32 UserIndex=0, const int32 PointerIndex=10)
Definition SlateApplication.cpp:3299
SLATE_API uint32 GetCurrentDrawId() const
Definition SlateApplication.cpp:2885
virtual SLATE_API TOptional< EFocusCause > HasAnyUserFocus(const TSharedPtr< const SWidget > Widget) const override
Definition SlateApplication.cpp:4674
virtual SLATE_API EUINavigation GetNavigationDirectionFromAnalog(const FAnalogInputEvent &InAnalogEvent) override
Definition SlateApplication.cpp:2068
SLATE_API void ForEachUser(TFunctionRef< void(FSlateUser &)> InPredicate, bool bIncludeVirtualUsers=false)
Definition SlateApplication.cpp:4549
SLATE_API int32 FindInputPreProcessor(TSharedPtr< class IInputProcessor > InputProcessor) const
Definition SlateApplication.cpp:4029
SLATE_API void ReleaseMouseCaptureForUser(int32 UserIndex)
Definition SlateApplication.cpp:2816
const TAttribute< bool > & GetNormalExecutionAttribute() const
Definition SlateApplication.h:892
SLATE_API float GetDragTriggerDistanceSquared() const
Definition SlateApplication.cpp:3962
SLATE_API void RegisterGameViewport(TSharedRef< SViewport > InViewport)
Definition SlateApplication.cpp:2494
SLATE_API void ProcessApplicationActivationEvent(bool InAppActivated)
Definition SlateApplication.cpp:7106
DECLARE_MULTICAST_DELEGATE_FiveParams(FOnFocusChanging, const FFocusEvent &, const FWeakWidgetPath &, const TSharedPtr< SWidget > &, const FWidgetPath &, const TSharedPtr< SWidget > &)
IInputInterface * GetInputInterface() const
Definition SlateApplication.h:354
bool IsProcessingInput() const
Definition SlateApplication.h:1380
virtual SLATE_API TSharedRef< SImage > MakeImage(const TAttribute< const FSlateBrush * > &Image, const TAttribute< FSlateColor > &Color, const TAttribute< EVisibility > &Visibility) const override
Definition SlateApplication.cpp:4759
const float GetDeltaTime() const
Definition SlateApplication.h:275
SLATE_API TOptional< int32 > GetUserIndexForPlatformUser(FPlatformUserId PlatformUser) const
Definition SlateApplication.cpp:2605
SLATE_API void SetInputManager(TSharedRef< ISlateInputManager > InputManager)
Definition SlateApplication.cpp:2610
SLATE_API void SetGameAllowsFakingTouchEvents(const bool bAllowFaking)
Definition SlateApplication.cpp:5149
SLATE_API float GetCursorRadius() const
Definition SlateApplication.cpp:4044
SLATE_API float GetSoundDuration(const FSlateSound &Sound) const
Definition SlateApplication.cpp:1071
DECLARE_EVENT_OneParam(FSlateApplication, FOnWindowBeingDestroyed, const SWindow &)
SLATE_API void SetCursorPos(const FVector2D &MouseCoordinate) override
Definition SlateApplication.cpp:1086
SLATE_API TSharedPtr< SWidget > GetMenuHostWidget() const
Definition SlateApplication.cpp:2360
SLATE_API bool AllowMoveCursor()
Definition SlateApplication.cpp:4224
virtual SLATE_API bool OnMouseUp(const EMouseButtons::Type Button) override
Definition SlateApplication.cpp:5979
SLATE_API TSharedRef< FSlateUser > RegisterNewUser(int32 UserIndex, bool bIsVirtual=false)
Definition SlateApplication.cpp:4484
virtual SLATE_API EUINavigationAction GetNavigationActionFromKey(const FKeyEvent &InKeyEvent) const override
Definition SlateApplication.cpp:2074
SLATE_API void OverridePlatformApplication(TSharedPtr< class GenericApplication > InPlatformApplication)
Definition SlateApplication.cpp:771
virtual SLATE_API void OnInputLanguageChanged() override
Definition SlateApplication.cpp:5048
SLATE_API void FinishedInputThisFrame()
Definition SlateApplication.cpp:1513
SLATE_API FReply RoutePointerDownEvent(const FWidgetPath &WidgetsUnderPointer, const FPointerEvent &PointerEvent)
Definition SlateApplication.cpp:5315
SLATE_API void TickAndDrawWidgets(float DeltaTime)
Definition SlateApplication.cpp:1716
SLATE_API void UnregisterInputPreProcessor(TSharedPtr< class IInputProcessor > InputProcessor)
Definition SlateApplication.cpp:4024
DECLARE_EVENT_OneParam(FSlateApplication, FApplicationActivationStateChangedEvent, const bool) virtual FApplicationActivationStateChangedEvent &OnApplicationActivationStateChanged()
Definition SlateApplication.h:1650
virtual bool IsActive() const override
Definition SlateApplication.h:1571
SLATE_API void SetAllUserFocus(const TSharedPtr< SWidget > &WidgetToFocus, EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2719
virtual SLATE_API TSharedPtr< SWindow > FindWidgetWindow(TSharedRef< const SWidget > InWidget) const override
Definition SlateApplication.cpp:3268
TSharedPtr< const FSlateUser > GetUser(int32 UserIndex) const
Definition SlateApplication.h:1065
static double GetFixedDeltaTime()
Definition SlateApplication.h:1133
SLATE_API void CloseAllWindowsImmediately()
Definition SlateApplication.cpp:3177
SLATE_API bool ProcessAnalogInputEvent(const FAnalogInputEvent &InAnalogInputEvent)
Definition SlateApplication.cpp:5053
SLATE_API TSharedPtr< SWindow > GetActiveModalWindow() const
Definition SlateApplication.cpp:2911
SLATE_API bool ProcessWindowActivatedEvent(const FWindowActivateEvent &ActivateEvent)
Definition SlateApplication.cpp:6980
virtual SLATE_API bool SetUserFocusAllowingDescendantFocus(const uint32 InUserIndex, const FWidgetPath &InFocusPath, const EFocusCause InCause) override
Definition SlateApplication.cpp:2927
static SLATE_API TSharedRef< class FGlobalTabmanager > GetGlobalTabManager()
SLATE_API void PrivateDrawWindows(TSharedPtr< SWindow > DrawOnlyThisWindow=nullptr)
Definition SlateApplication.cpp:1411
SLATE_API void SetDragTriggerDistance(float ScreenPixels)
Definition SlateApplication.cpp:3984
SLATE_API void PumpMessages()
Definition SlateApplication.cpp:1812
SLATE_API void SetAllowTooltips(bool bCanShow)
Definition SlateApplication.cpp:4049
virtual SLATE_API EDropEffect::Type OnDragEnterExternal(const TSharedRef< FGenericWindow > &Window, const FString &Text, const TArray< FString > &Files) override
Definition SlateApplication.cpp:7291
virtual SLATE_API FWindowSizeLimits GetSizeLimitsForWindow(const TSharedRef< FGenericWindow > &Window) const override
Definition SlateApplication.cpp:6857
virtual SLATE_API TSharedPtr< SWidget > GetUserFocusedWidget(uint32 UserIndex) const override
Definition SlateApplication.cpp:2740
FOnFocusChanging & OnFocusChanging()
Definition SlateApplication.h:589
virtual SLATE_API bool OnMouseDoubleClick(const TSharedPtr< FGenericWindow > &PlatformWindow, const EMouseButtons::Type Button) override
Definition SlateApplication.cpp:5888
static FSlateApplication & Get()
Definition SlateApplication.h:319
SLATE_API void DrawPrepass(TSharedPtr< SWindow > DrawOnlyThisWindow)
Definition SlateApplication.cpp:1353
virtual SLATE_API TSharedRef< SWindow > AddWindow(TSharedRef< SWindow > InSlateWindow, const bool bShowImmediately=true) override
Definition SlateApplication.cpp:1922
SLATE_API TSharedRef< FSlateUser > GetOrCreateUser(int32 UserIndex)
Definition SlateApplication.cpp:4460
static bool IsInitialized()
Definition SlateApplication.h:308
TSharedPtr< FSlateUser > GetCursorUser()
Definition SlateApplication.h:1107
SLATE_API void SetUserFocusToGameViewport(uint32 UserIndex, EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2616
virtual float GetApplicationScale() const override
Definition SlateApplication.h:1605
SLATE_API bool IsWindowInDestroyQueue(TSharedRef< SWindow > Window) const
Definition SlateApplication.cpp:3942
virtual SLATE_API EDropEffect::Type OnDragOver(const TSharedPtr< FGenericWindow > &Window) override
Definition SlateApplication.cpp:7359
virtual const TArray< TSharedRef< SWindow > > GetTopLevelWindows() const override
Definition SlateApplication.h:1648
SLATE_API bool SetUserFocus(uint32 UserIndex, const TSharedPtr< SWidget > &WidgetToFocus, EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2691
virtual SLATE_API EVisibility GetSoftwareCursorVis() const override
Definition SlateApplication.cpp:4589
FOnWindowBeingDestroyed & OnWindowBeingDestroyed()
Definition SlateApplication.h:582
virtual SLATE_API FSlateRect GetPreferredWorkArea() const override
Definition SlateApplication.cpp:4239
SLATE_API TSharedPtr< SViewport > GetGameViewport() const
Definition SlateApplication.cpp:2565
virtual SLATE_API bool HasUserMouseCapture(int32 UserIndex) const override
Definition SlateApplication.cpp:4622
virtual SLATE_API bool ShouldProcessUserInputMessages(const TSharedPtr< FGenericWindow > &PlatformWindow) const override
Definition SlateApplication.cpp:4796
virtual SLATE_API UE::Slate::FDeprecateVector2DResult GetCursorSize() const override
Definition SlateApplication.cpp:4576
SLATE_API void EnterDebuggingMode()
Definition SlateApplication.cpp:3763
void SetWidgetReflectorAssetAccessDelegate(FAccessAsset AccessDelegate)
Definition SlateApplication.h:866
virtual SLATE_API bool AnyMenusVisible() const override
Definition SlateApplication.cpp:2345
SLATE_API void DrawWindows()
Definition SlateApplication.cpp:1182
SLATE_API void DismissMenu(const TSharedPtr< IMenu > &InFromMenu)
Definition SlateApplication.cpp:2370
SLATE_API void ClearKeyboardFocus(const EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateApplication.cpp:2761
SLATE_API void GetAllVisibleChildWindows(TArray< TSharedRef< SWindow > > &OutWindows, TSharedRef< SWindow > CurrentWindow)
Definition SlateApplication.cpp:3749
SLATE_API FModifierKeysState GetModifierKeys() const
Definition SlateApplication.cpp:3166
virtual SLATE_API void InitializeSound(const TSharedRef< ISlateSoundDevice > &InSlateSoundDevice)
Definition SlateApplication.cpp:1044
SLATE_API const void * FindBestParentWindowHandleForDialogs(const TSharedPtr< SWidget > &InWidget, const ESlateParentWindowSearchMethod InParentWindowSearchMethod=ESlateParentWindowSearchMethod::ActiveWindow)
Definition SlateApplication.cpp:2872
SLATE_API void ActivateGameViewport()
Definition SlateApplication.cpp:2638
virtual SLATE_API bool OnTouchStarted(const TSharedPtr< FGenericWindow > &Window, const FVector2D &Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceId) override
Definition SlateApplication.cpp:6618
SLATE_API void ThrottleApplicationBasedOnMouseMovement()
Definition SlateApplication.cpp:1817
SLATE_API void ShowVirtualKeyboard(bool bShow, int32 UserIndex, TSharedPtr< IVirtualKeyboardEntry > TextEntryWidget=nullptr)
Definition SlateApplication.cpp:4207
FSlateTickEvent & OnPostTick()
Definition SlateApplication.h:571
SLATE_API void ProcessReply(const FWidgetPath &CurrentEventPath, const FReply &TheReply, const FWidgetPath *WidgetsUnderMouse, const FPointerEvent *InMouseEvent, const uint32 UserIndex=0)
Definition SlateApplication.cpp:3335
FSlateTickEvent & OnPreTick()
Definition SlateApplication.h:568
SLATE_API void NavigateToWidget(const uint32 UserIndex, const TSharedPtr< SWidget > &NavigationDestination, ENavigationSource NavigationSource=ENavigationSource::FocusedWidget, EUINavigation NavigationType=EUINavigation::Invalid)
Definition SlateApplication.cpp:6320
virtual SLATE_API TSharedRef< SWidget > MakeWindowTitleBar(const FWindowTitleBarArgs &InArgs, TSharedPtr< IWindowTitleBar > &OutTitleBar) const override
Definition SlateApplication.cpp:4768
virtual SLATE_API bool DoesWidgetHaveMouseCapture(const TSharedPtr< const SWidget > Widget) const override
Definition SlateApplication.cpp:4656
SLATE_API void ProcessCursorReply(const FCursorReply &CursorReply)
Definition SlateApplication.cpp:3690
virtual SLATE_API void * GetMouseCaptureWindow() const
Definition SlateApplication.cpp:2793
TSharedPtr< FSlateUser > GetUser(int32 UserIndex)
Definition SlateApplication.h:1069
virtual SLATE_API void RequestDestroyWindow(TSharedRef< SWindow > WindowToDestroy) override
Definition SlateApplication.cpp:2388
SLATE_API void UnregisterOnWindowActionNotification(FDelegateHandle Handle)
Definition SlateApplication.cpp:2827
virtual SLATE_API bool OnRawMouseMove(const int32 X, const int32 Y) override
Definition SlateApplication.cpp:6236
const float GetAverageDeltaTime() const
Definition SlateApplication.h:265
SLATE_API void ProcessTouchStartedEvent(const TSharedPtr< FGenericWindow > &PlatformWindow, const FPointerEvent &InTouchEvent)
Definition SlateApplication.cpp:6642
virtual SLATE_API ~FSlateApplication()
Definition SlateApplication.cpp:962
SLATE_API void SetAppIcon(const FSlateBrush *const InAppIcon)
Definition SlateApplication.cpp:4188
SLATE_API bool ProcessMouseButtonDownEvent(const TSharedPtr< FGenericWindow > &PlatformWindow, const FPointerEvent &InMouseEvent)
Definition SlateApplication.cpp:5193
SLATE_API void ReleaseMouseCapture()
Definition SlateApplication.cpp:2798
SLATE_API bool IsLastDragOnDragEnterDisabled() const
Definition SlateApplication.cpp:3994
SLATE_API void ProcessMotionDetectedEvent(const FMotionEvent &InMotionEvent)
Definition SlateApplication.cpp:6775
SLATE_API int32 GetUserIndexForController(int32 ControllerId) const
Definition SlateApplication.cpp:2595
FOnMenuDestroyed & OnMenuBeingDestroyed()
Definition SlateApplication.h:585
SLATE_API void UnregisterGameViewport()
Definition SlateApplication.cpp:2524
virtual SLATE_API UE::Slate::FDeprecateVector2DResult CalculatePopupWindowPosition(const FSlateRect &InAnchor, const UE::Slate::FDeprecateVector2DParameter &InSize, bool bAutoAdjustForDPIScale=true, const UE::Slate::FDeprecateVector2DParameter &InProposedPlacement=FVector2f::ZeroVector, const EOrientation Orientation=Orient_Vertical, const EPopupLayoutMode=EPopupLayoutMode::Menu) const
Definition SlateApplication.cpp:4109
virtual SLATE_API bool OnMouseMove() override
Definition SlateApplication.cpp:6172
FSlateLastUserInteractionTimeUpdateEvent & GetLastUserInteractionTimeUpdateEvent()
Definition SlateApplication.h:1481
void ExternalUIChange(bool bIsOpening)
Definition SlateApplication.h:989
SLATE_API bool ProcessMouseMoveEvent(const FPointerEvent &MouseEvent, bool bIsSynthetic=false)
Definition SlateApplication.cpp:6269
SLATE_API TSharedPtr< IMenu > PushMenu(const TSharedRef< SWidget > &InParentWidget, const FWidgetPath &InOwnerPath, const TSharedRef< SWidget > &InContent, const UE::Slate::FDeprecateVector2DParameter &SummonLocation, const FPopupTransitionEffect &TransitionEffect, const bool bFocusImmediately=true, const UE::Slate::FDeprecateVector2DParameter &SummonLocationSize=FVector2f::ZeroVector, TOptional< EPopupMethod > Method=TOptional< EPopupMethod >(), const bool bIsCollapsedByParent=true, const int32 FocusUserIndex=INDEX_NONE)
Definition SlateApplication.cpp:2291
virtual SLATE_API bool InitializeRenderer(TSharedRef< FSlateRenderer > InRenderer, bool bQuietMode=false)
Definition SlateApplication.cpp:1033
virtual SLATE_API bool OnTouchMoved(const FVector2D &Location, float Force, int32 TouchIndex, FPlatformUserId PlatformUserId, FInputDeviceId DeviceID) override
Definition SlateApplication.cpp:6652
SLATE_API void SetPlatformCursorVisibility(bool bNewVisibility)
Definition SlateApplication.cpp:1114
virtual SLATE_API TSharedPtr< SWidget > GetCurrentDebugContextWidget() const override
Definition SlateApplication.cpp:2766
SLATE_API void CloseToolTip()
Definition SlateApplication.cpp:3700
SLATE_API void SetGameIsFakingTouchEvents(const bool bIsFaking, FVector2D *CursorLocation=nullptr)
Definition SlateApplication.cpp:5134
SLATE_API TSharedPtr< SWindow > GetVisibleMenuWindow() const
Definition SlateApplication.cpp:2355
SLATE_API TSharedPtr< IMenu > PushHostedMenu(const TSharedRef< SWidget > &InParentWidget, const FWidgetPath &InOwnerPath, const TSharedRef< IMenuHost > &InMenuHost, const TSharedRef< SWidget > &InContent, TSharedPtr< SWidget > &OutWrappedContent, const FPopupTransitionEffect &TransitionEffect, EShouldThrottle ShouldThrottle, const bool bIsCollapsedByParent=true)
Definition SlateApplication.cpp:2317
SLATE_API void NavigateFromWidgetUnderCursor(const uint32 InUserIndex, EUINavigation InNavigationType, TSharedRef< SWindow > InWindow)
Definition SlateApplication.cpp:7569
SLATE_API bool IsFakingTouchEvents() const
Definition SlateApplication.cpp:5158
static SLATE_API void InitializeCoreStyle()
Definition SlateApplication.cpp:7520
virtual SLATE_API const FSlateBrush * GetAppIcon() const override
Definition SlateApplication.cpp:4195
virtual SLATE_API bool OnMouseWheel(const float Delta) override
Definition SlateApplication.cpp:6060
SLATE_API void UnregisterUser(int32 UserIndex)
Definition SlateApplication.cpp:4533
SLATE_API void FlushRenderState()
Definition SlateApplication.cpp:2552
SLATE_API void SetupPhysicalSensitivities()
Definition SlateApplication.cpp:980
SLATE_API void ToggleDisableLastDragOnDragEnter(bool bInDisableLastDragOnDragEnter)
Definition SlateApplication.cpp:3989
SLATE_API bool CanDisplayWindows() const
Definition SlateApplication.cpp:2036
void ShowSystemHelp()
Definition SlateApplication.h:359
SLATE_API bool ProcessKeyCharEvent(const FCharacterEvent &InCharacterEvent)
Definition SlateApplication.cpp:4819
TSharedRef< FSlateUser > GetOrCreateUser(const FInputEvent &InputEvent)
Definition SlateApplication.h:1178
SLATE_API FPointerEvent TransformPointerEvent(const FPointerEvent &PointerEvent, const TSharedPtr< SWindow > &Window) const
Definition SlateApplication.cpp:4628
FOnModalLoopTickEvent & GetOnModalLoopTickEvent()
Definition SlateApplication.h:1807
bool IsMouseAttached() const
Definition SlateApplication.h:839
SLATE_API TSharedPtr< SWindow > FindBestParentWindowForDialogs(const TSharedPtr< SWidget > &InWidget, const ESlateParentWindowSearchMethod InParentWindowSearchMethod=ESlateParentWindowSearchMethod::ActiveWindow)
Definition SlateApplication.cpp:2842
virtual SLATE_API bool OnCursorSet() override
Definition SlateApplication.cpp:6314
bool IsRenderingOffScreen() const
Definition SlateApplication.h:1565
SLATE_API bool TakeScreenshot(const TSharedRef< SWidget > &Widget, TArray< FColor > &OutColorData, FIntVector &OutSize)
Definition SlateApplication.cpp:4322
SLATE_API void ResetToDefaultInputSettings()
Definition SlateApplication.cpp:2771
SLATE_API void ResetToDefaultPointerInputSettings()
Definition SlateApplication.cpp:2777
virtual SLATE_API bool OnControllerButtonPressed(FGamepadKeyNames::Type KeyName, FPlatformUserId PlatformUserId, FInputDeviceId InputDeviceId, bool IsRepeat) override
Definition SlateApplication.cpp:6560
SLATE_API bool IsRunningAtTargetFrameRate() const
Definition SlateApplication.cpp:4169
virtual SLATE_API bool HasAnyMouseCaptor() const override
Definition SlateApplication.cpp:4610
Definition SlateApplication.h:148
virtual int32 GetUserIndexForMouse() const override
Definition SlateApplication.h:150
virtual FInputDeviceId GetInputDeviceIdForMouse() const override
Definition SlateApplication.h:153
virtual FInputDeviceId GetInputDeviceIdForKeyboard() const override
Definition SlateApplication.h:158
virtual int32 GetUserIndexForController(int32 ControllerId) const override
Definition SlateApplication.h:163
virtual int32 GetUserIndexForKeyboard() const override
Definition SlateApplication.h:151
virtual TOptional< int32 > GetUserIndexForController(int32 ControllerId, FKey InKey) const override
Definition SlateApplication.h:164
Definition SlateRect.h:26
Definition SlateUser.h:41
Definition SlateUser.h:18
static SLATECORE_API void ArrangeWindowToFront(TArray< TSharedRef< SWindow > > &Windows, const TSharedRef< SWindow > &WindowToBringToFront)
Definition SlateWindowHelper.cpp:16
static SLATECORE_API bool FindPathToWidget(const TArray< TSharedRef< SWindow > > &WindowsToSearch, TSharedRef< const SWidget > InWidget, FWidgetPath &OutWidgetPath, EVisibility VisibilityFilter=EVisibility::Visible)
Definition SlateWindowHelper.cpp:93
Definition Text.h:385
Definition ThrottleManager.h:14
Definition WidgetPath.h:213
Definition WidgetPath.h:51
Definition Events.h:1206
Definition GenericApplication.h:437
virtual EWindowTransparency GetWindowTransparencySupport() const
Definition GenericApplication.h:532
virtual bool IsGamepadAttached() const
Definition GenericApplication.h:489
virtual void ShowSystemHelp()
Definition GenericApplication.h:549
virtual bool SupportsSystemHelp() const
Definition GenericApplication.h:547
virtual void GetInitialDisplayMetrics(FDisplayMetrics &OutDisplayMetrics) const
Definition GenericApplication.h:513
virtual ITextInputMethodSystem * GetTextInputMethodSystem()
Definition GenericApplication.h:542
virtual bool IsMouseAttached() const
Definition GenericApplication.h:487
virtual IInputInterface * GetInputInterface()
Definition GenericApplication.h:539
virtual bool IsUsingHighPrecisionMouseMode() const
Definition GenericApplication.h:483
virtual bool IsUsingTrackpad() const
Definition GenericApplication.h:485
Definition IInputInterface.h:309
Definition IInputProcessor.h:18
Definition IMenu.h:30
Definition IMenu.h:15
virtual FInputDeviceId GetDefaultInputDevice() const =0
static APPLICATIONCORE_API IPlatformInputDeviceMapper & Get()
Definition GenericPlatformInputDeviceMapper.cpp:97
Definition IPlatformTextField.h:17
Definition SlateApplication.h:120
virtual FInputDeviceId GetInputDeviceIdForKeyboard() const =0
virtual int32 GetUserIndexForKeyboard() const =0
virtual int32 GetUserIndexForMouse() const =0
virtual TOptional< int32 > GetUserIndexForController(int32 ControllerId, FKey InKey) const =0
virtual int32 GetUserIndexForController(int32 ControllerId) const
Definition SlateApplication.h:143
virtual TOptional< int32 > GetUserIndexForPlatformUser(FPlatformUserId PlatformUser) const
Definition SlateApplication.h:137
virtual ~ISlateInputManager()=default
virtual FInputDeviceId GetInputDeviceIdForMouse() const =0
virtual TOptional< int32 > GetUserIndexForInputDevice(FInputDeviceId InputDeviceId) const
Definition SlateApplication.h:131
Definition ISlateSoundDevice.h:10
Definition ITextInputMethodSystem.h:169
Definition IVirtualKeyboardEntry.h:52
Definition IWidgetReflector.h:22
Definition SNotificationList.h:25
Definition SViewport.h:31
Definition SWidget.h:165
Definition SWindow.h:243
Definition IOSPlatformTextField.cpp:137
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
Definition Attribute.h:17
Definition BitArray.h:350
Definition AssetRegistryState.h:50
Definition AndroidPlatformMisc.h:14
Definition ContainerAllocationPolicies.h:1404
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition SharedPointer.h:153
Definition SparseArray.h:524
Definition UniquePtr.h:107
Definition SharedPointer.h:1295
Type
Definition GenericApplicationMessageHandler.h:128
Type
Definition GenericApplicationMessageHandler.h:18
Definition GenericApplicationMessageHandler.h:111
Type
Definition GenericApplicationMessageHandler.h:113
Type
Definition GenericApplicationMessageHandler.h:87
Definition SScissorRectBox.cpp:10
FDeprecateSlateVector2D FDeprecateVector2DResult
Definition SlateVector2.h:469
Definition AdvancedWidgetsModule.cpp:13
Definition MinimalWindowsApi.h:62
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition Visibility.h:12
static SLATECORE_API const EVisibility Visible
Definition Visibility.h:14
Definition Events.h:528
Definition Events.h:606
Definition GenericApplication.h:357
Definition SlateApplication.cpp:1189
Definition Events.h:51
Definition CoreMiscDefines.h:524
Definition Events.h:155
uint32 GetUserIndex() const
Definition Events.h:332
Definition SlateApplication.h:223
Definition SlateApplication.h:239
TSharedPtr< class IInputProcessor > InputProcessor
Definition SlateApplication.h:241
bool operator==(const FInputPreprocessorRegistration &Other) const
Definition SlateApplication.h:243
FInputPreprocessorRegistrationKey Info
Definition SlateApplication.h:240
Definition Events.h:431
Definition InputCoreTypes.h:50
Definition Events.h:1060
Definition Events.h:1148
Definition CoreMiscDefines.h:470
UE_FORCEINLINE_HINT int32 GetInternalId() const
Definition CoreMiscDefines.h:478
Definition Events.h:695
Definition MenuStack.h:31
Definition SlateBrush.h:239
Definition SlateSound.h:16
Definition GenericApplicationMessageHandler.h:151
Definition SlateApplicationBase.h:34
Definition Optional.h:131
constexpr OptionalType & GetValue()
Definition Optional.h:443
constexpr bool IsSet() const
Definition Optional.h:69
static CORE_API const TVector2< float > ZeroVector
Definition Vector2D.h:63
Definition SlateVector2.h:485