+ area.getIPD()) / 1000f;
Color col = (Color) area.getTrait(Trait.COLOR);
state.updateColor(col);
Line2D line = new Line2D.Float();
line.setLine(startx, starty, endx, starty);
float ruleThickness = area.getRuleThickness() / 1000f;
int style = area.getRuleStyle();
switch (style) {
case EN_SOLID:
case EN_DASHED:
case EN_DOUBLE:
drawBorderLine(startx, starty, endx, starty + ruleThickness,
true, true, style, col);
break;
case EN_DOTTED:
//TODO Dots should be shifted to the left by ruleThickness / 2
state.updateStroke(ruleThickness, style);
float rt2 = ruleThickness / 2f;
line.setLine(line.getX1(), line.getY1() + rt2, line.getX2(), line.getY2() + rt2);
state.getGraph().draw(line);
break;
case EN_GROOVE:
case EN_RIDGE:
float half = area.getRuleThickness() / 2000f;