关键节点
This commit is contained in:
55
editor/src/Fields/UIEditorVector3FieldInteraction.cpp
Normal file
55
editor/src/Fields/UIEditorVector3FieldInteraction.cpp
Normal file
@@ -0,0 +1,55 @@
|
||||
#include <XCEditor/Fields/UIEditorVector3FieldInteraction.h>
|
||||
|
||||
#include "UIEditorVectorFieldInteractionShared.h"
|
||||
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
namespace {
|
||||
|
||||
struct Vector3FieldInteractionTraits {
|
||||
using Spec = Widgets::UIEditorVector3FieldSpec;
|
||||
using Metrics = Widgets::UIEditorVector3FieldMetrics;
|
||||
using Layout = Widgets::UIEditorVector3FieldLayout;
|
||||
using HitTarget = Widgets::UIEditorVector3FieldHitTarget;
|
||||
using HitTargetKind = Widgets::UIEditorVector3FieldHitTargetKind;
|
||||
using InteractionState = UIEditorVector3FieldInteractionState;
|
||||
using InteractionResult = UIEditorVector3FieldInteractionResult;
|
||||
using InteractionFrame = UIEditorVector3FieldInteractionFrame;
|
||||
|
||||
static constexpr std::size_t kComponentCount = 3u;
|
||||
static constexpr std::size_t kInvalidComponentIndex =
|
||||
Widgets::UIEditorVector3FieldInvalidComponentIndex;
|
||||
static constexpr HitTargetKind kNoneHitTargetKind =
|
||||
Widgets::UIEditorVector3FieldHitTargetKind::None;
|
||||
static constexpr HitTargetKind kRowHitTargetKind =
|
||||
Widgets::UIEditorVector3FieldHitTargetKind::Row;
|
||||
static constexpr HitTargetKind kComponentHitTargetKind =
|
||||
Widgets::UIEditorVector3FieldHitTargetKind::Component;
|
||||
|
||||
static auto& FieldState(InteractionState& state) {
|
||||
return state.vector3FieldState;
|
||||
}
|
||||
|
||||
static const auto& FieldState(const InteractionState& state) {
|
||||
return state.vector3FieldState;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
||||
UIEditorVector3FieldInteractionFrame UpdateUIEditorVector3FieldInteraction(
|
||||
UIEditorVector3FieldInteractionState& state,
|
||||
Widgets::UIEditorVector3FieldSpec& spec,
|
||||
const ::XCEngine::UI::UIRect& bounds,
|
||||
const std::vector<::XCEngine::UI::UIInputEvent>& inputEvents,
|
||||
const Widgets::UIEditorVector3FieldMetrics& metrics) {
|
||||
return Internal::VectorFieldInteractionShared::UpdateInteraction<
|
||||
Vector3FieldInteractionTraits>(
|
||||
state,
|
||||
spec,
|
||||
bounds,
|
||||
inputEvents,
|
||||
metrics);
|
||||
}
|
||||
|
||||
} // namespace XCEngine::UI::Editor
|
||||
Reference in New Issue
Block a user