@Override public CanvasSize getGraphicsCanvasSize() { float x1 = Float.MAX_VALUE; float y1 = Float.MAX_VALUE; float x2 = Float.MIN_VALUE; float y2 = Float.MIN_VALUE; for (Renderer r : getManagedEnabledRenderers()) { for (String type : getItemTypes()) { for (Item item : getItems(type)) { if (r.isRendererForitem(item, getProperties())) { CanvasSize cs = r.getCanvasSize(item, getProperties()); x1 = Math.min(x1, cs.getX()); y1 = Math.min(y1, cs.getY()); x2 = Math.max(x2, cs.getMaxX()); y2 = Math.max(y2, cs.getMaxY()); } } } } return new CanvasSize(x1, y1, x2 - x1, y2 - y1); }