@Override public Shape getImageShape(int level) { VectorDataNode vectorDataNode = vectorDataReference.get(); if (vectorDataNode != null) { ReferencedEnvelope envelope = vectorDataNode.getEnvelope(); if (!envelope.isEmpty()) { Rectangle2D modelBounds = new Rectangle2D.Double(envelope.getMinX(), envelope.getMinY(), envelope.getWidth(), envelope.getHeight()); AffineTransform m2i = getModel().getModelToImageTransform(level); return m2i.createTransformedShape(modelBounds); } } return null; }
private static Rectangle2D handleVectorMask(Mask mask) { VectorDataNode vectorData = Mask.VectorDataType.getVectorData(mask); ReferencedEnvelope envelope = vectorData.getEnvelope(); if (!envelope.isEmpty()) { return new Rectangle2D.Double(envelope.getMinX(), envelope.getMinY(), envelope.getWidth(), envelope.getHeight()); } return null; }