edu.umd.cs.piccolox.nodes
Class PCacheCamera

java.lang.Object
  extended by edu.umd.cs.piccolo.PNode
      extended by edu.umd.cs.piccolo.PCamera
          extended by edu.umd.cs.piccolox.nodes.PCacheCamera
All Implemented Interfaces:
Printable, Serializable, Cloneable

public class PCacheCamera
extends PCamera

An extension to PCamera that provides a fast image based animationToCenterBounds method.

Author:
Lance Good
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.umd.cs.piccolo.PNode
PNode.PSceneGraphDelegate
 
Field Summary
 
Fields inherited from class edu.umd.cs.piccolo.PCamera
PROPERTY_CODE_LAYERS, PROPERTY_CODE_VIEW_TRANSFORM, PROPERTY_LAYERS, PROPERTY_VIEW_TRANSFORM, VIEW_CONSTRAINT_ALL, VIEW_CONSTRAINT_CENTER, VIEW_CONSTRAINT_NONE
 
Fields inherited from class edu.umd.cs.piccolo.PNode
FILL_STRATEGY_ASPECT_COVER, FILL_STRATEGY_ASPECT_FIT, FILL_STRATEGY_EXACT_FIT, PROPERTY_BOUNDS, PROPERTY_CHILDREN, PROPERTY_CHILDREN_PICKABLE, PROPERTY_CLIENT_PROPERTIES, PROPERTY_CODE_BOUNDS, PROPERTY_CODE_CHILDREN, PROPERTY_CODE_CHILDREN_PICKABLE, PROPERTY_CODE_CLIENT_PROPERTIES, PROPERTY_CODE_FULL_BOUNDS, PROPERTY_CODE_PAINT, PROPERTY_CODE_PARENT, PROPERTY_CODE_PICKABLE, PROPERTY_CODE_TRANSFORM, PROPERTY_CODE_TRANSPARENCY, PROPERTY_CODE_VISIBLE, PROPERTY_FULL_BOUNDS, PROPERTY_PAINT, PROPERTY_PARENT, PROPERTY_PICKABLE, PROPERTY_TRANSFORM, PROPERTY_TRANSPARENCY, PROPERTY_VISIBLE, SCENE_GRAPH_DELEGATE
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Constructor Summary
PCacheCamera()
           
 
Method Summary
 PTransformActivity animateStaticViewToCenterBoundsFast(Rectangle2D centerBounds, boolean shouldScaleToFit, long duration)
          Mimics the standard animateViewToCenterBounds but uses a cached image for performance rather than re-rendering the scene at each step.
protected  PTransformActivity animateStaticViewToTransformFast(AffineTransform dest, long duration)
          This copies the behavior of the standard animateViewToTransform but clears the cache when it is done.
 void fullPaint(PPaintContext paintContext)
          Overrides the camera's full paint method to do the fast rendering when possible.
protected  BufferedImage getPaintBuffer()
          Get the buffer used to provide fast image based animation.
 
Methods inherited from class edu.umd.cs.piccolo.PCamera
addLayer, addLayer, animateViewToCenterBounds, animateViewToIncludeBounds, animateViewToPanToBounds, animateViewToTransform, applyViewConstraints, getComponent, getLayer, getLayerCount, getLayersReference, getUnionOfLayerFullBounds, getViewBounds, getViewConstraint, getViewScale, getViewTransform, getViewTransformReference, indexOfLayer, localToView, localToView, localToView, paint, paintCameraView, paintDebugInfo, pick, pickAfterChildren, pickCameraView, removeLayer, removeLayer, repaintFrom, repaintFromLayer, repaintFromLayer, scaleView, scaleViewAboutPoint, setComponent, setViewBounds, setViewConstraint, setViewOffset, setViewScale, setViewTransform, translateView, viewToLocal, viewToLocal, viewToLocal
 
