Add virtual function to process mouse_event

(cherry picked from commit prusa3d/PrusaSlicer@2ab44546bd)
This commit is contained in:
Filip Sykala 2023-10-29 16:04:10 +08:00 committed by Noisyfox
parent 158bb47af3
commit 8e2ab660c5

View file

@ -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(); }
/// <summary>
/// Implement when want to process mouse events in gizmo
/// Click, Right click, move, drag, ...
/// </summary>
/// <param name="mouse_event">Keep information about mouse click</param>
/// <returns>Return True when use the information and don't want to propagate it otherwise False.</returns>
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(); }