package ini.trakem2.display; import ini.trakem2.display.graphics.GraphicsSource; import java.awt.Rectangle; import java.awt.event.MouseEvent; public interface Mode { public GraphicsSource getGraphicsSource(); public boolean canChangeLayer(); public boolean canZoom(); public boolean canPan(); public boolean isDragging(); public void undoOneStep(); public void redoOneStep(); public void mousePressed(MouseEvent me, int x_p, int y_p, double magnification); public void mouseDragged(MouseEvent me, int x_p, int y_p, int x_d, int y_d, int x_d_old, int y_d_old); public void mouseReleased(MouseEvent me, int x_p, int y_p, int x_d, int y_d, int x_r, int y_r); public void srcRectUpdated(Rectangle srcRect, double magnification); public void magnificationUpdated(Rectangle srcRect, double magnification); public boolean apply(); public boolean cancel(); public Rectangle getRepaintBounds(); }