UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MouseHoverBehavior.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"
9#include "InputState.h"
10#include "InteractiveTool.h"
11#include "Templates/Function.h"
14
15#include "MouseHoverBehavior.generated.h"
16
17class UObject;
18
19
20
25UCLASS(MinimalAPI)
27{
29
30public:
32
37
39
47 TFunction<bool(const FInputDeviceState&)> HoverModifierCheckFunc = nullptr;
48
49 // UInputBehavior hover implementation
50
51 INTERACTIVETOOLSFRAMEWORK_API virtual EInputDevices GetSupportedDevices() override;
52
53 INTERACTIVETOOLSFRAMEWORK_API virtual bool WantsHoverEvents() override;
54 INTERACTIVETOOLSFRAMEWORK_API virtual FInputCaptureRequest WantsHoverCapture(const FInputDeviceState& InputState) override;
56 INTERACTIVETOOLSFRAMEWORK_API virtual FInputCaptureUpdate UpdateHoverCapture(const FInputDeviceState& InputState) override;
57 INTERACTIVETOOLSFRAMEWORK_API virtual void EndHoverCapture() override;
58
59protected:
61};
62
63
69UCLASS(MinimalAPI)
71{
73protected:
75
76public:
78 virtual void Initialize()
79 {
80 this->Initialize(this);
81 }
82
84 TUniqueFunction<FInputRayHit(const FInputDeviceRay& PressPos)> BeginHitTestFunc = [](const FInputDeviceRay&) { return FInputRayHit(); };
85
87 TUniqueFunction<void(const FInputDeviceRay& PressPos)> OnBeginHoverFunc = [](const FInputDeviceRay&) {};
88
90 TUniqueFunction<bool(const FInputDeviceRay& PressPos)> OnUpdateHoverFunc = [](const FInputDeviceRay&) { return false; };
91
93 TUniqueFunction<void()> OnEndHoverFunc = []() {};
94
96 TUniqueFunction< void(int, bool) > OnUpdateModifierStateFunc = [](int ModifierID, bool bIsOn) {};
97
98public:
99 // IHoverBehaviorTarget implementation
101 {
102 return BeginHitTestFunc(PressPos);
103 }
104
105 virtual void OnBeginHover(const FInputDeviceRay& DevicePos) override
106 {
107 OnBeginHoverFunc(DevicePos);
108 }
109
110 virtual bool OnUpdateHover(const FInputDeviceRay& DevicePos) override
111 {
112 return OnUpdateHoverFunc(DevicePos);
113 }
114
115 virtual void OnEndHover() override
116 {
117 OnEndHoverFunc();
118 }
119
120 // IModifierToggleBehaviorTarget implementation
121 virtual void OnUpdateModifierState(int ModifierID, bool bIsOn)
122 {
123 return OnUpdateModifierStateFunc(ModifierID, bIsOn);
124 }
125};
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
EInputDevices
Definition InputState.h:30
const bool
Definition NetworkReplayStreaming.h:178
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition InputBehaviorModifierStates.h:19
Definition BehaviorTargetInterfaces.h:230
Definition AndroidPlatformMisc.h:14
Definition FunctionFwd.h:19
Definition InputBehavior.h:249
Definition MouseHoverBehavior.h:71
virtual void OnBeginHover(const FInputDeviceRay &DevicePos) override
Definition MouseHoverBehavior.h:105
virtual void OnUpdateModifierState(int ModifierID, bool bIsOn)
Definition MouseHoverBehavior.h:121
virtual void Initialize()
Definition MouseHoverBehavior.h:78
virtual void OnEndHover() override
Definition MouseHoverBehavior.h:115
virtual FInputRayHit BeginHoverSequenceHitTest(const FInputDeviceRay &PressPos) override
Definition MouseHoverBehavior.h:100
virtual bool OnUpdateHover(const FInputDeviceRay &DevicePos) override
Definition MouseHoverBehavior.h:110
Definition MouseHoverBehavior.h:27
IHoverBehaviorTarget * Target
Definition MouseHoverBehavior.h:60
virtual INTERACTIVETOOLSFRAMEWORK_API void Initialize(IHoverBehaviorTarget *Target)
Definition MouseHoverBehavior.cpp:18
FInputBehaviorModifierStates Modifiers
Definition MouseHoverBehavior.h:36
Definition Object.h:95
Definition InputBehavior.h:67
Definition InputBehavior.h:132
Definition InputState.h:367
Definition InputState.h:264
Definition InputState.h:52