UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SingleClickOrDragBehavior.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "CoreMinimal.h"
8#include "InputBehavior.h"
10#include "Math/Ray.h"
11#include "Math/Vector2D.h"
12#include "Templates/Function.h"
15
16#include "SingleClickOrDragBehavior.generated.h"
17
20class UObject;
22
23
40UCLASS(MinimalAPI)
42{
44
45public:
46
51
52
57
61 INTERACTIVETOOLSFRAMEWORK_API virtual void SetDragTarget(IClickDragBehaviorTarget* DragTarget);
62
63
67 TFunction<bool(const FInputDeviceState&)> ModifierCheckFunc = nullptr;
68
69
70 // UInputBehavior implementation
71
74 INTERACTIVETOOLSFRAMEWORK_API virtual FInputCaptureUpdate UpdateCapture(const FInputDeviceState& Input, const FInputCaptureData& Data) override;
75 INTERACTIVETOOLSFRAMEWORK_API virtual void ForceEndCapture(const FInputCaptureData& Data) override;
76
77
78
80 UPROPERTY()
81 bool bBeginDragIfClickTargetNotHit = true;
82
83
85 UPROPERTY()
86 float ClickDistanceThreshold = 5.0;
87
88
92
95
97 FVector2D MouseDownPosition2D;
98 FRay MouseDownRay;
99
101 EInputCaptureSide CaptureSide;
102
104 bool bInDrag = false;
105
106
108
109 // flag used to communicate between WantsCapture and BeginCapture
110 bool bImmediatelyBeginDragInBeginCapture = false;
111
115 INTERACTIVETOOLSFRAMEWORK_API virtual void OnClickedInternal(const FInputDeviceState& Input, const FInputCaptureData& Data);
116
120 INTERACTIVETOOLSFRAMEWORK_API virtual void OnClickDragPressInternal(const FInputDeviceState& Input, EInputCaptureSide Side);
121
125 INTERACTIVETOOLSFRAMEWORK_API virtual void OnClickDragInternal(const FInputDeviceState& Input, const FInputCaptureData& Data);
126
130 INTERACTIVETOOLSFRAMEWORK_API virtual void OnClickDragReleaseInternal(const FInputDeviceState& Input, const FInputCaptureData& Data);
131
132
133};
134
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
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:64
Definition BehaviorTargetInterfaces.h:91
Definition AndroidPlatformMisc.h:14
Definition AnyButtonInputBehavior.h:33
Definition Object.h:95
Definition SingleClickOrDragBehavior.h:42
FInputBehaviorModifierStates Modifiers
Definition SingleClickOrDragBehavior.h:50
@ false
Definition radaudio_common.h:23
Definition InputBehavior.h:35
Definition InputBehavior.h:67
Definition InputBehavior.h:132
Definition InputState.h:264