/** @(#) DrawingCanvas.java 1.0 2000/4/10
 * Copyright (c) 2000 Larry Rodrigues
 */
package com.vistech.imageviewer;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

/**Specifies methods for drawing graphics objects over an image drawn on a component.
 * @version 1.0  4 April 2000
 * @author Larry Rodrigues
 */

public interface DrawingCanvas {
   /** Use this method to check out the graphics context. 
     * @return the graphics context on which the image drawn.
     * Graphics objects are drawn on this context.
     */
   public Graphics2D getDisplayedImageGC();
   /** Use this method to check out the current transformation.
     * @return the current transformation of the image canvas.
     */
   public AffineTransform getTransform();
   /** Use this method to check in the current transformation.
     * @param atx the current transformation of the image canvas.
     */
   public void setTransform(AffineTransform atx);
   /* Erases shapes drawn over the image */
   public void eraseShapes();
   /** Repaints the graphical objects. */
   public void repaint();
   /** Resets the canvas */
   public void reset();
   public void addMouseListener(MouseListener ml);
   public void removeMouseListener(MouseListener ml);
   public void addMouseMotionListener(MouseMotionListener ml);
   public void removeMouseMotionListener(MouseMotionListener ml);
}
