final double gridHeight = getHeight();
final double gridWidth = getWidth();
final long[] hPositions;
if (getHorizontalPositionsModel() == null)
{
final BreakPositionsList horizontalPositions = getHorizontalEdgePositions();
hPositions = horizontalPositions.getKeys();
}
else
{
hPositions = getHorizontalPositionsModel().getBreaks();
}
final Line2D.Double line = new Line2D.Double();
for (int i = 0; i < hPositions.length; i++)
{
final double position = StrictGeomUtility.toExternalValue(hPositions[i]);
final double x = position * scaleFactor;
line.setLine(x, 0, x, gridHeight);
g2d.draw(line);
}
final Point2D offset = getOffset();
final BreakPositionsList verticalPositions = getVerticalEdgePositions();
final long[] vPositions = verticalPositions.getKeys();
for (int i = 0; i < vPositions.length; i++)
{
final double position = StrictGeomUtility.toExternalValue(vPositions[i]) - offset.getY();
final double y2 = position * scaleFactor;
line.setLine(0, y2, gridWidth, y2);