O2Plib.image
Class ScrollableImage

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by O2Plib.image.ScrollableImage
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class ScrollableImage
extends javax.swing.JPanel
implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.KeyListener

ScrollableImageCanvas class supports a scrollable JPanel

See Also:
Serialized Form

Nested Class Summary
private  class ScrollableImage.Corner
          CLASS CornerCorner Adapted from " The Java Tutorial" book.
private  class ScrollableImage.ImageCanvas
           
private  class ScrollableImage.Rule
          CLASS Rule Adapted from " The Java Tutorial" book.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 boolean altMod
          ALT/Mouse
 java.awt.Point centerPt
          center point
private  ScrollableImage.Rule columnView
          column pixel size rulers
 boolean CONSOLE_FLAG
           
 boolean ctrlMod
          CTRL/Mouse
 boolean ctrlShiftMod
          CTRL-SHIFT/Mouse
 int curPixHeight
          pixel height
 int curPixWidth
          pixel width
 java.awt.Point curPos
          current position of scrollers
 java.awt.Image displayImg
          image to display, can be zoomed
 int hPosOld
          old horizontal position
 ScrollableImage.ImageCanvas imagePanel
          actual object to be displayed
 boolean internalZoomButtonsFlag
          FUTURE: special internal buttons for zoom
static java.lang.String INVOKE_METHOD_NAME
          name of method that parent needs to have implemented for remote painting
 javax.swing.JScrollPane jsp
          Scroll pane to hold the image
static float MAX_ZOOM_MAG_VAL
          max zoomMag value (zoom/dezoom) X magnification
 int maxHorOld
           
 int maxVertOld
           
static float MIN_ZOOM_MAG_VAL
          min zoomMag value (zoom/dezoom) X magnification
static int NBR_INVOKE_PARAMS
          number of parameters used to invoke for remote painting
 boolean NEVER
          NEVER and CONSOLE_FLAG - debugging variables - must not be final!
 java.awt.Image offScreenImg
          image for double buffer TODO: should be able to draw offscreen
 int oldScrollerHeight
          for calc Scroller Positions height
 int oldScrollerWidth
          for calc Scroller Positions width
 java.awt.Image origImg
          original image
 int origPixHeight
          original pixel height
 int origPixWidth
          pixel width
 java.lang.Object parentObj
          pass parent instance down
private  boolean PIXEL_RULERS
          FUTURE: To display rulers with pixel size in JScrollPane
 java.awt.Dimension preferedSize
          preferred size of canvas
 int preferredHeight
          preferred size of canvas
 int preferredWidth
          preferred size of canvas
private  ScrollableImage.Rule rowView
          row pixel size rulers
 boolean scrollerFlag
          create w/ scrollers
 int scrollPaneHeight
          height of image scroller
 int scrollPaneWidth
          width of image scroller
 java.awt.Point scrollPos
          keep track of Scroller Positions
(package private) static long serialVersionUID
          frame id
 boolean shiftMod
          SHIFT/Mouse
 boolean tickFlagLRHC
          paint lower rt hand corner
 boolean tickFlagULHC
          paint upper lt hand corner
 Util util
          for misc methods
 int viewHeight
           
 java.awt.Dimension viewPortSize
          dimensions of the view port
 int viewWidth
           
 int vPosOld
          old vertical position
 int xBase
          + base address of ULHC of clipped image in image canvas used in last paint
 int xCtr
          center coords of image, for zoom/dezoom
 int xImg
          image address (x,y)+(xBase,yBase)
 int xObj
          image address (x,y)+(xBase,yBase)
 int yBase
           
 int yCtr
          center coords of image, for zoom/dezoom
 int yImg
          image address (x,y)+(xBase,yBase)
 int yObj
          image address (x,y)+(xBase,yBase)
 int zoomValue
          zoom/magnification value
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
ScrollableImage(java.awt.Image origImg, int scrollPaneWidth, int scrollPaneHeight, int pixWidth, int pixHeight, java.lang.Object parentObj, boolean internalZoomButtonsFlag, boolean scrollerFlag)
          ScrollableImageCanvas() - constructor.
 
