..
This commit is contained in:
@@ -478,8 +478,32 @@ namespace AGVNavigationCore.Controls
|
||||
// But this method draws normal first.
|
||||
// So I should refactor to calculate path first, then draw?
|
||||
// Or just draw highlight on top with alpha?
|
||||
// Let's draw highlight on top with non-filled center? No, it's a line.
|
||||
// I'll draw highlight on top for now, maybe with alpha.
|
||||
// Let's draw highlight on top for now, maybe with alpha.
|
||||
}
|
||||
|
||||
// 선택된 마그넷 핸들 그리기
|
||||
if (magnet == _selectedNode && _canvasMode == CanvasMode.Edit)
|
||||
{
|
||||
using (var handleBrush = new SolidBrush(Color.White))
|
||||
using (var handlePen = new Pen(Color.Black, 1))
|
||||
{
|
||||
float size = HANDLE_SIZE / _zoomFactor;
|
||||
float half = size / 2;
|
||||
|
||||
// 시작점, 끝점 핸들
|
||||
g.FillRectangle(handleBrush, startPoint.X - half, startPoint.Y - half, size, size);
|
||||
g.DrawRectangle(handlePen, startPoint.X - half, startPoint.Y - half, size, size);
|
||||
g.FillRectangle(handleBrush, endPoint.X - half, endPoint.Y - half, size, size);
|
||||
g.DrawRectangle(handlePen, endPoint.X - half, endPoint.Y - half, size, size);
|
||||
|
||||
// 제어점 핸들 (곡선일 경우)
|
||||
if (magnet.ControlPoint != null)
|
||||
{
|
||||
var cp = magnet.ControlPoint;
|
||||
g.FillRectangle(handleBrush, (float)cp.X - half, (float)cp.Y - half, size, size);
|
||||
g.DrawRectangle(handlePen, (float)cp.X - half, (float)cp.Y - half, size, size);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -488,11 +512,10 @@ namespace AGVNavigationCore.Controls
|
||||
if (_marks == null) return; // _marks 리스트 사용
|
||||
|
||||
int sensorSize = 12; // 크기 설정
|
||||
int lineLength = 20; // 선 길이 설정
|
||||
int halfLength = lineLength / 2;
|
||||
|
||||
foreach (var mark in _marks)
|
||||
{
|
||||
int lineLength = (int)mark.Length; // 저장된 길이 사용
|
||||
int halfLength = lineLength / 2;
|
||||
Point p = mark.Position;
|
||||
double radians = mark.Rotation * Math.PI / 180.0;
|
||||
|
||||
@@ -514,6 +537,22 @@ namespace AGVNavigationCore.Controls
|
||||
g.DrawLine(highlightPen, p1, p2);
|
||||
}
|
||||
}
|
||||
|
||||
// 선택된 마크 핸들 그리기
|
||||
if (mark == _selectedNode && _canvasMode == CanvasMode.Edit)
|
||||
{
|
||||
using (var handleBrush = new SolidBrush(Color.White))
|
||||
using (var handlePen = new Pen(Color.Black, 1))
|
||||
{
|
||||
float size = HANDLE_SIZE / _zoomFactor;
|
||||
float half = size / 2;
|
||||
|
||||
g.FillRectangle(handleBrush, p1.X - half, p1.Y - half, size, size);
|
||||
g.DrawRectangle(handlePen, p1.X - half, p1.Y - half, size, size);
|
||||
g.FillRectangle(handleBrush, p2.X - half, p2.Y - half, size, size);
|
||||
g.DrawRectangle(handlePen, p2.X - half, p2.Y - half, size, size);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user