- java.lang.Object
-
- java.awt.Component
-
- java.awt.Canvas
-
- ij.gui.ImageCanvas
-
- All Implemented Interfaces:
MouseListener,MouseMotionListener,ImageObserver,MenuContainer,Serializable,Cloneable,EventListener,Accessible
- Direct Known Subclasses:
PlotCanvas
public class ImageCanvas extends Canvas implements MouseListener, MouseMotionListener, 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
Canvas.AccessibleAWTCanvas
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected static CursorcrosshairCursorprotected static CursordefaultCursorprotected intdstHeightprotected intdstWidthprotected intflagsprotected static CursorhandCursorprotected ImageJijprotected intimageHeightprotected booleanimageUpdatedprotected intimageWidthprotected ImagePlusimpprotected intlastZoomSXScreen coordinates where the last zoom operation was done (initialized to impossible value)protected intlastZoomSYprotected doublemagnificationprotected static intMAX_MOUSEMOVE_ZOOMIf the mouse moves less than this in screen pixels, successive zoom operations are on the same image pixelprotected static CursormoveCursorprotected RectanglesrcRectstatic booleanusePointerprotected intxMouseprotected intxMouseStartprotected intxSrcStartprotected intyMouseprotected intyMouseStartprotected intySrcStartprotected intzoomTargetOXImage (=offscreen) coordinates where the cursor was moved to for zoomingprotected intzoomTargetOY-
Fields inherited from class java.awt.Component
accessibleContext, 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
Constructors Constructor Description ImageCanvas(ImagePlus imp)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected DimensioncanEnlarge(int newWidth, int newHeight)Returns the size to which the window can be enlarged, or null if it can't be enlarged.booleancursorOverImage()Returns 'true' if the cursor is over this image.voiddisablePopupMenu(boolean status)Disable/enable popup menu.voidfitToWindow()PointgetCursorLoc()Returns the current cursor location in image coordinates.booleangetCustomRoi()VectorgetDisplayList()Deprecated.replaced by ImagePlus.getOverlay()static doublegetHigherZoomLevel(double currentMag)ImagePlusgetImage()Returns the ImagePlus object that is associated with this ImageCanvas.static doublegetLowerZoomLevel(double currentMag)doublegetMagnification()intgetModifiers()Returns the mouse event modifiers.OverlaygetOverlay()Use ImagePlus.getOverlay().booleangetPaintPending()DimensiongetPreferredSize()booleangetScaleToFit()static ColorgetShowAllColor()ObsoleteOverlaygetShowAllList()booleangetShowAllROIs()ObsoleteintgetSliceNumber(String label)RectanglegetSrcRect()protected voidhandlePopupMenu(MouseEvent e)protected voidhandleRoiMouseDown(MouseEvent e)booleanhideZoomIndicator(boolean hide)voidmouseClicked(MouseEvent e)voidmouseDragged(MouseEvent e)voidmouseEntered(MouseEvent e)voidmouseExited(MouseEvent e)voidmouseMoved(MouseEvent e)voidmousePressed(MouseEvent e)voidmouseReleased(MouseEvent e)intoffScreenX(int sx)Converts a screen x-coordinate to an offscreen x-coordinate (nearest pixel center).intoffScreenX2(int sx)Converts a screen x-coordinate to an offscreen x-coordinate (Roi coordinate of nearest pixel border).doubleoffScreenXD(int sx)Converts a screen x-coordinate to a floating-point offscreen x-coordinate.intoffScreenY(int sy)Converts a screen y-coordinate to an offscreen y-coordinate (nearest pixel center).intoffScreenY2(int sy)Converts a screen y-coordinate to an offscreen y-coordinate (Roi coordinate of nearest pixel border).doubleoffScreenYD(int sy)Converts a screen y-coordinate to a floating-point offscreen y-coordinate.voidpaint(Graphics g)voidrepaintOverlay()voidresetDoubleBuffer()booleanroiManagerSelect(Roi roi, boolean delete)intscreenX(int ox)Converts an offscreen x-coordinate to a screen x-coordinate.intscreenXD(double ox)Converts a floating-point offscreen x-coordinate to a screen x-coordinate.intscreenY(int oy)Converts an offscreen y-coordinate to a screen y-coordinate.intscreenYD(double oy)Converts a floating-point offscreen x-coordinate to a screen x-coordinate.protected voidscroll(int sx, int sy)voidsetCursor(int sx, int sy, int ox, int oy)Sets the cursor based on the current tool and cursor location.static voidsetCursor(Cursor cursor, int type)ExperimentalvoidsetCustomRoi(boolean customRoi)Allows plugins (e.g., Orthogonal_Views) to create a custom ROI using a display list.voidsetDisplayList(Roi roi, Color color)Deprecated.replaced by ImagePlus.setOverlay(Roi, Color, int, Color)voidsetDisplayList(Shape shape, Color color, BasicStroke stroke)Deprecated.replaced by ImagePlus.setOverlay(Shape, Color, BasicStroke)voidsetDisplayList(Vector list)Deprecated.replaced by ImagePlus.setOverlay(ij.gui.Overlay)voidsetDrawingColor(int ox, int oy, boolean setBackground)Sets the foreground drawing color (or background color if 'setBackground' is true) to the color of the pixel at (ox,oy).voidsetDrawingSize(int width, int height)Obsolete; replaced by setSize()voidsetImageUpdated()ImagePlus.updateAndDraw calls this method to force the paint() method to update the image from the ImageProcessor.static voidsetLongClickDelay(int delay)Sets the context menu long click delay in milliseconds (default is 1000).voidsetMagnification(double magnification)voidsetOverlay(Overlay overlay)Use ImagePlus.setOverlay(ij.gui.Overlay).voidsetPaintPending(boolean state)voidsetScaleToFit(boolean scaleToFit)static voidsetShowAllColor(Color c)ObsoletevoidsetShowAllList(Overlay showAllList)voidsetShowAllROIs(boolean showAllROIs)ObsoletevoidsetShowCursorStatus(boolean status)Called by IJ.showStatus() to prevent status bar text from being overwritten until the cursor moves at least 12 pixels.voidsetSize(int width, int height)voidsetSourceRect(Rectangle r)Sets the region of the image (in pixels) to be displayed.protected voidsetupScroll(int ox, int oy)voidunzoom()Implements the Image/Zoom/Original Scale command.voidupdate(Graphics g)voidzoom100Percent()Implements the Image/Zoom/View 100% command.voidzoomIn(int sx, int sy)Zooms in by making the window bigger.voidzoomOut(int sx, int sy)Zooms out by making the source rectangle (srcRect) larger and centering it on (x,y).-
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, getBaseline, getBaselineResizeBehavior, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
-
-
-
-
Field Detail
-
defaultCursor
protected static Cursor defaultCursor
-
handCursor
protected static Cursor handCursor
-
moveCursor
protected static Cursor moveCursor
-
crosshairCursor
protected static Cursor crosshairCursor
-
usePointer
public static boolean usePointer
-
imp
protected ImagePlus imp
-
imageUpdated
protected boolean imageUpdated
-
srcRect
protected Rectangle srcRect
-
imageWidth
protected int imageWidth
-
imageHeight
protected int imageHeight
-
xMouse
protected int xMouse
-
yMouse
protected int yMouse
-
MAX_MOUSEMOVE_ZOOM
protected static final int MAX_MOUSEMOVE_ZOOM
If the mouse moves less than this in screen pixels, successive zoom operations are on the same image pixel- See Also:
- Constant Field Values
-
lastZoomSX
protected int lastZoomSX
Screen coordinates where the last zoom operation was done (initialized to impossible value)
-
lastZoomSY
protected int lastZoomSY
-
zoomTargetOX
protected int zoomTargetOX
Image (=offscreen) coordinates where the cursor was moved to for zooming
-
zoomTargetOY
protected int zoomTargetOY
-
ij
protected ImageJ ij
-
magnification
protected double magnification
-
dstWidth
protected int dstWidth
-
dstHeight
protected int dstHeight
-
xMouseStart
protected int xMouseStart
-
yMouseStart
protected int yMouseStart
-
xSrcStart
protected int xSrcStart
-
ySrcStart
protected int ySrcStart
-
flags
protected int flags
-
-
Constructor Detail
-
ImageCanvas
public ImageCanvas(ImagePlus imp)
-
-
Method Detail
-
setSourceRect
public void setSourceRect(Rectangle r)
Sets the region of the image (in pixels) to be displayed.
-
getSrcRect
public Rectangle getSrcRect()
-
setDrawingSize
public void setDrawingSize(int width, int height)Obsolete; replaced by setSize()
-
setImageUpdated
public void setImageUpdated()
ImagePlus.updateAndDraw calls this method to force the paint() method to update the image from the ImageProcessor.
-
setPaintPending
public void setPaintPending(boolean state)
-
getPaintPending
public boolean getPaintPending()
-
getSliceNumber
public int getSliceNumber(String label)
-
resetDoubleBuffer
public void resetDoubleBuffer()
-
getPreferredSize
public Dimension getPreferredSize()
- Overrides:
getPreferredSizein classComponent
-
getCursorLoc
public Point getCursorLoc()
Returns the current cursor location in image coordinates.
-
cursorOverImage
public boolean cursorOverImage()
Returns 'true' if the cursor is over this image.
-
getModifiers
public int getModifiers()
Returns the mouse event modifiers.
-
getImage
public ImagePlus getImage()
Returns the ImagePlus object that is associated with this ImageCanvas.
-
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 (nearest pixel center).
-
offScreenY
public int offScreenY(int sy)
Converts a screen y-coordinate to an offscreen y-coordinate (nearest pixel center).
-
offScreenX2
public int offScreenX2(int sx)
Converts a screen x-coordinate to an offscreen x-coordinate (Roi coordinate of nearest pixel border).
-
offScreenY2
public int offScreenY2(int sy)
Converts a screen y-coordinate to an offscreen y-coordinate (Roi coordinate of nearest pixel border).
-
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)
-
fitToWindow
public void fitToWindow()
-
getLowerZoomLevel
public static double getLowerZoomLevel(double currentMag)
-
getHigherZoomLevel
public static double getHigherZoomLevel(double currentMag)
-
zoomIn
public void zoomIn(int sx, int sy)Zooms in by making the window bigger. If it can't be made bigger, then makes the source rectangle (srcRect) smaller and centers it on the position in the image where the cursor was when zooming has started. Note that sx and sy are screen coordinates.
-
canEnlarge
protected Dimension canEnlarge(int newWidth, int newHeight)
Returns the size to which the window can be enlarged, or null if it can't be enlarged.newWidth, newHeightis the size needed for showing the full image at the magnification needed
-
zoomOut
public void zoomOut(int sx, int sy)Zooms out by making the source rectangle (srcRect) larger and centering it on (x,y). If we can't make it larger, then make the window smaller. Note that sx and sy are screen coordinates.
-
unzoom
public void unzoom()
Implements the Image/Zoom/Original Scale command.
-
zoom100Percent
public void zoom100Percent()
Implements the Image/Zoom/View 100% command.
-
scroll
protected void scroll(int sx, int sy)
-
setDrawingColor
public void setDrawingColor(int ox, int oy, boolean setBackground)Sets the foreground drawing color (or background color if 'setBackground' is true) to the color of the pixel at (ox,oy).
-
mousePressed
public void mousePressed(MouseEvent e)
- Specified by:
mousePressedin interfaceMouseListener
-
setupScroll
protected void setupScroll(int ox, int oy)
-
handlePopupMenu
protected void handlePopupMenu(MouseEvent e)
-
mouseExited
public void mouseExited(MouseEvent e)
- Specified by:
mouseExitedin interfaceMouseListener
-
mouseDragged
public void mouseDragged(MouseEvent e)
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
handleRoiMouseDown
protected void handleRoiMouseDown(MouseEvent e)
-
disablePopupMenu
public void disablePopupMenu(boolean status)
Disable/enable popup menu.
-
setShowAllList
public void setShowAllList(Overlay showAllList)
-
getShowAllList
public Overlay getShowAllList()
-
setShowAllROIs
public void setShowAllROIs(boolean showAllROIs)
Obsolete
-
getShowAllROIs
public boolean getShowAllROIs()
Obsolete
-
getShowAllColor
public static Color getShowAllColor()
Obsolete
-
setShowAllColor
public static void setShowAllColor(Color c)
Obsolete
-
setCursor
public static void setCursor(Cursor cursor, int type)
Experimental
-
setOverlay
public void setOverlay(Overlay overlay)
Use ImagePlus.setOverlay(ij.gui.Overlay).
-
getOverlay
public Overlay getOverlay()
Use ImagePlus.getOverlay().
-
setDisplayList
public void setDisplayList(Vector list)
Deprecated.replaced by ImagePlus.setOverlay(ij.gui.Overlay)
-
setDisplayList
public void setDisplayList(Shape shape, Color color, BasicStroke stroke)
Deprecated.replaced by ImagePlus.setOverlay(Shape, Color, BasicStroke)
-
setDisplayList
public void setDisplayList(Roi roi, Color color)
Deprecated.replaced by ImagePlus.setOverlay(Roi, Color, int, Color)
-
getDisplayList
public Vector getDisplayList()
Deprecated.replaced by ImagePlus.getOverlay()
-
setCustomRoi
public void setCustomRoi(boolean customRoi)
Allows plugins (e.g., Orthogonal_Views) to create a custom ROI using a display list.
-
getCustomRoi
public boolean getCustomRoi()
-
setShowCursorStatus
public void setShowCursorStatus(boolean status)
Called by IJ.showStatus() to prevent status bar text from being overwritten until the cursor moves at least 12 pixels.
-
mouseReleased
public void mouseReleased(MouseEvent e)
- Specified by:
mouseReleasedin interfaceMouseListener
-
roiManagerSelect
public boolean roiManagerSelect(Roi roi, boolean delete)
-
mouseMoved
public void mouseMoved(MouseEvent e)
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
mouseEntered
public void mouseEntered(MouseEvent e)
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseClicked
public void mouseClicked(MouseEvent e)
- Specified by:
mouseClickedin interfaceMouseListener
-
setScaleToFit
public void setScaleToFit(boolean scaleToFit)
-
getScaleToFit
public boolean getScaleToFit()
-
hideZoomIndicator
public boolean hideZoomIndicator(boolean hide)
-
repaintOverlay
public void repaintOverlay()
-
setLongClickDelay
public static void setLongClickDelay(int delay)
Sets the context menu long click delay in milliseconds (default is 1000). Set to 0 to disable long click triggering.
-
-