Method Summary
 javax.swing.JScrollPane createScroller(ScrollableImage.ImageCanvas imagePanel, int preferredWidth, int preferredHeight, boolean scrollerFlag)
          createScroller() - Create JScroller with/without pixel ruler, or zoom buttons
 java.awt.Image createZoomedImage(java.awt.Image origImg, int xC, int yC, int newWidth, int newHeight)
          createZoomedImage() - create zoomed image using getScaledInstance.
 int getHorizontalScrollBarVal()
          getHorizontalScrollBarVal() -
 int getMaximumHorizontalSB()
          getMaximumHorizontalSB() -
 java.awt.Dimension getMaximumSize()
          getMaximumSize() - getMaximumSize, must be implemented for ScrollPane to be displayed correctly.
 int getMaximumVerticalSB()
          getMaximumVerticalSB() -
 java.awt.Dimension getMinimumSize()
          getMinimumSize() - getMinimumSize, must be implemented for ScrollPane to be displayed correctly.
 int[] getPixelDataFromImage(java.awt.Image img, int width, int height)
          getPixelDataFromImage() - get the pixel data from the image
 java.awt.Dimension getPreferredSize()
          getPreferredSize() - getPreferredSize, must be implemented for ScrollPane to be displayed correctly.
 int getVerticalScrollBarVal()
          getVerticalScrollBarVal() -
 void keyPressed(java.awt.event.KeyEvent keyEvent)
          keyPressed() - handle key down events
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 java.awt.Point mapRelXYtoImage(java.awt.event.MouseEvent e)
          mapRelXYtoImage() - map (x,y)Mouse in current canvas to (xImg,yImg) as well as updating the parent.(xImg,yImg) values.
 java.awt.Point mapStateToZoom(float magVal, java.awt.Point XYobjToMap)
          mapStateToZoom() - map state point to zoomed/dezoomed point This can be used for remapping overlays.
 java.awt.Point mapStateToZoom(int magVal, java.awt.Point XYobjToMap)
          mapStateToZoom() - map state point to zoomed/dezoomed point based on zoomMagVal.
 java.awt.Point mapZoomToState(float magVal, java.awt.Point zoomedXYobjToMap)
          mapZoomToState() - map zoom point to state point This can be used for remapping overlays.
 java.awt.Point mapZoomToState(int magVal, java.awt.Point zoomedXYobjToMap)
          mapZoomToState() - map zoom point to state point based on zoomMagVal.
 void mouseClicked(java.awt.event.MouseEvent mouseEvent)
          mouseClicked() - Pass this event to the parent class.
 void mouseDragged(java.awt.event.MouseEvent mouseEvent)
          mouseDragged() - Pass this event to the parent class.
 void mouseEntered(java.awt.event.MouseEvent mouseEvent)
          mouseEntered() - Pass this event to the parent class.
 void mouseExited(java.awt.event.MouseEvent mouseEvent)
          mouseExited() - Pass this envent to the parent class.
 void mouseMoved(java.awt.event.MouseEvent mouseEvent)
          mouseMoved() - Pass this event to the parent class.
 void mousePressed(java.awt.event.MouseEvent mouseEvent)
          mousePressed() - display data
 void mouseReleased(java.awt.event.MouseEvent mouseEvent)
          mouseReleased() - Pass this event to the parent class.
protected  void paintComponent(java.awt.Graphics g)
          paintComponent() - paint
 void resetImage(java.awt.Image img)
          resetImage() - set or reset images
 void resetImage(java.awt.Image img, int w, int h)
          resetImage() - set or reset images
 void resizeImageCanvas(float zoomValue)
          resizeImageCanvas() - Reset Image, used in zoom and dezoom.
 void resizeImageCanvas(int newWidth, int newHeight, float mag)
          resizeImageCanvas() - Reset Image, used in zoom and dezoom.
 void setHorizontalScrollBarVal(int value)
          setHorizontalScrollBarVal() -
 void setObjPosition(int x, int y)
          setObjPosition() - set the object position in non-zoomed space.
 void setVerticalScrollBarVal(int value)
          setVerticalScrollBarVal() -
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
frame id

