timeline: improved beam tool and its derivatives

This commit is contained in:
itsmattkc
2020-07-07 18:43:18 +10:00
parent a239fa0e2f
commit af69f157a3
5 changed files with 24 additions and 16 deletions
+14 -1
View File
@@ -29,7 +29,20 @@ TimelineWidget::BeamTool::BeamTool(TimelineWidget *parent) :
void TimelineWidget::BeamTool::HoverMove(TimelineViewMouseEvent *event)
{
parent()->SetViewBeamCursor(event->GetCoordinates(true));
parent()->SetViewBeamCursor(ValidatedCoordinate(event->GetCoordinates(true)));
}
TimelineCoordinate TimelineWidget::BeamTool::ValidatedCoordinate(TimelineCoordinate coord)
{
if (Core::instance()->snapping()) {
rational movement;
parent()->SnapPoint({coord.GetFrame()}, &movement);
if (!movement.isNull()) {
coord.SetFrame(coord.GetFrame() + movement);
}
}
return coord;
}
OLIVE_NAMESPACE_EXIT