org.salespointframework.desktop
Class ImagePanel

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 org.salespointframework.desktop.ImagePanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class ImagePanel
extends javax.swing.JPanel

This is a panel contains an image. following features are supported: - maintains aspect ration of image - filter pipeline - hardware accelerated scaling

Since:
4.0
Author:
Thomas Kissinger, Gordon Bosch
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
 
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
protected  boolean bindToHeight
          if true, image will increase its width by aspect ratio to fill the height
protected  java.awt.image.VolatileImage ci
          processed image in VRAM (hopefully)
protected  int fadeWidth
          fade width of FadingEdgeFilter
protected  java.util.List<java.awt.image.ImageFilter> filterPipe
          the image pipeline. changes in image size by filter are allowed
protected  boolean hwAccel
          use hardware accelerated scaling
protected  boolean keepAR
          Keep aspect ratio
protected  java.awt.Dimension oldSize
          last size of component
protected  java.awt.Image originalImage
          untouched image
protected  java.awt.image.BufferedImage processedImage
          processed image
 
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
ImagePanel()
          default constructor sets fadeWidth to 7
ImagePanel(int fadeWidth)
          constructor
ImagePanel(int fadeWidth, boolean bindToHeight, boolean keepAR)
          constructor
 
Method Summary
 java.awt.Image getDisplayedImage()
          return originalImage
 java.util.List<java.awt.image.ImageFilter> getFilterPipe()
          get filterPipe
protected  void paintComponent(java.awt.Graphics g)
          draw ci
private  void processImage()
          apply filters, scale and copy to VRAM
private  void rewriteVolatileImage()
          rewrite ci
 void setHwAccel(boolean value)
          set hwAccel
 void setImage(java.awt.Image si)
          set the image
 void setImage(java.awt.Image si, boolean repaintParent)
          set image
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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

ci

protected java.awt.image.VolatileImage ci
processed image in VRAM (hopefully)


originalImage

protected java.awt.Image originalImage
untouched image


processedImage

protected java.awt.image.BufferedImage processedImage
processed image


fadeWidth

protected int fadeWidth
fade width of FadingEdgeFilter


bindToHeight

protected boolean bindToHeight
if true, image will increase its width by aspect ratio to fill the height


filterPipe

protected java.util.List<java.awt.image.ImageFilter> filterPipe
the image pipeline. changes in image size by filter are allowed


oldSize

protected java.awt.Dimension oldSize
last size of component


hwAccel

protected boolean hwAccel
use hardware accelerated scaling


keepAR

protected boolean keepAR
Keep aspect ratio

Constructor Detail

ImagePanel

public ImagePanel()
default constructor sets fadeWidth to 7


ImagePanel

public ImagePanel(int fadeWidth)
constructor

Parameters:
fadeWidth - fadeWidth

ImagePanel

public ImagePanel(int fadeWidth,
                  boolean bindToHeight,
                  boolean keepAR)
constructor

Parameters:
fadeWidth - fadeWidth
bindToHeight - bindToHeight
Method Detail

getFilterPipe

public java.util.List<java.awt.image.ImageFilter> getFilterPipe()
get filterPipe

Returns:

setHwAccel

public void setHwAccel(boolean value)
set hwAccel

Parameters:
value -

setImage

public void setImage(java.awt.Image si)
set the image

Parameters:
si -

setImage

public void setImage(java.awt.Image si,
                     boolean repaintParent)
set image

Parameters:
si -
repaintParent - if true, component will repaint all of its parents

processImage

private void processImage()
apply filters, scale and copy to VRAM


rewriteVolatileImage

private void rewriteVolatileImage()
rewrite ci


getDisplayedImage

public java.awt.Image getDisplayedImage()
return originalImage

Returns:

paintComponent

protected void paintComponent(java.awt.Graphics g)
draw ci

Overrides:
paintComponent in class javax.swing.JComponent