Allow moving all freehand points while creating it using ctrl

This commit is contained in:
Jaex 2016-08-05 11:43:52 +03:00
parent d33b19e3c7
commit 7ac883e8b9
2 changed files with 22 additions and 15 deletions

View file

@ -136,7 +136,7 @@ public virtual void OnUpdate()
{
if (Manager.IsCreating && !Rectangle.IsEmpty)
{
Point currentPosition = InputManager.MousePosition0Based;
Point pos = InputManager.MousePosition0Based;
if (Manager.IsCornerMoving)
{
@ -146,19 +146,19 @@ public virtual void OnUpdate()
{
if (NodeType == NodeType.Rectangle)
{
currentPosition = CaptureHelpers.SnapPositionToDegree(StartPosition, currentPosition, 90, 45);
pos = CaptureHelpers.SnapPositionToDegree(StartPosition, pos, 90, 45);
}
else if (NodeType == NodeType.Line)
{
currentPosition = CaptureHelpers.SnapPositionToDegree(StartPosition, currentPosition, 45, 0);
pos = CaptureHelpers.SnapPositionToDegree(StartPosition, pos, 45, 0);
}
}
else if (Manager.IsSnapResizing)
{
currentPosition = Manager.SnapPosition(StartPosition, currentPosition);
pos = Manager.SnapPosition(StartPosition, pos);
}
EndPosition = currentPosition;
EndPosition = pos;
}
else if (Manager.IsMoving)
{

View file

@ -42,24 +42,31 @@ public override void OnUpdate()
{
if (Manager.IsCreating)
{
Point pos = InputManager.MousePosition0Based;
if (points.Count == 0 || (!Manager.IsProportionalResizing && points[points.Count - 1] != pos))
if (Manager.IsCornerMoving)
{
points.Add(pos);
Move(InputManager.MouseVelocity);
}
if (Manager.IsProportionalResizing)
else
{
if (!isPolygonMode)
Point pos = InputManager.MousePosition0Based;
if (points.Count == 0 || (!Manager.IsProportionalResizing && points[points.Count - 1] != pos))
{
points.Add(pos);
}
points[points.Count - 1] = pos;
}
if (Manager.IsProportionalResizing)
{
if (!isPolygonMode)
{
points.Add(pos);
}
isPolygonMode = Manager.IsProportionalResizing;
points[points.Count - 1] = pos;
}
isPolygonMode = Manager.IsProportionalResizing;
}
Rectangle = points.CreateRectangle();
}