package ini.trakem2.display.graphics; import ini.trakem2.display.Display; import ini.trakem2.display.Displayable; import ini.trakem2.display.Paintable; import ini.trakem2.utils.ProjectToolbar; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Rectangle; import java.util.List; /** Handles default mode, i.e. just plain images without any transformation handles of any kind. */ public class DefaultGraphicsSource implements GraphicsSource { /** Returns the list given as argument without any modification. */ public List<? extends Paintable> asPaintable(final List<? extends Paintable> ds) { return ds; } /** Paints bounding boxes of selected objects as pink and active object as white. */ public void paintOnTop(final Graphics2D g, final Display display, final Rectangle srcRect, final double magnification) { if (ProjectToolbar.getToolId() >= ProjectToolbar.PENCIL) { // PENCIL == SPARE2 return; } g.setColor(Color.pink); Displayable active = display.getActive(); final Rectangle bbox = new Rectangle(); for (final Displayable d : display.getSelection().getSelected()) { d.getBoundingBox(bbox); if (d == active) { g.setColor(Color.white); //g.drawPolygon(d.getPerimeter()); g.drawRect(bbox.x, bbox.y, bbox.width, bbox.height); g.setColor(Color.pink); } else { //g.drawPolygon(d.getPerimeter()); g.drawRect(bbox.x, bbox.y, bbox.width, bbox.height); } } } }