Package ca.cgjennings.apps.arkham
Class AbstractViewer
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- ca.cgjennings.apps.arkham.AbstractViewer
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
- Direct Known Subclasses:
ImageViewer
,SheetViewer
,VectorImageViewer
public abstract class AbstractViewer extends javax.swing.JPanel
An abstract base class for zoomable previewers.- Author:
- Chris Jennings
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
autoFitToWindow
protected java.awt.Insets
borderInsets
protected java.awt.Font
labelFont
protected java.awt.Color[]
loupeColors
protected java.awt.Stroke[]
loupeStrokes
protected static int
MAXIMUM_LOUPE_SIZE
protected static int
MINIMUM_LOUPE_SIZE
protected double
tx
protected double
ty
protected double
userScaleMultiplier
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description AbstractViewer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.awt.Color
getBackground()
If current background is a color, returns it; otherwise returns default color.java.awt.Paint
getBackgroundPaint()
protected abstract java.awt.image.BufferedImage
getCurrentImage()
Returns the current image to be drawn in the viewer.protected java.awt.Paint
getDefaultBackgroundPaint()
boolean
getShowZoomLevel()
protected void
paintComponent(java.awt.Graphics g1)
protected void
paintLoupe(java.awt.Graphics2D g, java.awt.image.BufferedImage currentImage, double imX, double imY, double imWidth, double imHeight)
protected void
paintZoomLabel(java.awt.Graphics2D g, double scale)
void
setBackground(java.awt.Color c)
Forwards tosetBackgroundPaint(java.awt.Paint)
.void
setBackgroundPaint(java.awt.Paint p)
void
setEnabled(boolean enable)
void
setShowZoomLevel(boolean show)
void
setTranslation(double tx, double ty)
-
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, 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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
userScaleMultiplier
protected double userScaleMultiplier
-
tx
protected double tx
-
ty
protected double ty
-
autoFitToWindow
protected boolean autoFitToWindow
-
borderInsets
protected java.awt.Insets borderInsets
-
MINIMUM_LOUPE_SIZE
protected static int MINIMUM_LOUPE_SIZE
-
MAXIMUM_LOUPE_SIZE
protected static int MAXIMUM_LOUPE_SIZE
-
loupeColors
protected java.awt.Color[] loupeColors
-
loupeStrokes
protected java.awt.Stroke[] loupeStrokes
-
labelFont
protected java.awt.Font labelFont
-
-
Method Detail
-
setBackground
public void setBackground(java.awt.Color c)
Forwards tosetBackgroundPaint(java.awt.Paint)
.- Overrides:
setBackground
in classjavax.swing.JComponent
- Parameters:
c
- the new background color
-
getBackground
public java.awt.Color getBackground()
If current background is a color, returns it; otherwise returns default color. UsegetBackgroundPaint()
instead.- Overrides:
getBackground
in classjava.awt.Component
-
getDefaultBackgroundPaint
protected java.awt.Paint getDefaultBackgroundPaint()
-
getBackgroundPaint
public java.awt.Paint getBackgroundPaint()
-
setBackgroundPaint
public void setBackgroundPaint(java.awt.Paint p)
-
setShowZoomLevel
public void setShowZoomLevel(boolean show)
-
getShowZoomLevel
public boolean getShowZoomLevel()
-
setTranslation
public void setTranslation(double tx, double ty)
-
getCurrentImage
protected abstract java.awt.image.BufferedImage getCurrentImage()
Returns the current image to be drawn in the viewer.- Returns:
- the image the viewer should display
-
paintComponent
protected void paintComponent(java.awt.Graphics g1)
- Overrides:
paintComponent
in classjavax.swing.JComponent
-
paintLoupe
protected void paintLoupe(java.awt.Graphics2D g, java.awt.image.BufferedImage currentImage, double imX, double imY, double imWidth, double imHeight)
-
paintZoomLabel
protected void paintZoomLabel(java.awt.Graphics2D g, double scale)
-
setEnabled
public void setEnabled(boolean enable)
- Overrides:
setEnabled
in classjavax.swing.JComponent
-
-