Package ij.gui
Class ImageCanvas
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.AccessibleAWTCanvas
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static Cursor
protected static Cursor
protected int
protected int
protected int
protected static Cursor
protected ImageJ
protected int
protected boolean
protected int
protected ImagePlus
protected int
Screen coordinates where the last zoom operation was done (initialized to impossible value)protected int
protected double
protected static final int
If the mouse moves less than this in screen pixels, successive zoom operations are on the same image pixelprotected static Cursor
protected Rectangle
static boolean
protected int
protected int
protected int
protected int
protected int
protected int
protected int
Image (=offscreen) coordinates where the cursor was moved to for zoomingprotected int
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected Dimension
canEnlarge
(int newWidth, int newHeight) Returns the size to which the window can be enlarged, or null if it can't be enlarged.boolean
Returns 'true' if the cursor is over this image.void
disablePopupMenu
(boolean status) Disable/enable popup menu.void
Returns the current cursor location in image coordinates.boolean
Deprecated.replaced by ImagePlus.getOverlay()static double
getHigherZoomLevel
(double currentMag) getImage()
Returns the ImagePlus object that is associated with this ImageCanvas.static double
getLowerZoomLevel
(double currentMag) double
int
Returns the mouse event modifiers.Use ImagePlus.getOverlay().boolean
boolean
static Color
Obsoleteboolean
Obsoleteint
getSliceNumber
(String label) protected void
protected void
boolean
hideZoomIndicator
(boolean hide) void
void
void
void
void
void
void
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
void
boolean
roiManagerSelect
(Roi roi, boolean delete) 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.static void
Experimentalvoid
setCustomRoi
(boolean customRoi) Allows plugins (e.g., Orthogonal_Views) to create a custom ROI using a display list.void
setDisplayList
(Roi roi, Color color) Deprecated.replaced by ImagePlus.setOverlay(Roi, Color, int, Color)void
setDisplayList
(Shape shape, Color color, BasicStroke stroke) Deprecated.replaced by ImagePlus.setOverlay(Shape, Color, BasicStroke)void
setDisplayList
(Vector list) Deprecated.replaced by ImagePlus.setOverlay(ij.gui.Overlay)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).void
setDrawingSize
(int width, int height) Obsolete; replaced by setSize()void
ImagePlus.updateAndDraw calls this method to force the paint() method to update the image from the ImageProcessor.void
setMagnification
(double magnification) void
setOverlay
(Overlay overlay) Use ImagePlus.setOverlay(ij.gui.Overlay).void
setPaintPending
(boolean state) void
setScaleToFit
(boolean scaleToFit) static void
Obsoletevoid
setShowAllList
(Overlay showAllList) void
setShowAllROIs
(boolean showAllROIs) Obsoletevoid
setShowCursorStatus
(boolean status) Called by IJ.showStatus() to prevent status bar text from being overwritten until the cursor moves at least 12 pixels.void
setSize
(int width, int height) void
protected void
setupScroll
(int ox, int oy) void
unzoom()
Implements the Image/Zoom/Original Scale command.void
void
Implements the Image/Zoom/View 100% command.void
zoomIn
(int sx, int sy) Zooms in by making the window bigger.void
zoomOut
(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 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
-
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:
getPreferredSize
in 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. -
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) -
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, newHeight
is 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:
mousePressed
in interfaceMouseListener
-
setupScroll
protected void setupScroll(int ox, int oy) -
handlePopupMenu
-
mouseExited
- Specified by:
mouseExited
in interfaceMouseListener
-
mouseDragged
- Specified by:
mouseDragged
in 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:
mouseReleased
in interfaceMouseListener
-
roiManagerSelect
-
mouseMoved
- Specified by:
mouseMoved
in interfaceMouseMotionListener
-
mouseEntered
- Specified by:
mouseEntered
in interfaceMouseListener
-
mouseClicked
- Specified by:
mouseClicked
in interfaceMouseListener
-
setScaleToFit
public void setScaleToFit(boolean scaleToFit) -
getScaleToFit
public boolean getScaleToFit() -
hideZoomIndicator
public boolean hideZoomIndicator(boolean hide)
-