Bounds bds = computeBounds(canvas, e.getX(), e.getY(), e.getModifiersEx());
currentBounds = Bounds.EMPTY_BOUNDS;
active = false;
CanvasObject add = null;
if (bds.getWidth() != 0 && bds.getHeight() != 0) {
CanvasModel model = canvas.getModel();
add = createShape(bds.getX(), bds.getY(),
bds.getWidth(), bds.getHeight());
canvas.doAction(new ModelAddAction(model, add));
repaintArea(canvas, oldBounds.add(bds));
}