WIP: Ruler now has a mouse snapping indicator too.

This commit is contained in:
Matthias Koefferlein
2020-09-07 23:49:42 +02:00
parent df1583b5db
commit 316cf77175
5 changed files with 63 additions and 29 deletions
@@ -237,6 +237,21 @@ EditorServiceBase::clear_mouse_cursors ()
m_mouse_cursor_markers.clear ();
}
void
EditorServiceBase::mouse_cursor_from_snap_details (const lay::PointSnapToObjectResult &snap_details)
{
clear_mouse_cursors ();
add_mouse_cursor (snap_details.snapped_point,
snap_details.object_snap == lay::PointSnapToObjectResult::ObjectVertex ||
(snap_details.object_snap == lay::PointSnapToObjectResult::ObjectUnspecific && snap_details.object_ref.is_degenerate ()));
if (snap_details.object_snap == lay::PointSnapToObjectResult::ObjectEdge ||
(snap_details.object_snap == lay::PointSnapToObjectResult::ObjectUnspecific && ! snap_details.object_ref.is_degenerate ())) {
add_edge_marker (snap_details.object_ref, false);
}
}
bool
EditorServiceBase::configure (const std::string &name, const std::string &value)
{
@@ -84,6 +84,11 @@ public:
*/
void clear_mouse_cursors ();
/**
* @brief Provides a nice mouse tracking cursor from the given snap details
*/
void mouse_cursor_from_snap_details (const lay::PointSnapToObjectResult &snap_details);
/**
* @brief Gets the tracking cursor color
*/