UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnalogCursor.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"
8
10class FSlateUser;
11struct FInputEvent;
13struct FKeyEvent;
14struct FPointerEvent;
15
17{
18 enum Type
19 {
22 };
23}
24
25enum class EAnalogStick : uint8
26{
27 Left,
28 Right,
29 Max,
30};
31
35class FAnalogCursor : public IInputProcessor, public TSharedFromThis<FAnalogCursor>
36{
37public:
40
43
44 SLATE_API virtual void Tick(const float DeltaTime, FSlateApplication& SlateApp, TSharedRef<ICursor> Cursor) override;
45
46 SLATE_API virtual bool HandleKeyDownEvent(FSlateApplication& SlateApp, const FKeyEvent& InKeyEvent) override;
47 SLATE_API virtual bool HandleKeyUpEvent(FSlateApplication& SlateApp, const FKeyEvent& InKeyEvent) override;
49 SLATE_API virtual bool HandleMouseMoveEvent(FSlateApplication& SlateApp, const FPointerEvent& MouseEvent) override;
50 virtual const TCHAR* GetDebugName() const override { return TEXT("AnalogCursor"); }
51
52
53 virtual int32 GetOwnerUserIndex() const { return 0; };
54
60
61protected:
62
63 SLATE_API virtual bool IsRelevantInput(const FInputEvent& InputEvent) const;
64 SLATE_API virtual bool IsRelevantInput(const FKeyEvent& KeyEvent) const;
66 SLATE_API virtual bool IsRelevantInput(const FPointerEvent& MouseEvent) const;
67
70 {
71 return AnalogValues[ static_cast< uint8 >( Stick ) ];
72 }
73
76
78 UE_DEPRECATED(4.24, "FAnalogCursor now updates cursor position based on user, not the hardware cursor specifically.")
80
82
84
87
90
93 float MaxSpeed;
95 float DeadZone;
97
99
100 inline FVector2D& GetAnalogValue( EAnalogStick Stick )
101 {
102 return AnalogValues[ static_cast< uint8 >( Stick ) ];
103 }
104
106 FVector2D AnalogValues[ static_cast<uint8>( EAnalogStick::Max ) ];
107};
108
EAnalogStick
Definition AnalogCursor.h:26
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition AnalogCursor.h:36
virtual const TCHAR * GetDebugName() const override
Definition AnalogCursor.h:50
virtual SLATE_API FVector2D CalculateTickedCursorPosition(const float DeltaTime, FSlateApplication &SlateApp, TSharedPtr< FSlateUser > SlateUser)
Definition AnalogCursor.cpp:289
FVector2D CurrentSpeed
Definition AnalogCursor.h:86
float StickySlowdown
Definition AnalogCursor.h:94
SLATE_API void SetMaxSpeed(float NewMaxSpeed)
Definition AnalogCursor.cpp:170
float MaxSpeed
Definition AnalogCursor.h:93
SLATE_API FAnalogCursor(const FAnalogCursor &)
virtual int32 GetOwnerUserIndex() const
Definition AnalogCursor.h:53
virtual SLATE_API bool HandleKeyDownEvent(FSlateApplication &SlateApp, const FKeyEvent &InKeyEvent) override
Definition AnalogCursor.cpp:40
SLATE_API void SetMode(AnalogCursorMode::Type NewMode)
Definition AnalogCursor.cpp:185
float Acceleration
Definition AnalogCursor.h:92
const FVector2D & GetAnalogValues(EAnalogStick Stick=EAnalogStick::Left) const
Definition AnalogCursor.h:69
virtual SLATE_API bool HandleKeyUpEvent(FSlateApplication &SlateApp, const FKeyEvent &InKeyEvent) override
Definition AnalogCursor.cpp:85
FVector2D CurrentOffset
Definition AnalogCursor.h:89
SLATE_API void SetAcceleration(float NewAcceleration)
Definition AnalogCursor.cpp:165
float DeadZone
Definition AnalogCursor.h:95
SLATE_API void ClearAnalogValues()
Definition AnalogCursor.cpp:212
virtual SLATE_API bool HandleMouseMoveEvent(FSlateApplication &SlateApp, const FPointerEvent &MouseEvent) override
Definition AnalogCursor.cpp:160
SLATE_API FAnalogCursor()
Definition AnalogCursor.cpp:13
SLATE_API void SetStickySlowdown(float NewStickySlowdown)
Definition AnalogCursor.cpp:175
SLATE_API void SetDeadZone(float NewDeadZone)
Definition AnalogCursor.cpp:180
virtual SLATE_API bool IsRelevantInput(const FInputEvent &InputEvent) const
Definition AnalogCursor.cpp:192
virtual SLATE_API void UpdateCursorPosition(FSlateApplication &SlateApp, TSharedRef< ICursor > Cursor, const FVector2D &NewPosition, bool bForce=false)
Definition AnalogCursor.cpp:218
virtual SLATE_API ~FAnalogCursor()
virtual SLATE_API bool HandleAnalogInputEvent(FSlateApplication &SlateApp, const FAnalogInputEvent &InAnalogInputEvent) override
Definition AnalogCursor.cpp:125
AnalogCursorMode::Type Mode
Definition AnalogCursor.h:96
Definition SlateApplication.h:252
Definition SlateUser.h:41
Definition ICursor.h:70
Definition IInputProcessor.h:18
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition AnalogCursor.h:17
Type
Definition AnalogCursor.h:19
@ Direct
Definition AnalogCursor.h:21
@ Accelerated
Definition AnalogCursor.h:20
@ false
Definition radaudio_common.h:23
Definition Events.h:528
Definition Events.h:155
Definition Events.h:431
Definition Events.h:695