From df91a1b107fe99d1066e7d30d286b686aaa542ce Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 20 Nov 2024 11:13:13 +0100 Subject: [PATCH] Back to work! --- src/connectable.h | 2 ++ src/draggable.h | 8 ++++++++ src/node.h | 8 -------- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/connectable.h b/src/connectable.h index 2ede5b1..170d764 100644 --- a/src/connectable.h +++ b/src/connectable.h @@ -27,8 +27,10 @@ namespace VISEQ::BASE { } void update() override{ + Draggable::update(); if(pickedUp()) drag(); if(released()) putDown(); + is_hovering = hovering(); } void putDown() override { diff --git a/src/draggable.h b/src/draggable.h index 4c66f73..6a84a30 100644 --- a/src/draggable.h +++ b/src/draggable.h @@ -18,6 +18,14 @@ namespace VISEQ::BASE { bool picked_up = false; + virtual bool entered() override { + return !is_hovering && hovering(); + } + + virtual bool exited() override { + return is_hovering && !hovering(); + } + virtual bool pickedUp() { if(clicked() && held() && (STATE == IState::HOVER_NODE || STATE == IState::DRAG_NODE)) { picked_up = true; diff --git a/src/node.h b/src/node.h index 6772ddd..d7fdbed 100644 --- a/src/node.h +++ b/src/node.h @@ -61,14 +61,6 @@ namespace VISEQ::GRAPH::NODES { return STATE != APP::InteractionState::DRAW_SELECTION && CheckCollisionPointCircle(SCREEN_MOUSE, position, radius); } - virtual bool entered() override { - return !is_hovering && hovering(); - } - - virtual bool exited() override { - return is_hovering && !hovering(); - } - void update() override{ BASE::Draggable::update();