org.formaria.svg
Class SvgMagnifyingGlass

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.formaria.svg.SvgMagnifyingGlass
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable

public class SvgMagnifyingGlass
extends javax.swing.JComponent
implements java.lang.Runnable

Copyright (c) Formaria Ltd., 2008, This software is licensed under the GNU Public License (GPL), please see license.txt for more details. If you make commercial use of this software you must purchase a commercial license from Formaria.

$Revision: 1.2 $

See Also:
Serialized Form

Nested Class Summary
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int FADE_IN
           
static int FADE_OUT
           
 
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
SvgMagnifyingGlass()
          Creates a new instance of SvgMagnifyingGlass
 
Method Summary
 float getScaleFactor()
          Returns the current scale factor.
protected  void paintComponent(java.awt.Graphics g)
           
 void run()
          Used to run the fading-in and fading-out animations.
 void setAnimationMode(int animationMode, float animationSpeed)
          Sets whether a fade-in or fade-out animation is to be run.
 void setDiagram(SVGDiagram diagram)
          Set the SVGDiagram instance that the magnifier will magnify.
 void setImageMap(SvgImageMap imageMap)
          Set the SvgImageMap instance that the magnifier will be displayed upon.
 void setOpaque(boolean isOpaque)
          Sets whether the magnifying glass is opaque or not.
 void setQuality(boolean quality)
          Sets quality level of the lens image.
 void setRotational(boolean isRotational)
          Sets whether the lens is rotated towards the centre.
 void setScaleFactor(float scaleFactor)
          Used to set the scale factor, which defines by how much the selected area of the SVG image is zoomed.
 void setTransparency(float a)
          Set the alpha transparency of the magnifier a float specifying the new alpha transparency
 void setZoomPoint(java.awt.Point p, java.awt.Point mouseLocation)
          Used to set which part of the SVG image will be zoomed.
 void stopThreads()
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
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

FADE_IN

public static final int FADE_IN
See Also:
Constant Field Values

FADE_OUT

public static final int FADE_OUT
See Also:
Constant Field Values
Constructor Detail

SvgMagnifyingGlass

public SvgMagnifyingGlass()
Creates a new instance of SvgMagnifyingGlass

Method Detail

setDiagram

public void setDiagram(SVGDiagram diagram)
Set the SVGDiagram instance that the magnifier will magnify.

Parameters:
diagram - the SVGDiagram instance to be used.

setImageMap

public void setImageMap(SvgImageMap imageMap)
Set the SvgImageMap instance that the magnifier will be displayed upon.

Parameters:
diagram - the SvgImageMap instance to be used.

setScaleFactor

public void setScaleFactor(float scaleFactor)
Used to set the scale factor, which defines by how much the selected area of the SVG image is zoomed.

Parameters:
scaleFactor - the float specifying the scale factor.

getScaleFactor

public float getScaleFactor()
Returns the current scale factor.

Returns:
float specifying the current scale factor.

setZoomPoint

public void setZoomPoint(java.awt.Point p,
                         java.awt.Point mouseLocation)
Used to set which part of the SVG image will be zoomed.

Parameters:
p - the Point object specifying the area to be zoomed.
mouseLocation - the location of the mousePointer

setRotational

public void setRotational(boolean isRotational)
Sets whether the lens is rotated towards the centre.

Parameters:
isRotational - a boolean specifying if the lens is to be rotated or not.

setQuality

public void setQuality(boolean quality)
Sets quality level of the lens image.

Parameters:
isRotational - a boolean specifying if the rendering quality is high or low.

setOpaque

public void setOpaque(boolean isOpaque)
Sets whether the magnifying glass is opaque or not.

Overrides:
setOpaque in class javax.swing.JComponent
Parameters:
isOpaque - a boolean specifying whether the magnifying glass is opaque or not

stopThreads

public void stopThreads()

paintComponent

protected void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

run

public void run()
Used to run the fading-in and fading-out animations.

Specified by:
run in interface java.lang.Runnable

setAnimationMode

public void setAnimationMode(int animationMode,
                             float animationSpeed)
Sets whether a fade-in or fade-out animation is to be run. animationMode an int specifying the animation type.


setTransparency

public void setTransparency(float a)
Set the alpha transparency of the magnifier a float specifying the new alpha transparency