protected transient Rectangle2D rect;
protected transient BasicStroke scaledStroke;
protected transient double previousScaleRecip = Double.NaN;
+ private boolean ignore = false;
+ private double paddingFactor = 5.0;
+ public void setIgnore(boolean value) {
+ ignore = value;
+ }
+
+ public void setPaddingFactor(double factor) {
+ paddingFactor = factor;
+ }
+
@SyncField({"transform", "bounds", "color"})
public void init(AffineTransform transform, Rectangle2D bounds, Color color) {
this.transform = transform;
@Override
public void render(Graphics2D g) {
if (bounds == null) return;
+
+ if (ignore) return;
// Prevent exceptions during rendering.
if (transform.getDeterminant() == 0)
}
g.setStroke(scaledStroke);
- double padding = 5.0 * scaleRecip;
+ double padding = paddingFactor * scaleRecip;
double paddingX = padding;
double paddingY = padding;
g.setTransform(ot);
}
+
+ public Rectangle2D getRect() {
+ return transform.createTransformedShape(rect).getBounds2D();
+ }
@Override
public Rectangle2D getBoundsInLocal() {