public Point2D getCurrentPoint()
{
if (_typesCount < 1 || _coordsCount < 2)
return null;
int index = _coordsCount;
if (_types [_typesCount - 1] == SEG_CLOSE)
for (int i = _typesCount - 2; i > 0; i--) {
switch (_types [i]) {
case SEG_MOVETO:
//break loop;
goto loopend;
case SEG_LINETO:
index -= 2;
break;
case SEG_QUADTO:
index -= 4;
break;
case SEG_CUBICTO:
index -= 6;
break;
case SEG_CLOSE:
break;
}
}
loopend:
return new Point2D.Float (_coords [index - 2], _coords [index - 1]);
}