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
This is a Canvas used to display images in a Window.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.Canvas
Canvas.AccessibleAWTCanvasNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static Cursorprotected static Cursorprotected intprotected intprotected intprotected static Cursorprotected ImageJprotected intprotected booleanprotected intprotected ImagePlusprotected intScreen coordinates where the last zoom operation was done (initialized to impossible value)protected intprotected doubleprotected static final intIf the mouse moves less than this in screen pixels, successive zoom operations are on the same image pixelprotected static Cursorprotected Rectanglestatic booleanprotected intprotected intprotected intprotected intprotected intprotected intprotected intImage (=offscreen) coordinates where the cursor was moved to for zoomingprotected intFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected DimensioncanEnlarge(int newWidth, int newHeight) Returns the size to which the window can be enlarged, or null if it can't be enlarged.booleanReturns 'true' if the cursor is over this image.voiddisablePopupMenu(boolean status) Disable/enable popup menu.voidReturns the current cursor location in image coordinates.booleanDeprecated.replaced by ImagePlus.getOverlay()static doublegetHigherZoomLevel(double currentMag) getImage()Returns the ImagePlus object that is associated with this ImageCanvas.static doublegetLowerZoomLevel(double currentMag) doubleintReturns the mouse event modifiers.Use ImagePlus.getOverlay().booleanbooleanstatic ColorObsoletebooleanObsoleteintgetSliceNumber(String label) protected voidprotected voidbooleanhideZoomIndicator(boolean hide) voidvoidvoidvoidvoidvoidvoidintoffScreenX(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.voidvoidvoidbooleanroiManagerSelect(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 voidExperimentalvoidsetCustomRoi(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()voidImagePlus.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 voidObsoletevoidsetShowAllList(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) voidSets the region of the image (in pixels) to be displayed.protected voidsetupScroll(int ox, int oy) voidunzoom()Implements the Image/Zoom/Original Scale command.voidvoidImplements 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, getBufferStrategyMethods 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 Details
-
defaultCursor
-
handCursor
-
moveCursor
-
crosshairCursor
-
usePointer
public static boolean usePointer -
imp
-
imageUpdated
protected boolean imageUpdated -
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_ZOOMIf the mouse moves less than this in screen pixels, successive zoom operations are on the same image pixel- See Also:
-
lastZoomSX
protected int lastZoomSXScreen coordinates where the last zoom operation was done (initialized to impossible value) -
lastZoomSY
protected int lastZoomSY -
zoomTargetOX
protected int zoomTargetOXImage (=offscreen) coordinates where the cursor was moved to for zooming -
zoomTargetOY
protected int zoomTargetOY -
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 Details
-
ImageCanvas
-
-
Method Details
-
setSourceRect
Sets the region of the image (in pixels) to be displayed. -
getSrcRect
-
setDrawingSize
public void setDrawingSize(int width, int height) Obsolete; replaced by setSize() -
setSize
public void setSize(int width, int height) -
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() -
update
-
paint
-
getSliceNumber
-
resetDoubleBuffer
public void resetDoubleBuffer() -
getPreferredSize
- Overrides:
getPreferredSizein classComponent
-
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
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
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
- Specified by:
mousePressedin interfaceMouseListener
-
setupScroll
protected void setupScroll(int ox, int oy) -
handlePopupMenu
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
handleRoiMouseDown
-
disablePopupMenu
public void disablePopupMenu(boolean status) Disable/enable popup menu. -
setShowAllList
-
getShowAllList
-
setShowAllROIs
public void setShowAllROIs(boolean showAllROIs) Obsolete -
getShowAllROIs
public boolean getShowAllROIs()Obsolete -
getShowAllColor
Obsolete -
setShowAllColor
Obsolete -
setCursor
Experimental -
setOverlay
Use ImagePlus.setOverlay(ij.gui.Overlay). -
getOverlay
Use ImagePlus.getOverlay(). -
setDisplayList
Deprecated.replaced by ImagePlus.setOverlay(ij.gui.Overlay) -
setDisplayList
Deprecated.replaced by ImagePlus.setOverlay(Shape, Color, BasicStroke) -
setDisplayList
Deprecated.replaced by ImagePlus.setOverlay(Roi, Color, int, Color) -
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
- Specified by:
mouseReleasedin interfaceMouseListener
-
roiManagerSelect
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseClicked
- 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.
-