See Also:
Constant Field Values

NEVER

public boolean NEVER
NEVER and CONSOLE_FLAG - debugging variables - must not be final!


CONSOLE_FLAG

public boolean CONSOLE_FLAG

PIXEL_RULERS

private final boolean PIXEL_RULERS
FUTURE: To display rulers with pixel size in JScrollPane

See Also:
Constant Field Values

NBR_INVOKE_PARAMS

public static final int NBR_INVOKE_PARAMS
number of parameters used to invoke for remote painting

See Also:
Constant Field Values

INVOKE_METHOD_NAME

public static final java.lang.String INVOKE_METHOD_NAME
name of method that parent needs to have implemented for remote painting

See Also:
Constant Field Values

MAX_ZOOM_MAG_VAL

public static final float MAX_ZOOM_MAG_VAL
max zoomMag value (zoom/dezoom) X magnification

See Also:
Constant Field Values

MIN_ZOOM_MAG_VAL

public static final float MIN_ZOOM_MAG_VAL
min zoomMag value (zoom/dezoom) X magnification

See Also:
Constant Field Values

displayImg

public java.awt.Image displayImg
image to display, can be zoomed


origImg

public java.awt.Image origImg
original image


offScreenImg

public java.awt.Image offScreenImg
image for double buffer TODO: should be able to draw offscreen


centerPt

public java.awt.Point centerPt
center point


viewPortSize

public java.awt.Dimension viewPortSize
dimensions of the view port


xCtr

public int xCtr
center coords of image, for zoom/dezoom


yCtr

public int yCtr
center coords of image, for zoom/dezoom


curPos

public java.awt.Point curPos
current position of scrollers


xObj

public int xObj
image address (x,y)+(xBase,yBase)


yObj

public int yObj
image address (x,y)+(xBase,yBase)


xImg

public int xImg
image address (x,y)+(xBase,yBase)


yImg

public int yImg
image address (x,y)+(xBase,yBase)


zoomValue

public int zoomValue
zoom/magnification value


curPixHeight

public int curPixHeight
pixel height


curPixWidth

public int curPixWidth
pixel width


origPixHeight

public int origPixHeight
original pixel height


origPixWidth

public int origPixWidth
pixel width


oldScrollerWidth

public int oldScrollerWidth
for calc Scroller Positions width


oldScrollerHeight

public int oldScrollerHeight
for calc Scroller Positions height


scrollPaneWidth

public int scrollPaneWidth
width of image scroller


scrollPaneHeight

public int scrollPaneHeight
height of image scroller


preferedSize

public java.awt.Dimension preferedSize
preferred size of canvas


preferredWidth

public int preferredWidth
preferred size of canvas


preferredHeight

public int preferredHeight
preferred size of canvas


viewWidth

public int viewWidth

viewHeight

public int viewHeight

ctrlMod

public boolean ctrlMod
CTRL/Mouse


shiftMod

public boolean shiftMod
SHIFT/Mouse


ctrlShiftMod

public boolean ctrlShiftMod
CTRL-SHIFT/Mouse


altMod

public boolean altMod
ALT/Mouse


tickFlagULHC

public boolean tickFlagULHC
paint upper lt hand corner


tickFlagLRHC

public boolean tickFlagLRHC
paint lower rt hand corner


xBase

public int xBase
+ base address of ULHC of clipped image in image canvas used in last paint


yBase

public int yBase

imagePanel

public ScrollableImage.ImageCanvas imagePanel
actual object to be displayed


scrollPos

public java.awt.Point scrollPos
keep track of Scroller Positions


jsp

public javax.swing.JScrollPane jsp
Scroll pane to hold the image


util

public Util util
for misc methods


columnView

private ScrollableImage.Rule columnView
column pixel size rulers


