private void DrawULines(Graphics graphics, Pen lockPen, Pen unlockPen)
{
foreach (GridLine2D line2D in m_uGridLines2D)
{
Pen pen = (true == line2D.Locked) ? lockPen : unlockPen;
Pen isolatedPen = new Pen(Brushes.Gray, pen.Width);
// won't draw the grid lines at GridLine2D level, draw them at SegmentLine2D level
// at the skipped segments in the grid line won't be painted to the canvas
foreach (SegmentLine2D segLine2D in line2D.Segments)
{
// skip the removed segments, won't draw them
if (true == segLine2D.Removed)
{
continue;
}
else if (true == segLine2D.Isolated)
{
graphics.DrawLine(isolatedPen, segLine2D.StartPoint, segLine2D.EndPoint);
}
else
{
graphics.DrawLine(pen, segLine2D.StartPoint, segLine2D.EndPoint);
}
}
}
}