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(); }