UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ClickDragBehavior.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
8#include "CoreMinimal.h"
9#include "InputBehavior.h"
10#include "InputState.h"
11#include "Templates/Function.h"
14
15#include "ClickDragBehavior.generated.h"
16
17class UObject;
18
19
31UCLASS(MinimalAPI)
33{
35
36public:
38
43
49
50
54 TFunction<bool(const FInputDeviceState&)> ModifierCheckFunc = nullptr;
55
56
57 // UInputBehavior implementation
58
61 INTERACTIVETOOLSFRAMEWORK_API virtual FInputCaptureUpdate UpdateCapture(const FInputDeviceState& Input, const FInputCaptureData& Data) override;
62 INTERACTIVETOOLSFRAMEWORK_API virtual void ForceEndCapture(const FInputCaptureData& Data) override;
63
69 UPROPERTY()
70 bool bUpdateModifiersDuringDrag = false;
71
75
77 bool bInClickDrag = false;
78
83
87 INTERACTIVETOOLSFRAMEWORK_API virtual void OnClickDragInternal(const FInputDeviceState& Input, const FInputCaptureData& Data);
88
92 INTERACTIVETOOLSFRAMEWORK_API virtual void OnClickReleaseInternal(const FInputDeviceState& Input, const FInputCaptureData& Data);
93};
94
95
96
97
98
104UCLASS(MinimalAPI)
106{
108protected:
110
111public:
113 virtual void Initialize()
114 {
115 this->Initialize(this);
116 }
117
119 TUniqueFunction<FInputRayHit(const FInputDeviceRay& PressPos)> CanBeginClickDragFunc = [](const FInputDeviceRay&) { return FInputRayHit(); };
120
122 TUniqueFunction<void(const FInputDeviceRay& PressPos)> OnClickPressFunc = [](const FInputDeviceRay&) {};
123
125 TUniqueFunction<void(const FInputDeviceRay& PressPos)> OnClickDragFunc = [](const FInputDeviceRay&) {};
126
128 TUniqueFunction<void(const FInputDeviceRay& ReleasePos)> OnClickReleaseFunc = [](const FInputDeviceRay&) {};
129
131 TUniqueFunction<void()> OnTerminateFunc = []() {};
132
133
134public:
135 //
136 // IClickDragBehaviorTarget implementation
137 //
139 {
140 return CanBeginClickDragFunc(PressPos);
141 }
142
143 virtual void OnClickPress(const FInputDeviceRay& PressPos) override
144 {
145 OnClickPressFunc(PressPos);
146 }
147
148 virtual void OnClickDrag(const FInputDeviceRay& DragPos) override
149 {
150 OnClickDragFunc(DragPos);
151 }
152
153 virtual void OnClickRelease(const FInputDeviceRay& ReleasePos) override
154 {
155 OnClickReleaseFunc(ReleasePos);
156 }
157
158 virtual void OnTerminateDragSequence() override
159 {
160 OnTerminateFunc();
161 }
162};
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EInputCaptureSide
Definition InputBehavior.h:20
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition InputBehaviorModifierStates.h:19
Definition BehaviorTargetInterfaces.h:91
Definition AndroidPlatformMisc.h:14
Definition FunctionFwd.h:19
Definition AnyButtonInputBehavior.h:33
Definition ClickDragBehavior.h:33
FInputBehaviorModifierStates Modifiers
Definition ClickDragBehavior.h:42
virtual INTERACTIVETOOLSFRAMEWORK_API void Initialize(IClickDragBehaviorTarget *Target)
Definition ClickDragBehavior.cpp:14
Definition ClickDragBehavior.h:106
virtual void Initialize()
Definition ClickDragBehavior.h:113
virtual FInputRayHit CanBeginClickDragSequence(const FInputDeviceRay &PressPos) override
Definition ClickDragBehavior.h:138
virtual void OnClickDrag(const FInputDeviceRay &DragPos) override
Definition ClickDragBehavior.h:148
virtual void OnTerminateDragSequence() override
Definition ClickDragBehavior.h:158
virtual void OnClickPress(const FInputDeviceRay &PressPos) override
Definition ClickDragBehavior.h:143
virtual void OnClickRelease(const FInputDeviceRay &ReleasePos) override
Definition ClickDragBehavior.h:153
Definition Object.h:95
@ false
Definition radaudio_common.h:23
Definition InputBehavior.h:35
Definition InputBehavior.h:67
Definition InputBehavior.h:132
Definition InputState.h:367
Definition InputState.h:264
Definition InputState.h:52