33 int32 VirtualUserIndex;
138 if (!StrongFocusPath.
IsValid())
214 double LastCursorSignificantMoveTime = 0.0;
220 bool bCanDrawCursor =
true;
223 bool bNeedQueryForVisibleCursor =
true;
226 bool bQueryCursorRequested =
false;
232 int32 NumPendingSyntheticCursorMoves = 0;
248 bool bShowFocus =
false;
254 int32 FocusVersion = 0;
263 struct FDragDetectionState
267 , DragStartLocation(StartLocation)
269 , PointerIndex(PointerIndex)
302 enum class ETooltipOffsetDirection :
uint8
308 struct FActiveTooltipInfo
328 double SummonTime = 0.0;
334 ETooltipOffsetDirection OffsetDirection = ETooltipOffsetDirection::Undetermined;
337 bool WasInteractive =
false;
340 bool HasBeenPositioned =
false;
342 FActiveTooltipInfo ActiveTooltipInfo;
@ INDEX_NONE
Definition CoreMiscDefines.h:150
constexpr FPlatformUserId PLATFORMUSERID_NONE
Definition CoreMiscDefines.h:516
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EFocusCause
Definition Events.h:25
#define SLATE_SCOPE
Definition SlateScope.h:13
Definition CursorReply.h:16
Definition DragAndDrop.h:21
Definition GestureDetector.h:18
Definition NavigationConfig.h:61
Definition SlateRect.h:26
Definition SlateUser.h:41
SLATE_API bool HasFocusedDescendants(TSharedRef< const SWidget > Widget) const
Definition SlateUser.cpp:175
void OverrideCursor(const TSharedPtr< ICursor > InCursor)
Definition SlateUser.h:158
SLATE_API bool IsWidgetUnderPointer(TSharedPtr< const SWidget > Widget, uint32 PointerIndex) const
Definition SlateUser.cpp:464
SLATE_API TSharedPtr< SWidget > GetCursorCaptor() const
Definition SlateUser.cpp:370
SLATE_API void NotifyTouchStarted(const FPointerEvent &TouchEvent)
Definition SlateUser.cpp:1038
SLATE_API FWeakWidgetPath GetWeakCursorCapturePath() const
Definition SlateUser.cpp:345
SLATE_API void NotifyPointerMoveComplete(const FPointerEvent &PointerEvent, const FWidgetPath &WidgetsUnderPointer)
Definition SlateUser.cpp:1055
SLATE_API void SetDragDropContent(TSharedRef< FDragDropOperation > InDragDropContent)
Definition SlateUser.cpp:1207
SLATE_API FWidgetPath GetCaptorPath(uint32 PointerIndex, FWeakWidgetPath::EInterruptedPathHandling::Type InterruptedPathHandling=FWeakWidgetPath::EInterruptedPathHandling::Truncate, const FPointerEvent *PointerEvent=nullptr)
Definition SlateUser.cpp:330
SLATE_API FWidgetPath GetCursorCaptorPath(FWeakWidgetPath::EInterruptedPathHandling::Type InterruptedPathHandling=FWeakWidgetPath::EInterruptedPathHandling::Truncate, const FPointerEvent *PointerEvent=nullptr)
Definition SlateUser.cpp:325
TSharedPtr< FDragDropOperation > GetDragDropContent() const
Definition SlateUser.h:115
SLATE_API UE::Slate::FDeprecateVector2DResult GetPointerPosition(uint32 PointerIndex) const
Definition SlateUser.cpp:443
SLATE_API FWeakWidgetPath GetLastWidgetsUnderPointer(uint32 PointerIndex) const
Definition SlateUser.cpp:513
SLATE_API bool SetFocus(const TSharedRef< SWidget > &WidgetToFocus, EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateUser.cpp:185
virtual SLATE_API ~FSlateUser()
Definition SlateUser.cpp:155
SLATE_API UE::Slate::FDeprecateVector2DResult GetPreviousPointerPosition(uint32 PointerIndex) const
Definition SlateUser.cpp:453
bool IsVirtualUser() const
Definition SlateUser.h:47
SLATE_API bool ShouldShowFocus(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:170
SLATE_API bool DoesWidgetHaveCursorCapture(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:223
TSharedPtr< FNavigationConfig > GetUserNavigationConfig() const
Definition SlateUser.h:127
SLATE_API void ProcessCursorReply(const FCursorReply &CursorReply)
Definition SlateUser.cpp:941
SLATE_API bool IsCursorVisible() const
Definition SlateUser.cpp:400
const FWeakWidgetPath & GetWeakFocusPath() const
Definition SlateUser.h:134
SLATE_API UE::Slate::FDeprecateVector2DResult GetPreviousCursorPosition() const
Definition SlateUser.cpp:438
SLATE_API bool IsTouchPointerActive(int32 TouchPointerIndex) const
Definition SlateUser.cpp:623
int32 GetFocusVersion() const
Definition SlateUser.h:181
SLATE_API TArray< TSharedRef< SWidget > > GetCaptorWidgets() const
Definition SlateUser.cpp:356
SLATE_API TSharedPtr< SWidget > GetFocusedWidget() const
Definition SlateUser.cpp:160
int32 GetUserIndex() const
Definition SlateUser.h:45
SLATE_API bool SetCursorCaptor(TSharedRef< const SWidget > Widget, const FWidgetPath &EventPath)
Definition SlateUser.cpp:234
SLATE_API void SetPointerPosition(uint32 PointerIndex, int32 PosX, int32 PosY)
Definition SlateUser.cpp:416
SLATE_API void QueueSyntheticCursorMove()
Definition SlateUser.cpp:688
SLATE_API void FinishFrame()
Definition SlateUser.cpp:754
SLATE_API bool IsWidgetUnderAnyPointer(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:470
SLATE_API void DrawWindowlessDragDropContent(const TSharedRef< SWindow > &WindowToDraw, FSlateWindowElementList &WindowElementList, int32 &MaxLayerId)
Definition SlateUser.cpp:628
SLATE_API bool DoesWidgetHaveAnyCapture(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:211
SLATE_API TSharedPtr< SWidget > GetPointerCaptor(uint32 PointerIndex) const
Definition SlateUser.cpp:375
SLATE_API bool SetPointerCaptor(uint32 PointerIndex, TSharedRef< const SWidget > Widget, const FWidgetPath &EventPath)
Definition SlateUser.cpp:239
SLATE_API void UpdatePointerPosition(const FPointerEvent &PointerEvent)
Definition SlateUser.cpp:1107
SLATE_API void NotifyPointerReleased(const FPointerEvent &PointerEvent, const FWidgetPath &WidgetsUnderCursor, TSharedPtr< FDragDropOperation > DroppedContent, bool bWasHandled)
Definition SlateUser.cpp:1147
FPlatformUserId GetPlatformUserId() const
Definition SlateUser.h:46
SLATE_API void UpdateTooltip(const FMenuStack &MenuStack, bool bCanSpawnNewTooltip)
Definition SlateUser.cpp:1218
void IncrementFocusVersion()
Definition SlateUser.h:182
SLATE_API FWeakWidgetPath GetLastWidgetsUnderCursor() const
Definition SlateUser.cpp:508
SLATE_API bool SynthesizeCursorMoveIfNeeded()
Definition SlateUser.cpp:704
void RequestCursorQuery()
Definition SlateUser.h:156
SLATE_API bool IsWidgetInFocusPath(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:180
bool HasValidFocusPath() const
Definition SlateUser.h:133
SLATE_API FWeakWidgetPath GetWeakCapturePath(uint32 PointerIndex) const
Definition SlateUser.cpp:350
SLATE_API bool IsWidgetDirectlyUnderCursor(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:485
SLATE_API void SetCursorVisibility(bool bDrawCursor)
Definition SlateUser.cpp:381
TSharedRef< FWidgetPath > GetFocusPath() const
Definition SlateUser.h:136
SLATE_API bool IsWidgetUnderCursor(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:459
SLATE_API bool IsWindowHousingInteractiveTooltip(const TSharedRef< const SWindow > &WindowToTest) const
Definition SlateUser.cpp:1530
SLATE_API void SetUserNavigationConfig(TSharedPtr< FNavigationConfig > InNavigationConfig)
Definition SlateUser.cpp:604
SLATE_API bool HasCursorCapture() const
Definition SlateUser.cpp:200
SLATE_API void NotifyWindowDestroyed(TSharedRef< SWindow > DestroyedWindow)
Definition SlateUser.cpp:759
SLATE_API bool IsWidgetDirectlyUnderAnyPointer(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:496
SLATE_API void ResetTooltipWindow()
Definition SlateUser.cpp:1521
FGestureDetector & GetGestureDetector()
Definition SlateUser.h:188
SLATE_API bool IsDetectingDrag(uint32 PointerIndex) const
Definition SlateUser.cpp:1142
SLATE_API void UnlockCursor()
Definition SlateUser.cpp:893
SLATE_API void SetCursorPosition(int32 PosX, int32 PosY)
Definition SlateUser.cpp:406
SLATE_API bool IsWidgetDirectlyUnderPointer(TSharedPtr< const SWidget > Widget, uint32 PointerIndex) const
Definition SlateUser.cpp:490
SLATE_API void StartDragDetection(const FWidgetPath &PathToWidget, int32 PointerIndex, FKey DragButton, UE::Slate::FDeprecateVector2DParameter StartLocation)
Definition SlateUser.cpp:1118
SLATE_API bool HasCapture(uint32 PointerIndex) const
Definition SlateUser.cpp:205
SLATE_API FWidgetPath DetectDrag(const FPointerEvent &PointerEvent, float DragTriggerDistance)
Definition SlateUser.cpp:1123
SLATE_API TArray< FWidgetPath > GetCaptorPaths()
Definition SlateUser.cpp:307
SLATE_API void UpdateCursor()
Definition SlateUser.cpp:902
const FGestureDetector & GetGestureDetector() const
Definition SlateUser.h:124
SLATE_API void SetFocusPath(const FWidgetPath &NewFocusPath, EFocusCause InFocusCause, bool bInShowFocus)
Definition SlateUser.cpp:746
SLATE_API void ShowTooltip(const TSharedRef< IToolTip > &InTooltip, const UE::Slate::FDeprecateVector2DParameter &InSpawnLocation)
Definition SlateUser.cpp:557
SLATE_API bool IsDragDroppingAffected(const FPointerEvent &InPointerEvent) const
Definition SlateUser.cpp:523
SLATE_API bool IsDragDropping() const
Definition SlateUser.cpp:518
SLATE_API bool DoesWidgetHaveCapture(TSharedPtr< const SWidget > Widget, uint32 PointerIndex) const
Definition SlateUser.cpp:228
SLATE_API void QueryCursor()
Definition SlateUser.cpp:767
SLATE_API void ResetDragDetection()
Definition SlateUser.cpp:1202
SLATE_API bool HasAnyCapture() const
Definition SlateUser.cpp:195
SLATE_API FVector2f GetTooltipPosition() const
Definition SlateUser.cpp:595
SLATE_API void ReleaseAllCapture()
Definition SlateUser.cpp:267
SLATE_API void LockCursor(const TSharedRef< SWidget > &Widget)
Definition SlateUser.cpp:879
SLATE_API void ReleaseCapture(uint32 PointerIndex)
Definition SlateUser.cpp:282
SLATE_API void NotifyPointerMoveBegin(const FPointerEvent &PointerEvent)
Definition SlateUser.cpp:1046
SLATE_API void CloseTooltip()
Definition SlateUser.cpp:583
SLATE_API void ClearFocus(EFocusCause ReasonFocusIsChanging=EFocusCause::SetDirectly)
Definition SlateUser.cpp:190
SLATE_API void ReleaseCursorCapture()
Definition SlateUser.cpp:277
SLATE_API void ResetDragDropContent()
Definition SlateUser.cpp:1213
SLATE_API TOptional< EFocusCause > HasFocus(TSharedPtr< const SWidget > Widget) const
Definition SlateUser.cpp:165
TSharedPtr< ICursor > GetCursor() const
Definition SlateUser.h:151
const TMap< uint32, FWeakWidgetPath > & GetWidgetsUnderPointerLastEventByIndex() const
Definition SlateUser.h:113
SLATE_API UE::Slate::FDeprecateVector2DResult GetCursorPosition() const
Definition SlateUser.cpp:433
SLATE_API void CancelDragDrop()
Definition SlateUser.cpp:528
SLATE_API void DrawCursor(const TSharedRef< SWindow > &WindowToDraw, FSlateWindowElementList &WindowElementList, int32 &MaxLayerId)
Definition SlateUser.cpp:659
SLATE_SCOPE TSharedPtr< ICursor > InCursor
Definition SlateUser.h:130
Definition SlateUser.h:18
int32 GetUserIndex() const
Definition SlateUser.h:22
virtual SLATE_API ~FSlateVirtualUserHandle()
Definition SlateUser.cpp:87
int32 GetVirtualUserIndex() const
Definition SlateUser.h:23
SLATE_SCOPE int32 InVirtualUserIndex
Definition SlateUser.h:26
Definition DrawElements.h:220
Definition UnrealString.h.inl:34
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
TSharedRef< ObjectType, Mode > ToSharedRef() const &
Definition SharedPointer.h:1028
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition SharedPointer.h:153
Definition SharedPointer.h:1295
@ Right
Definition GenericApplication.h:428
FDeprecateSlateVector2D FDeprecateVector2DResult
Definition SlateVector2.h:469
static INPUTCORE_API const FKey Invalid
Definition InputCoreTypes.h:693
Definition InputCoreTypes.h:50
Definition Optional.h:131
static CORE_API const TVector2< float > ZeroVector
Definition Vector2D.h:63
Definition SlateVector2.h:485