rowView

private ScrollableImage.Rule rowView
row pixel size rulers


parentObj

public java.lang.Object parentObj
pass parent instance down


internalZoomButtonsFlag

public boolean internalZoomButtonsFlag
FUTURE: special internal buttons for zoom


scrollerFlag

public boolean scrollerFlag
create w/ scrollers


maxHorOld

public int maxHorOld

maxVertOld

public int maxVertOld

hPosOld

public int hPosOld
old horizontal position


vPosOld

public int vPosOld
old vertical position

Constructor Detail

ScrollableImage

public ScrollableImage(java.awt.Image origImg,
                       int scrollPaneWidth,
                       int scrollPaneHeight,
                       int pixWidth,
                       int pixHeight,
                       java.lang.Object parentObj,
                       boolean internalZoomButtonsFlag,
                       boolean scrollerFlag)
ScrollableImageCanvas() - constructor.

Parameters:
img - is the image to create
origImg - copy of orginal image, used in zooming
scrollerWidth - width of scroller
scrollerHeight - height of scroller
pixWidth - image width
pixHeight - image height
parentObj - to pass painting and mouse events
Method Detail

resetImage

public void resetImage(java.awt.Image img)
resetImage() - set or reset images

Parameters:
img - image to set

resetImage

public void resetImage(java.awt.Image img,
                       int w,
                       int h)
resetImage() - set or reset images

Parameters:
img - image to set

createScroller

public javax.swing.JScrollPane createScroller(ScrollableImage.ImageCanvas imagePanel,
                                              int preferredWidth,
                                              int preferredHeight,
                                              boolean scrollerFlag)
createScroller() - Create JScroller with/without pixel ruler, or zoom buttons

Parameters:
imagePanel - component to place inside scroller
preferredWidth - width of scroller
preferredHeight - height of scroller
Returns:
JScrollPane for use in GUI

getMaximumHorizontalSB

public int getMaximumHorizontalSB()
getMaximumHorizontalSB() -

Returns:
max scroller value

getMaximumVerticalSB

public int getMaximumVerticalSB()
getMaximumVerticalSB() -

Returns:
max scroller value

getHorizontalScrollBarVal

public int getHorizontalScrollBarVal()
getHorizontalScrollBarVal() -

Returns:
int position of scroller

getVerticalScrollBarVal

public int getVerticalScrollBarVal()
getVerticalScrollBarVal() -

Returns:
int position of scroller

setHorizontalScrollBarVal

public void setHorizontalScrollBarVal(int value)
setHorizontalScrollBarVal() -


setVerticalScrollBarVal

public void setVerticalScrollBarVal(int value)
setVerticalScrollBarVal() -


resizeImageCanvas

public void resizeImageCanvas(float zoomValue)
resizeImageCanvas() - Reset Image, used in zoom and dezoom.

Parameters:
zoomValue - is magnification to use.

resizeImageCanvas

public void resizeImageCanvas(int newWidth,
                              int newHeight,
                              float mag)
resizeImageCanvas() - Reset Image, used in zoom and dezoom.

Parameters:
img - is the image to set to be drawn
newWidth - tof the canvas
newHeight - tof the canvas
mag - of the canvas

createZoomedImage

public java.awt.Image createZoomedImage(java.awt.Image origImg,
                                        int xC,
                                        int yC,
                                        int newWidth,
                                        int newHeight)
createZoomedImage() - create zoomed image using getScaledInstance. The image used is the one used for zoomed input using the getImageForZoomInput() that could be either (iImg, oImg).

Parameters:
xC - is new zoomed X center
yC - is new zoomed Y center
newWidth - is new zoomed width (odd size)
newHeight - is new zoomed height (odd size)
Returns:
zoomed image

getPixelDataFromImage

public int[] getPixelDataFromImage(java.awt.Image img,
                                   int width,
                                   int height)
getPixelDataFromImage() - get the pixel data from the image

Parameters:
img - image to use
width - of image
height - of image
Returns:
int[] array of pixel data,

