ij.gui
Class ImageCanvas

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Canvas
          extended by ij.gui.ImageCanvas
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.accessibility.Accessible

public class ImageCanvas
extends java.awt.Canvas
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.lang.Cloneable

This is a Canvas used to display images in a Window.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected static java.awt.Cursor crosshairCursor
           
protected static java.awt.Cursor defaultCursor
           
protected static java.awt.Cursor handCursor
           
protected  int imageHeight
           
protected  boolean imageUpdated
           
protected  int imageWidth
           
protected  ImagePlus imp
           
protected static java.awt.Cursor moveCursor
           
protected  java.awt.Rectangle srcRect
           
static boolean usePointer
           
protected  int xMouse
           
protected  int yMouse
           
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ImageCanvas(ImagePlus imp)
           
 
Method Summary
 java.awt.Point getCursorLoc()
          Returns the current cursor location.
static double getHigherZoomLevel(double currentMag)
           
static double getLowerZoomLevel(double currentMag)
           
 double getMagnification()
           
 int getModifiers()
          Returns the mouse event modifiers.
 java.awt.Dimension getPreferredSize()
           
 java.awt.Rectangle getSrcRect()
           
protected  void handlePopupMenu(java.awt.event.MouseEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 int offScreenX(int sx)
          Converts a screen x-coordinate to an offscreen x-coordinate.
 double offScreenXD(int sx)
          Converts a screen x-coordinate to a floating-point offscreen x-coordinate.
 int offScreenY(int sy)
          Converts a screen y-coordinate to an offscreen y-coordinate.
 double offScreenYD(int sy)
          Converts a screen y-coordinate to a floating-point offscreen y-coordinate.
 void paint(java.awt.Graphics g)
           
 int screenX(int ox)
          Converts an offscreen x-coordinate to a screen x-coordinate.
 int screenXD(double ox)
          Converts a floating-point offscreen x-coordinate to a screen x-coordinate.
 int screenY(int oy)
          Converts an offscreen y-coordinate to a screen y-coordinate.
 int screenYD(double oy)
          Converts a floating-point offscreen x-coordinate to a screen x-coordinate.
protected  void scroll(int sx, int sy)
           
 void setCursor(int sx, int sy, int ox, int oy)
          Sets the cursor based on the current tool and cursor location.
protected  void setDrawingColor(int ox, int oy, boolean setBackground)
           
 void setDrawingSize(int width, int height)
           
 void setImageUpdated()
          ImagePlus.updateAndDraw calls this method to get paint to update the image from the ImageProcessor.
 void setMagnification(double magnification)
           
protected  void setupScroll(int ox, int oy)
           
 void unzoom()
           
 void update(java.awt.Graphics g)
           
 void zoomIn(int x, int y)
          Zooms in by making the window bigger.
 void zoomOut(int x, int y)
          Zooms out by making srcRect bigger.
 
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defaultCursor

protected static java.awt.Cursor defaultCursor

handCursor

protected static java.awt.Cursor handCursor

moveCursor

protected static java.awt.Cursor moveCursor

crosshairCursor

protected static java.awt.Cursor crosshairCursor

usePointer

public static boolean usePointer

imp

protected ImagePlus imp

imageUpdated

protected boolean imageUpdated

srcRect

protected java.awt.Rectangle srcRect

imageWidth

protected int imageWidth

imageHeight

protected int imageHeight

xMouse

protected int xMouse

yMouse

protected int yMouse
Constructor Detail

ImageCanvas

public ImageCanvas(ImagePlus imp)
Method Detail

setDrawingSize

public void setDrawingSize(int width,
                           int height)

setImageUpdated

public void setImageUpdated()
ImagePlus.updateAndDraw calls this method to get paint to update the image from the ImageProcessor.


update

public void update(java.awt.Graphics g)
Overrides:
update in class java.awt.Canvas

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class java.awt.Canvas

getPreferredSize

public java.awt.Dimension getPreferredSize()
Overrides:
getPreferredSize in class java.awt.Component

getCursorLoc

public java.awt.Point getCursorLoc()
Returns the current cursor location.


getModifiers

public int getModifiers()
Returns the mouse event modifiers.


setCursor

public void setCursor(int sx,
                      int sy,
                      int ox,
                      int oy)
Sets the cursor based on the current tool and cursor location.


offScreenX

public int offScreenX(int sx)
Converts a screen x-coordinate to an offscreen x-coordinate.


offScreenY

public int offScreenY(int sy)
Converts a screen y-coordinate to an offscreen y-coordinate.


offScreenXD

public double offScreenXD(int sx)
Converts a screen x-coordinate to a floating-point offscreen x-coordinate.


offScreenYD

public double offScreenYD(int sy)
Converts a screen y-coordinate to a floating-point offscreen y-coordinate.


screenX

public int screenX(int ox)
Converts an offscreen x-coordinate to a screen x-coordinate.


screenY

public int screenY(int oy)
Converts an offscreen y-coordinate to a screen y-coordinate.


screenXD

public int screenXD(double ox)
Converts a floating-point offscreen x-coordinate to a screen x-coordinate.


screenYD

public int screenYD(double oy)
Converts a floating-point offscreen x-coordinate to a screen x-coordinate.


getMagnification

public double getMagnification()

setMagnification

public void setMagnification(double magnification)

getSrcRect

public java.awt.Rectangle getSrcRect()

getLowerZoomLevel

public static double getLowerZoomLevel(double currentMag)

getHigherZoomLevel

public static double getHigherZoomLevel(double currentMag)

zoomIn

public void zoomIn(int x,
                   int y)
Zooms in by making the window bigger. If we can't make it bigger, then make the srcRect smaller.


zoomOut

public void zoomOut(int x,
                    int y)
Zooms out by making srcRect bigger. If we can't make it bigger, then make the window smaller.


unzoom

public void unzoom()

scroll

protected void scroll(int sx,
                      int sy)

setDrawingColor

protected void setDrawingColor(int ox,
                               int oy,
                               boolean setBackground)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

setupScroll

protected void setupScroll(int ox,
                           int oy)

handlePopupMenu

protected void handlePopupMenu(java.awt.event.MouseEvent e)

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener