edu.umd.cs.piccolox.nodes
Class PLens

java.lang.Object
  extended by edu.umd.cs.piccolo.PNode
      extended by edu.umd.cs.piccolox.nodes.PLens
All Implemented Interfaces:
java.awt.print.Printable, java.io.Serializable, java.lang.Cloneable

public class PLens
extends PNode

PLens is a simple default lens implementation for Piccolo. See piccolo/examples LensExample for one possible use of this lens. Lens's are often application specific, it may be easiest to study this code, and then implement your own custom lens using the general principles illustrated here.

The basic design here is to add a PCamera as the child of a Pnode (the lens node). The camera is the viewing part of the lens, and the node is the title bar that can be used to move the lens around. Users of this lens will probably want to set up some lens specific event handler and attach it to the camera.

A lens also needs a layer that it will look at (it should not be the same as the layer that it's added to because then it will draw itself in a recursive loop. Last of all the PLens will need to be added to the PCanvas layer (so that it can be seen by the main camera).

Version:
1.0
Author:
Jesse Grosjean
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.umd.cs.piccolo.PNode
PNode.PSceneGraphDelegate
 
Field Summary
static java.awt.Paint DEFAULT_DRAGBAR_PAINT
           
static java.awt.Paint DEFAULT_LENS_PAINT
           
static double LENS_DRAGBAR_HEIGHT
           
 
Fields inherited from class edu.umd.cs.piccolo.PNode
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
PLens()
           
PLens(PLayer layer)
           
 
Method Summary
 void addLayer(int index, PLayer layer)
           
 PCamera getCamera()
           
 PPath getDragBar()
           
 PDragEventHandler getLensDraggerHandler()
           
protected  void layoutChildren()
          Nodes that apply layout constraints to their children should override this method and do the layout there.
 void removeLayer(PLayer layer)
           
 
Methods inherited from class edu.umd.cs.piccolo.PNode
addActivity, addAttribute, addChild, addChild, addChildren, addClientProperty, addInputEventListener, addPropertyChangeListener, addPropertyChangeListener, animateToBounds, animateToColor, animateToPositionScaleRotation, animateToTransform, animateToTransparency, animateTransformToBounds, centerBoundsOnPoint, centerFullBoundsOnPoint, clone, computeFullBounds, endResizeBounds, findIntersectingNodes, fireChildPropertyChange, firePropertyChange, fullIntersects, fullPaint, 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, getIntegerAttribute, getInverseTransform, getListenerList, getLocalToGlobalTransform, 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, lerp, localToGlobal, localToGlobal, localToGlobal, localToParent, localToParent, localToParent, moveInBackOf, moveInFrontOf, moveToBack, moveToFront, offset, paint, paintAfterChildren, paramString, parentBoundsChanged, parentToLocal, parentToLocal, parentToLocal, pick, pickAfterChildren, position, print, print, removeAllChildren, removeChild, removeChild, removeChildren, removeFromParent, removeInputEventListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaintFrom, reparent, replaceWith, resetBounds, rotate, rotateAboutPoint, rotateAboutPoint, rotateInPlace, scale, scaleAboutPoint, scaleAboutPoint, setBounds, setBounds, setBoundsChanged, setChildBoundsInvalid, setChildBoundsVolatile, setChildPaintInvalid, setChildrenPickable, setFullBoundsInvalid, setGlobalRotation, setGlobalScale, setGlobalTranslation, setHeight, setOccluded, setOffset, setOffset, setPaint, setPaintInvalid, setParent, setPickable, setPropertyChangeParentMask, setRotation, setScale, setTransform, setTransparency, setVisible, setWidth, setX, setY, signalBoundsChanged, startResizeBounds, toImage, toImage, toImage, toString, transformBy, translate, validateFullBounds, validateFullPaint
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LENS_DRAGBAR_HEIGHT

public static double LENS_DRAGBAR_HEIGHT

DEFAULT_DRAGBAR_PAINT

public static java.awt.Paint DEFAULT_DRAGBAR_PAINT

DEFAULT_LENS_PAINT

public static java.awt.Paint DEFAULT_LENS_PAINT
Constructor Detail

PLens

public PLens()

PLens

public PLens(PLayer layer)
Method Detail

getCamera

public PCamera getCamera()

getDragBar

public PPath getDragBar()

getLensDraggerHandler

public PDragEventHandler getLensDraggerHandler()

addLayer

public void addLayer(int index,
                     PLayer layer)

removeLayer

public void removeLayer(PLayer layer)

layoutChildren

protected void layoutChildren()
Description copied from class: PNode
Nodes that apply layout constraints to their children should override this method and do the layout there.

Overrides:
layoutChildren in class PNode


Copyright 2005 by University of Maryland, College Park, MD 20742, USA All rights reserved.

Web Accessibility