mapStateToZoom

public java.awt.Point mapStateToZoom(float magVal,
                                     java.awt.Point XYobjToMap)
mapStateToZoom() - map state point to zoomed/dezoomed point This can be used for remapping overlays.

Parameters:
magVal - float value of magification
mappedXYobj - to use if not null, else create one.
Returns:
zoomed point

mapZoomToState

public java.awt.Point mapZoomToState(float magVal,
                                     java.awt.Point zoomedXYobjToMap)
mapZoomToState() - map zoom point to state point This can be used for remapping overlays.

Parameters:
magVal - float value of magification
mappedXYobj - to use if not null, else create one.
Returns:
zoomed point, -1 if out of bounds

mapStateToZoom

public java.awt.Point mapStateToZoom(int magVal,
                                     java.awt.Point XYobjToMap)
mapStateToZoom() - map state point to zoomed/dezoomed point based on zoomMagVal. This can be used for remapping overlays.

Parameters:
magVal - int value of magification
mappedXYobj - to use if not null, else create one.
Returns:
zoomed point

mapZoomToState

public java.awt.Point mapZoomToState(int magVal,
                                     java.awt.Point zoomedXYobjToMap)
mapZoomToState() - map zoom point to state point based on zoomMagVal. This can be used for remapping overlays.

Parameters:
magVal - int value of magification
mappedXYobj - to use if not null, else create one.
Returns:
zoomed point, -1 if out of bounds

getMaximumSize

public java.awt.Dimension getMaximumSize()
getMaximumSize() - getMaximumSize, must be implemented for ScrollPane to be displayed correctly.

Overrides:
getMaximumSize in class javax.swing.JComponent

getMinimumSize

public java.awt.Dimension getMinimumSize()
getMinimumSize() - getMinimumSize, must be implemented for ScrollPane to be displayed correctly.

Overrides:
getMinimumSize in class javax.swing.JComponent

getPreferredSize

public java.awt.Dimension getPreferredSize()
getPreferredSize() - getPreferredSize, must be implemented for ScrollPane to be displayed correctly.

Overrides:
getPreferredSize in class javax.swing.JComponent

mapRelXYtoImage

public final java.awt.Point mapRelXYtoImage(java.awt.event.MouseEvent e)
mapRelXYtoImage() - map (x,y)Mouse in current canvas to (xImg,yImg) as well as updating the parent.(xImg,yImg) values. Set the lastISName for possible use elsewhere.

Parameters:
e - is mouse event
x - is image cursor
y - is image cursor3

setObjPosition

public void setObjPosition(int x,
                           int y)
setObjPosition() - set the object position in non-zoomed space.

Parameters:
x - is new object position
y - is new object position

paintComponent

protected void paintComponent(java.awt.Graphics g)
paintComponent() - paint

Overrides:
paintComponent in class javax.swing.JComponent
Parameters:
g - is graphics context.

mousePressed

public void mousePressed(java.awt.event.MouseEvent mouseEvent)
mousePressed() - display data

Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
mouseEvent - is MouseEvent

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent mouseEvent)
mouseDragged() - Pass this event to the parent class.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Parameters:
mouseEvent - is MouseEvent

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent mouseEvent)
mouseClicked() - Pass this event to the parent class.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
mouseEvent - is MouseEvent

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent mouseEvent)
mouseEntered() - Pass this event to the parent class.

Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
mouseEvent - is MouseEvent

mouseExited

public void mouseExited(java.awt.event.MouseEvent mouseEvent)
mouseExited() - Pass this envent to the parent class.

Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
mouseEvent - is MouseEvent

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent mouseEvent)
mouseReleased() - Pass this event to the parent class.

Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
mouseEvent - is MouseEvent

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent mouseEvent)
mouseMoved() - Pass this event to the parent class.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Parameters:
mouseEvent - is MouseEvent

keyPressed

public void keyPressed(java.awt.event.KeyEvent keyEvent)
keyPressed() - handle key down events

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - is KeyEvent

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener