Navigation
API > API/Runtime > API/Runtime/Slate
Slate's representation of an individual input-providing user. As new input sources are connected, new SlateUsers are created.
| Name | FSlateUser |
| Type | class |
| Header File | /Engine/Source/Runtime/Slate/Public/Framework/Application/SlateUser.h |
| Include Path | #include "Framework/Application/SlateUser.h" |
Syntax
class FSlateUser : public TSharedFromThis< FSlateUser >
Inheritance Hierarchy
- FSharedFromThisBase → TSharedFromThis → FSlateUser
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSlateUser
(
int32 InUserIndex, |
Framework/Application/SlateUser.h | ||
FSlateUser
(
FPlatformUserId InPlatformUser, |
Framework/Application/SlateUser.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FSlateUser() |
Framework/Application/SlateUser.h |
Structs
| Name | Remarks |
|---|---|
| FActiveTooltipInfo | |
| FDragDetectionState |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| ActiveTooltipInfo | FActiveTooltipInfo | Framework/Application/SlateUser.h | ||
| bCanDrawCursor | bool | Whether this user is currently drawing the cursor onscreen each frame | Framework/Application/SlateUser.h | |
| bNeedQueryForVisibleCursor | bool | Whether we need to call QueryCursor because bCanDrawCursor was enabled | Framework/Application/SlateUser.h | |
| bQueryCursorRequested | bool | The OS or actions taken by the user may require we refresh the current state of the cursor. | Framework/Application/SlateUser.h | |
| bShowFocus | bool | If we should show this focus | Framework/Application/SlateUser.h | |
| Cursor | TSharedPtr< ICursor > | The cursor this user is in control of. | Framework/Application/SlateUser.h | |
| CursorWidgetPtr | TWeakPtr< SWidget > | Framework/Application/SlateUser.h | ||
| CursorWindowPtr | TWeakPtr< SWindow > | The cursor widget and window to render that cursor for the current software cursor. | Framework/Application/SlateUser.h | |
| DragDropContent | TSharedPtr< FDragDropOperation > | When not null, the content of the current drag drop operation. | Framework/Application/SlateUser.h | |
| DragDropWindowPtr | TWeakPtr< SWindow > | The window the drag drop content is over. | Framework/Application/SlateUser.h | |
| DragStatesByPointerIndex | TMap< uint32, FDragDetectionState > | Current drag status for pointers currently executing a drag/drop operation | Framework/Application/SlateUser.h | |
| FocusCause | EFocusCause | Reason a widget was focused by a user, if any. | Framework/Application/SlateUser.h | |
| FocusVersion | int32 | The FocusVersion is used to know if the focus state is modified for a user while processing focus events, that way upon returning from focus calls, we know if we should abandon the remainder of the event. | Framework/Application/SlateUser.h | |
| GestureDetector | FGestureDetector | Framework/Application/SlateUser.h | ||
| LastComputedLockBounds | FSlateRect | Desktop Space Rect that bounds the cursor. | Framework/Application/SlateUser.h | |
| LastCursorSignificantMoveTime | double | Store the last time the cursor position was changed | Framework/Application/SlateUser.h | |
| LockingWidgetPath | FWeakWidgetPath | Path to widget that currently holds the cursor lock; invalid path if no cursor lock. | Framework/Application/SlateUser.h | |
| NumPendingSyntheticCursorMoves | int32 | Whenever something happens that can affect Slate layout, we need to process a mouse move even if the mouse didn't move at all. | Framework/Application/SlateUser.h | |
| PlatformUser | FPlatformUserId | The owning platform user of this slate user. | Framework/Application/SlateUser.h | |
| PointerCaptorPathsByIndex | TMap< uint32, FWeakWidgetPath > | Weak paths to widgets that are currently capturing a particular pointer | Framework/Application/SlateUser.h | |
| PointerPositionsByIndex | TMap< uint32, FVector2f > | Current position of all pointers controlled by this user | Framework/Application/SlateUser.h | |
| PreviousPointerPositionsByIndex | TMap< uint32, FVector2f > | Framework/Application/SlateUser.h | ||
| StrongFocusPath | TSharedPtr< FWidgetPath > | A strong widget path to the focused widget, if any. | Framework/Application/SlateUser.h | |
| TooltipWindowPtr | TWeakPtr< SWindow > | Window that we'll re-use for spawned tool tips | Framework/Application/SlateUser.h | |
| UserIndex | int32 | The index the user was assigned. | Framework/Application/SlateUser.h | |
| UserNavigationConfig | TSharedPtr< FNavigationConfig > | SlateUsers can optionally be individually assigned a navigation config to use. | Framework/Application/SlateUser.h | |
| WeakFocusPath | FWeakWidgetPath | A weak path to the widget currently focused by a user, if any. | Framework/Application/SlateUser.h | |
| WidgetsUnderPointerLastEventByIndex | TMap< uint32, FWeakWidgetPath > | Weak paths to the last widget each pointer was under last time an event was processed | Framework/Application/SlateUser.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CancelDragDrop() |
Framework/Application/SlateUser.h | ||
void ClearFocus
(
EFocusCause ReasonFocusIsChanging |
Framework/Application/SlateUser.h | ||
void CloseTooltip() |
Framework/Application/SlateUser.h | ||
bool DoesWidgetHaveAnyCapture
(
TSharedPtr< const SWidget > Widget |
Framework/Application/SlateUser.h | ||
bool DoesWidgetHaveCapture
(
TSharedPtr< const SWidget > Widget, |
Framework/Application/SlateUser.h | ||
bool DoesWidgetHaveCursorCapture
(
TSharedPtr< const SWidget > Widget |
Framework/Application/SlateUser.h | ||
FWidgetPath GetCaptorPath
(
uint32 PointerIndex, |
Framework/Application/SlateUser.h | ||
TArray< FWidgetPath > GetCaptorPaths() |
Framework/Application/SlateUser.h | ||
TArray< TSharedRef< SWidget > > GetCaptorWidgets() |
Framework/Application/SlateUser.h | ||
TSharedPtr< SWidget > GetCursorCaptor() |
Framework/Application/SlateUser.h | ||
FWidgetPath GetCursorCaptorPath
(
FWeakWidgetPath::EInterruptedPathHandling::Type InterruptedPathHandling, |
Framework/Application/SlateUser.h | ||
UE::Slate::FDeprecateVector2DResult GetCursorPosition() |
Framework/Application/SlateUser.h | ||
TSharedPtr< FDragDropOperation > GetDragDropContent() |
Framework/Application/SlateUser.h | ||
TSharedPtr< SWidget > GetFocusedWidget() |
Framework/Application/SlateUser.h | ||
const FGestureDetector & GetGestureDetector () |
Framework/Application/SlateUser.h | ||
FWeakWidgetPath GetLastWidgetsUnderCursor() |
Framework/Application/SlateUser.h | ||
FWeakWidgetPath GetLastWidgetsUnderPointer
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
FPlatformUserId GetPlatformUserId() |
Framework/Application/SlateUser.h | ||
TSharedPtr< SWidget > GetPointerCaptor
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
UE::Slate::FDeprecateVector2DResult GetPointerPosition
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
UE::Slate::FDeprecateVector2DResult GetPreviousCursorPosition() |
Framework/Application/SlateUser.h | ||
UE::Slate::FDeprecateVector2DResult GetPreviousPointerPosition
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
FVector2f GetTooltipPosition() |
Framework/Application/SlateUser.h | ||
int32 GetUserIndex() |
Framework/Application/SlateUser.h | ||
TSharedPtr< FNavigationConfig > GetUserNavigationConfig() |
Framework/Application/SlateUser.h | ||
FWeakWidgetPath GetWeakCapturePath
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
FWeakWidgetPath GetWeakCursorCapturePath() |
Framework/Application/SlateUser.h | ||
const TMap< uint32, FWeakWidgetPath > & GetWidgetsUnderPointerLastEventByIndex() |
Framework/Application/SlateUser.h | ||
bool HasAnyCapture() |
Framework/Application/SlateUser.h | ||
bool HasCapture
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
bool HasCursorCapture() |
Framework/Application/SlateUser.h | ||
TOptional< EFocusCause > HasFocus
(
TSharedPtr< const SWidget > Widget |
Returns the cause for which the provided widget was focused, or nothing if the given widget is not the current focus target. | Framework/Application/SlateUser.h | |
bool HasFocusedDescendants
(
TSharedRef< const SWidget > Widget |
Returns true if the given widget is in the focus path, but is not the focused widget itself. | Framework/Application/SlateUser.h | |
bool IsCursorVisible() |
Framework/Application/SlateUser.h | ||
bool IsDragDropping() |
Framework/Application/SlateUser.h | ||
bool IsDragDroppingAffected
(
const FPointerEvent& InPointerEvent |
Framework/Application/SlateUser.h | ||
bool IsVirtualUser() |
Framework/Application/SlateUser.h | ||
bool IsWidgetDirectlyUnderAnyPointer
(
TSharedPtr< const SWidget > Widget |
Framework/Application/SlateUser.h | ||
bool IsWidgetDirectlyUnderCursor
(
TSharedPtr< const SWidget > Widget |
Framework/Application/SlateUser.h | ||
bool IsWidgetDirectlyUnderPointer
(
TSharedPtr< const SWidget > Widget, |
Framework/Application/SlateUser.h | ||
bool IsWidgetInFocusPath
(
TSharedPtr< const SWidget > Widget |
Returns true if the given widget is anywhere in the focus path, including the focused widget itself. | Framework/Application/SlateUser.h | |
bool IsWidgetUnderAnyPointer
(
TSharedPtr< const SWidget > Widget |
Framework/Application/SlateUser.h | ||
bool IsWidgetUnderCursor
(
TSharedPtr< const SWidget > Widget |
Framework/Application/SlateUser.h | ||
bool IsWidgetUnderPointer
(
TSharedPtr< const SWidget > Widget, |
Framework/Application/SlateUser.h | ||
void ReleaseAllCapture() |
Framework/Application/SlateUser.h | ||
void ReleaseCapture
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
void ReleaseCursorCapture() |
Framework/Application/SlateUser.h | ||
bool SetCursorCaptor
(
TSharedRef< const SWidget > Widget, |
Framework/Application/SlateUser.h | ||
void SetCursorPosition
(
int32 PosX, |
Framework/Application/SlateUser.h | ||
void SetCursorPosition
(
const UE::Slate::FDeprecateVector2DParameter& NewCursorPos |
Framework/Application/SlateUser.h | ||
void SetCursorVisibility
(
bool bDrawCursor |
Framework/Application/SlateUser.h | ||
bool SetFocus
(
const TSharedRef< SWidget >& WidgetToFocus, |
Framework/Application/SlateUser.h | ||
bool SetPointerCaptor
(
uint32 PointerIndex, |
Framework/Application/SlateUser.h | ||
void SetPointerPosition
(
uint32 PointerIndex, |
Framework/Application/SlateUser.h | ||
void SetPointerPosition
(
uint32 PointerIndex, |
Framework/Application/SlateUser.h | ||
void SetUserNavigationConfig
(
TSharedPtr< FNavigationConfig > InNavigationConfig |
Framework/Application/SlateUser.h | ||
bool ShouldShowFocus
(
TSharedPtr< const SWidget > Widget |
Framework/Application/SlateUser.h | ||
void ShowTooltip
(
const TSharedRef< IToolTip >& InTooltip, |
Framework/Application/SlateUser.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FWidgetPath DetectDrag
(
const FPointerEvent& PointerEvent, |
Framework/Application/SlateUser.h | ||
void DrawCursor
(
const TSharedRef< SWindow >& WindowToDraw, |
Framework/Application/SlateUser.h | ||
void DrawWindowlessDragDropContent
(
const TSharedRef< SWindow >& WindowToDraw, |
Framework/Application/SlateUser.h | ||
void FinishFrame() |
Framework/Application/SlateUser.h | ||
TSharedPtr< ICursor > GetCursor() |
Framework/Application/SlateUser.h | ||
TSharedRef< FWidgetPath > GetFocusPath() |
Framework/Application/SlateUser.h | ||
int32 GetFocusVersion() |
Framework/Application/SlateUser.h | ||
| Framework/Application/SlateUser.h | |||
const FWeakWidgetPath & GetWeakFocusPath() |
Framework/Application/SlateUser.h | ||
bool HasValidFocusPath() |
Framework/Application/SlateUser.h | ||
void IncrementFocusVersion() |
Framework/Application/SlateUser.h | ||
bool IsDetectingDrag
(
uint32 PointerIndex |
Framework/Application/SlateUser.h | ||
bool IsTouchPointerActive
(
int32 TouchPointerIndex |
Framework/Application/SlateUser.h | ||
bool IsWindowHousingInteractiveTooltip
(
const TSharedRef< const SWindow >& WindowToTest |
Framework/Application/SlateUser.h | ||
void LockCursor
(
const TSharedRef< SWidget >& Widget |
Framework/Application/SlateUser.h | ||
void NotifyPointerMoveBegin
(
const FPointerEvent& PointerEvent |
Framework/Application/SlateUser.h | ||
void NotifyPointerMoveComplete
(
const FPointerEvent& PointerEvent, |
Framework/Application/SlateUser.h | ||
void NotifyPointerReleased
(
const FPointerEvent& PointerEvent, |
Framework/Application/SlateUser.h | ||
void NotifyTouchStarted
(
const FPointerEvent& TouchEvent |
Framework/Application/SlateUser.h | ||
void NotifyWindowDestroyed
(
TSharedRef< SWindow > DestroyedWindow |
Framework/Application/SlateUser.h | ||
void OverrideCursor
(
const TSharedPtr< ICursor > InCursor |
Framework/Application/SlateUser.h | ||
void ProcessCursorReply
(
const FCursorReply& CursorReply |
Framework/Application/SlateUser.h | ||
void QueryCursor() |
Framework/Application/SlateUser.h | ||
void QueueSyntheticCursorMove() |
Framework/Application/SlateUser.h | ||
void RequestCursorQuery() |
Framework/Application/SlateUser.h | ||
void ResetDragDetection() |
Framework/Application/SlateUser.h | ||
void ResetDragDropContent() |
Framework/Application/SlateUser.h | ||
void ResetTooltipWindow() |
Framework/Application/SlateUser.h | ||
void SetDragDropContent
(
TSharedRef< FDragDropOperation > InDragDropContent |
Framework/Application/SlateUser.h | ||
void SetFocusPath
(
const FWidgetPath& NewFocusPath, |
Framework/Application/SlateUser.h | ||
void StartDragDetection
(
const FWidgetPath& PathToWidget, |
Framework/Application/SlateUser.h | ||
bool SynthesizeCursorMoveIfNeeded() |
Framework/Application/SlateUser.h | ||
void UnlockCursor() |
Framework/Application/SlateUser.h | ||
void UpdateCursor() |
Framework/Application/SlateUser.h | ||
void UpdatePointerPosition
(
const FPointerEvent& PointerEvent |
Framework/Application/SlateUser.h | ||
void UpdateTooltip
(
const FMenuStack& MenuStack, |
Framework/Application/SlateUser.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static TSharedRef< FSlateUser > Create
(
FPlatformUserId InPlatformUserId, |
Framework/Application/SlateUser.h | ||
static TSharedRef< FSlateUser > Create
(
int32 InUserIndex, |
Framework/Application/SlateUser.h |