Methods inherited from class edu.umd.cs.piccolo.PNode
addActivity, addAttribute, addChild, addChild, addChildren, addClientProperty, addInputEventListener, addPropertyChangeListener, addPropertyChangeListener, animateToBounds, animateToColor, animateToPositionScaleRotation, animateToRelativePosition, animateToTransform, animateToTransparency, animateTransformToBounds, centerBoundsOnPoint, centerFullBoundsOnPoint, clone, computeFullBounds, endResizeBounds, findIntersectingNodes, fireChildPropertyChange, firePropertyChange, fullIntersects, fullPick, getAllNodes, getAllNodes, getAttribute, getAttribute, getBooleanAttribute, getBounds, getBoundsChanged, getBoundsReference, getBoundsVolatile, getChild, getChildBoundsInvalid, getChildBoundsVolatile, getChildPaintInvalid, getChildrenCount, getChildrenIterator, getChildrenPickable, getChildrenReference, getClientProperties, getClientProperty, getClientPropertyKeysEnumeration, getClientPropertyKeysIterator, getDoubleAttribute, getFullBounds, getFullBoundsInvalid, getFullBoundsReference, getGlobalBounds, getGlobalFullBounds, getGlobalRotation, getGlobalScale, getGlobalToLocalTransform, getGlobalTranslation, getHeight, getInputEventListeners, getIntegerAttribute, getInverseTransform, getListenerList, getLocalToGlobalTransform, getName, getOccluded, getOffset, getPaint, getPaintInvalid, getParent, getPickable, getPropertyChangeParentMask, getRoot, getRotation, getScale, getTransform, getTransformReference, getTransparency, getUnionOfChildrenBounds, getVisible, getWidth, getX, getXOffset, getY, getYOffset, globalToLocal, globalToLocal, globalToLocal, indexOfChild, internalUpdateBounds, intersects, invalidateFullBounds, invalidateLayout, invalidatePaint, isAncestorOf, isDescendentOf, isDescendentOfRoot, isOpaque, layoutChildren, lerp, localToGlobal, localToGlobal, localToGlobal, localToParent, localToParent, localToParent, moveInBackOf, moveInFrontOf, moveToBack, moveToFront, offset, paintAfterChildren, paramString, parentBoundsChanged, parentToLocal, parentToLocal, parentToLocal, pick, position, print, print, removeAllChildren, removeChild, removeChild, removeChildren, removeFromParent, removeInputEventListener, removePropertyChangeListener, removePropertyChangeListener, repaint, reparent, replaceWith, resetBounds, rotate, rotateAboutPoint, rotateAboutPoint, rotateInPlace, scale, scaleAboutPoint, scaleAboutPoint, setBounds, setBounds, setBoundsChanged, setChildBoundsInvalid, setChildBoundsVolatile, setChildPaintInvalid, setChildrenPickable, setFullBoundsInvalid, setGlobalRotation, setGlobalScale, setGlobalTranslation, setHeight, setName, setOccluded, setOffset, setOffset, setPaint, setPaintInvalid, setParent, setPickable, setPropertyChangeParentMask, setRotation, setScale, setTransform, setTransparency, setVisible, setWidth, setX, setY, signalBoundsChanged, startResizeBounds, toImage, toImage, toImage, toImage, transformBy, translate, validateFullBounds, validateFullPaint
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PCacheCamera

public PCacheCamera()
Method Detail

getPaintBuffer

protected BufferedImage getPaintBuffer()
Get the buffer used to provide fast image based animation.

Returns:
buffered image used to provide fast image based animation

animateStaticViewToCenterBoundsFast

public PTransformActivity animateStaticViewToCenterBoundsFast(Rectangle2D centerBounds,
                                                              boolean shouldScaleToFit,
                                                              long duration)
Mimics the standard animateViewToCenterBounds but uses a cached image for performance rather than re-rendering the scene at each step.

Parameters:
centerBounds - bounds to which the view should be centered
shouldScaleToFit - whether the camera should scale to fit the bounds so the cover as large a portion of the canvas without changing the aspect ratio
duration - milliseconds the animation should last
Returns:
the scheduled activity, null if duration was 0

animateStaticViewToTransformFast

protected PTransformActivity animateStaticViewToTransformFast(AffineTransform dest,
                                                              long duration)
This copies the behavior of the standard animateViewToTransform but clears the cache when it is done.

Parameters:
dest - the resulting transform that the view should be applying when the animation is complete
duration - length in milliseconds that the animation should last
Returns:
the scheduled PTransformActivity, null if duration was 0

fullPaint

public void fullPaint(PPaintContext paintContext)
Overrides the camera's full paint method to do the fast rendering when possible.

Overrides:
fullPaint in class PCamera
Parameters:
paintContext - Paint Contex in which the painting is done


Copyright © 1995-2010 Piccolo2D. All Rights Reserved.