From 8e2ab660c57efb3540b7beca9c1455f51bb10a46 Mon Sep 17 00:00:00 2001 From: Filip Sykala Date: Sun, 29 Oct 2023 16:04:10 +0800 Subject: [PATCH] Add virtual function to process mouse_event (cherry picked from commit prusa3d/PrusaSlicer@2ab44546bd5064d7007a95b106de658d01adeb82) --- src/slic3r/GUI/Gizmos/GLGizmoBase.hpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp b/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp index d85e5583e4..e58eaee6be 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoBase.hpp @@ -152,7 +152,7 @@ public: GLGizmoBase(GLCanvas3D& parent, const std::string& icon_filename, unsigned int sprite_id); - virtual ~GLGizmoBase() {} + virtual ~GLGizmoBase() = default; bool init() { return on_init(); } @@ -213,6 +213,14 @@ public: int get_count() { return ++count; } std::string get_gizmo_name() { return on_get_name(); } + /// + /// Implement when want to process mouse events in gizmo + /// Click, Right click, move, drag, ... + /// + /// Keep information about mouse click + /// Return True when use the information and don't want to propagate it otherwise False. + virtual bool on_mouse(const wxMouseEvent &mouse_event) { return false; } + void register_raycasters_for_picking() { register_grabbers_for_picking(); on_register_raycasters_for_picking(); } void unregister_raycasters_for_picking() { unregister_grabbers_for_picking(); on_unregister_raycasters_for_picking(); }