fix: draw direction arrows after origin transform so they track pan correctly
This commit is contained in:
@@ -152,8 +152,12 @@ namespace OpenNest.Controls
|
|||||||
foreach (var entity in ((Shape)offsetShape.OffsetEntity(0.25, OffsetSide.Left)).Entities)
|
foreach (var entity in ((Shape)offsetShape.OffsetEntity(0.25, OffsetSide.Left)).Entities)
|
||||||
DrawEntity(e.Graphics, entity, Pens.RoyalBlue);
|
DrawEntity(e.Graphics, entity, Pens.RoyalBlue);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
PaintOverlay?.Invoke(e.Graphics);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Action<Graphics> PaintOverlay { get; set; }
|
||||||
|
|
||||||
protected override void OnMouseWheel(MouseEventArgs e)
|
protected override void OnMouseWheel(MouseEventArgs e)
|
||||||
{
|
{
|
||||||
base.OnMouseWheel(e);
|
base.OnMouseWheel(e);
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace OpenNest.Controls
|
|||||||
reverseButton.Click += OnReverseClicked;
|
reverseButton.Click += OnReverseClicked;
|
||||||
menuReverse.Click += OnReverseClicked;
|
menuReverse.Click += OnReverseClicked;
|
||||||
applyButton.Click += OnApplyClicked;
|
applyButton.Click += OnApplyClicked;
|
||||||
preview.Paint += OnPreviewPaint;
|
preview.PaintOverlay = OnPreviewPaintOverlay;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Program Program { get; private set; }
|
public Program Program { get; private set; }
|
||||||
@@ -258,13 +258,15 @@ namespace OpenNest.Controls
|
|||||||
ProgramChanged?.Invoke(this, EventArgs.Empty);
|
ProgramChanged?.Invoke(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnPreviewPaint(object sender, PaintEventArgs e)
|
private void OnPreviewPaintOverlay(Graphics g)
|
||||||
{
|
{
|
||||||
if (contours.Count == 0) return;
|
if (contours.Count == 0) return;
|
||||||
|
|
||||||
var spacing = preview.LengthGuiToWorld(60f);
|
var spacing = preview.LengthGuiToWorld(60f);
|
||||||
var arrowSize = 5f;
|
var arrowSize = 5f;
|
||||||
|
|
||||||
|
using var pen = new Pen(Color.FromArgb(60, 60, 60), 1.5f);
|
||||||
|
|
||||||
for (var i = 0; i < contours.Count; i++)
|
for (var i = 0; i < contours.Count; i++)
|
||||||
{
|
{
|
||||||
if (!contourList.SelectedIndices.Contains(i)) continue;
|
if (!contourList.SelectedIndices.Contains(i)) continue;
|
||||||
@@ -273,9 +275,8 @@ namespace OpenNest.Controls
|
|||||||
var pgm = ConvertGeometry.ToProgram(contour.Shape);
|
var pgm = ConvertGeometry.ToProgram(contour.Shape);
|
||||||
if (pgm == null) continue;
|
if (pgm == null) continue;
|
||||||
|
|
||||||
using var pen = new Pen(Color.FromArgb(60, 60, 60), 1.5f);
|
|
||||||
var pos = new Vector();
|
var pos = new Vector();
|
||||||
CutDirectionArrows.DrawProgram(e.Graphics, preview, pgm, ref pos, pen, spacing, arrowSize);
|
CutDirectionArrows.DrawProgram(g, preview, pgm, ref pos, pen, spacing, arrowSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user