package org.archstudio.bna.things.borders;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import org.archstudio.bna.IBNAView;
import org.archstudio.bna.ICoordinate;
import org.archstudio.bna.ICoordinateMapper;
import org.archstudio.bna.things.AbstractThingPeer;
import org.archstudio.bna.ui.IUIResources;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.swt.graphics.Rectangle;
@NonNullByDefault
public class MarqueeBoxBorderThingPeer<T extends MarqueeBoxBorderThing> extends AbstractThingPeer<T> {
public MarqueeBoxBorderThingPeer(T thing, IBNAView view, ICoordinateMapper cm) {
super(thing, view, cm);
}
@Override
public boolean draw(Rectangle localBounds, IUIResources r) {
Rectangle lbb = cm.worldToLocal(t.getBoundingBox());
if (!localBounds.intersects(lbb)) {
return false;
}
Shape localShape = new Rectangle2D.Double(lbb.x, lbb.y, lbb.width, lbb.height);
r.selectShape(localShape, t.getRotatingOffset());
return true;
}
@Override
public boolean isInThing(ICoordinate location) {
return false;
}
}