Newer
Older
piccolo2d.java / ReleaseNotes.txt
=Piccolo2D 3.0 Release Notes=
------------------

Major changes:

The minimum JDK version is now 1.6.

JDK 1.6-only modules jdk16 and jdk16-examples have been merged to core and examples respectively.

Piccolo2D.Java version 3.0 is _not_ binary compatible with version 1.3.x or version 2.x.


Fixed and verified issues:


=Piccolo2D 2.0 Release Notes=
------------------

Major changes:

The root package name for Piccolo2D.Java is now org.piccolo2d to match the project domain name.

The minimum JDK version is now 1.5.

JDK 1.6-only code has been added to new modules jdk16 and jdk16-examples.

Piccolo2D.Java version 2.0 is _not_ binary compatible with version 1.3.x.


Fixed and verified issues:

33      PSwing components not visible in testing frameworks
37      change namespaces to piccolo2d,
86      inconsistencies of position method in PNode
135     Constants are not constant in the core.
136     PNotificationCenter is a singleton but isn't declared as final
152     Refactor PPath to use Path2D on JDK 1.6+
153     PArea, a wrapper for java.awt.geom.Area to allow Constructive Area Geometry (CAG) operations
172     Add getRoot method to POffscreenCanvas
177     When deleting a selected node using the keyboard <DEL> a selection change is not fired
180     Drawing tears when dragging or resizing path nodes
186     Create a new package org.piccolo2d.examples.bugs or .issues
236     Add zoom event handler that responds to mouse wheel events     
251     Merge build-related changes from release-1.3 branch to trunk 


=Piccolo2D 1.3.2 Release Notes=
------------------

Fixed and verified issues:

134     PTransformActivity can throw null pointer exception   
207     Horizontal scrolling causes an exception   
208     Merge maven reporting plugin versions to parent pom   
211     Consider using Sonatype oss-parent-7.pom as the parent of parent/pom.xml   
224     Update maven-site-plugin version to 3.0, remove maven-3 profile             
229     Consider updating maven-checkstyle-plugin to version 2.8                     
230     Add link to Autocad DXF File Viewer on applications page                      
231     Mistake in java doc comment   
235     PSwingEventHandler doesn't dispatch events to nodes at extreme scales   
242     Typo in API docs       
250     Update junit dependency version to 4.11


=Piccolo2D 1.3.1 Release Notes=
------------------

Fixed and verified issues:

163	PSwing doesn't draw dynamic JComponent properly
173	Slow repaint of PSwing components when zooming (from 1.2 to 1.3)
185	Memory leak - PActivityScheduler keeps processed activities in reference
187	general shapes are not filled correctly under SWT
188	wrong line width when drawing general shapes under SWT
195	testPSwingDelegatesPaintingToItsComponent(edu.umd.cs.piccolox.pswing.PSwingTest) fails on release-1.3 branch
197	Maven site does not run reports from the command line with maven 3
203	Missing maven profile for Windows x86_64
206	SWTGraphics2D keeps invalid caches
212	Update maven-gpg-plugin dependency version to 1.2


=Piccolo2D 1.3 Release Notes=
------------------

Major changes:

Piccolo2D.Java now builds with Apache Maven instead of Apache Ant.  See Issues 6, 28, 29, 38, 44, 51, 52, 98, 104, 108, 109, 126, 128, 146.

SWT support was refactored from extras into its own module and SWT examples were refactored from examples into their own module.  See Issues 68, 125, 126, 143, 145.

Many Checkstyle, PMD, and FindBugs errors and warnings have been fixed.  Unit test line coverage has been increased to 48%.


Fixed and verified issues:

Issue	Summary
2	Multiple project entries at ohloh.net
6	Migrate ant build to maven2
8	PSwing nodes prevent proper garbage collection
9	PComboBox does not work when nested in a Panel
10	PComboBox doesn't use Metal, Windows, and Motif look and feels
13	PSwing components cause extraneous redraws
14	PSwing components cause full page re-rendering on add/remove operations
15	Events from PSwing components are not consumed, and cause other interactions on the canvas
17	PCanvas looses keyboard events when a child PSwing node has focus
20	Double-buffering not disabled on child PSwing components added after creation
21	Cannot turn off interacting at the PRoot level
22	Name property for PNodes
23	remove child on PNode fails with NPE
25	Multiple PSwingCanvases can't be used together
27	Animation quality change redraws the entire screen
28	Add checkstyle configuration and reporting to maven build
29	Configure checkstyle maven plug-in to enforce our source code conventions
30	Extra mouse movement events fired on mouse exit
31	PActivity activityFinished gets called multiple times
32	PSwing mouse wheel support
38	Relocate svn root from piccolo to piccolo2d
41	Rephrase javadoc package comments
42	Transfer the documentation from http://www.cs.umd.edu/hcil/jazz/ here.
44	Rename piccolo subprojects and binaries to *2d
46	PFrameTest unit test fails on linux
47	Remove println to stdout/stderr in unit tests
48	Eliminate dependency on sun.* classes in PFixedWidthStroke
49	PFixedWidthStrokes are not fixed width on Mac OSX
51	Unit tests should reside in the same package as the classes under test
52	Compiler errors with jre 1.3 and 1.4
55	ohloh.net stats broken by repository layout changes
56	Infinite rendering loop caused by setOffset/Bounds/Scale in layoutChildren
59	Clarify copyright and license statements
63	JSlider fails to render knob icon under Intel Macs in Java 1.5
64	Add shadow nodes to extras
66	Full print doesn't work
67	ScrollingExample.java doesn't work 
68	move SWT dependant classes to a new subproject (piccolo2d-swt)
69	Add integration with Processing (http://processing.org)
70	Patch: Proper Shape and Text Support in the SWT Part
71	PStyledTextEventHandler does not scale 
72	PSelectionEventHandler grip points do not scale with zoom
73	Helloworld from piccolo2d.org relies on piccolox
74	Memory leak with PSwingRepaintManager
79	PSwingTest unit test failure on linux
80	PCanvas button handling code doesn't dispatch multi-button presses.
82	JComboBox visibility doesn't affect visiblity of PSwing node
83	PSwing are fuzzy when scale!=1, due to buffering of the PSwing
88	toImage doesn't return an image of the proper size
89	Low Test Coverage of PNode
90	Binary incompatible change from 1.2.1 in PInputEvent
93	PCanvas needs accessors for render qualities
94	PLayer should do nothing when removing a camera that isn't attached
95	@deprecated broke the mvn build
96	More consistent handling of NonInvertible transforms in PCamera
97	TestPSwing.java and TestPSwingFull.java Should be moved
98	Refactor edu.umd.cs.piccolo.pswingexamples and ...swtexamples to examples.pswing and examples.swt
99	PNode.toString refactoring
100	PInputEvent doesn't filter by modifier
101	Eliminate printStackTrace
104	Current maven multi-module build doesn't install the parent pom
106	toImage array is too simple in its fill behaviour
108	Set up hudson CI build
109	examples module should create a runnable jar
110	Syntactical code clean
111	Piccolo is missing HTML support
112	OSX: "Error: custom stroke not implemented"
113	Invisible nodes are reported to be picked by InputEventHandler
115	Discontinue .Net
116	New round of clirr errors, as of r624
123	PiccoloX uses Sun classes (sun.dc.path) that aren't in OpenJDK
124	Add additional constructors to PSWTImage
125	Compilation failure in swt module under linux 
127	Unit tests fail on linux with OpenJDK version IcedTea6 1.4.1
128	Add osgi manifest to the builded jars
129	Use umlgraph 5.1 in the build process
131	PScrollPane does not use setInteracting() on the canvas
132	Refactor SWT examples from examples module to new swt-examples module
133	Javadoc in SWT package is completely unusable
137	Calling toImage() on a composite node often returns an empty image.
138	Unecessary memory usage when not double buffering PSWTCanvas
142	P3DRectTest test failure on Mac OSX PPC
143	SWTException: Failed to execute runnable (Invalid thread access) for PSWTCanvasTest on Mac OSX
144	Updates for PSwing
145	build broken (pom, swt)
150	Prepare SwingLayoutNode for distribution
158	Component doesn't receive events after PSwing is added, removed and re-added to scenegraph
159	events not delivered to PSwing Components for some transforms
160	endless calls to PSwing's ComponentListener
161	full bounds behavior has changed in Piccolo 1.3
165	Bad javadoc for PNode.moveToFront(), PNode.moveToBack(), PNode.moveInFrontOf(PNode), and PNode.moveInBackOf(PNode)


API changes to core:

edu.umd.cs.piccolo.PCamera: Method 'public void repaintFromLayer(edu.umd.cs.piccolo.util.PBounds, edu.umd.cs.piccolo.PNode)' has been deprecated
edu.umd.cs.piccolo.PCamera: Method 'public void repaintFromLayer(edu.umd.cs.piccolo.util.PBounds, edu.umd.cs.piccolo.PLayer)' has been added
edu.umd.cs.piccolo.PCanvas: Added public field INTERACTING_CHANGED_NOTIFICATION
edu.umd.cs.piccolo.PCanvas: Added public field PROPERTY_INTERACTING
edu.umd.cs.piccolo.PCanvas: Method 'public int getAnimatingRenderQuality()' has been added
edu.umd.cs.piccolo.PCanvas: Method 'public int getDefaultRenderQuality()' has been added
edu.umd.cs.piccolo.PCanvas: Method 'public edu.umd.cs.piccolo.event.PInputEventListener[] getInputEventListeners()' has been added
edu.umd.cs.piccolo.PCanvas: Method 'public int getInteractingRenderQuality()' has been added
edu.umd.cs.piccolo.PCanvas: Method 'public int getNormalRenderQuality()' has been added
edu.umd.cs.piccolo.PCanvas: Method 'public void printAll(java.awt.Graphics)' has been added
edu.umd.cs.piccolo.PNode: Added public field FILL_STRATEGY_ASPECT_COVER
edu.umd.cs.piccolo.PNode: Added public field FILL_STRATEGY_ASPECT_FIT
edu.umd.cs.piccolo.PNode: Added public field FILL_STRATEGY_EXACT_FIT
edu.umd.cs.piccolo.PNode: Method 'public PNode(java.lang.String)' has been added
edu.umd.cs.piccolo.PNode: Method 'public edu.umd.cs.piccolo.activities.PActivity animateToRelativePosition(java.awt.geom.Point2D, java.awt.geom.Point2D, java.awt.geom.Rectangle2D, int)' has been added
edu.umd.cs.piccolo.PNode: Method 'public edu.umd.cs.piccolo.event.PInputEventListener[] getInputEventListeners()' has been added
edu.umd.cs.piccolo.PNode: Method 'public java.lang.String getName()' has been added
edu.umd.cs.piccolo.PNode: Method 'protected java.lang.String paramString()' has been deprecated
edu.umd.cs.piccolo.PNode: Method 'public void position(java.awt.geom.Point2D, java.awt.geom.Point2D, java.awt.geom.Rectangle2D, int)' has been deprecated
edu.umd.cs.piccolo.PNode: Method 'public void setName(java.lang.String)' has been added
edu.umd.cs.piccolo.PNode: Method 'public java.awt.Image toImage(java.awt.image.BufferedImage, java.awt.Paint, int)' has been added
edu.umd.cs.piccolo.PNode: Method 'public java.lang.String toString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.POffscreenCanvas: Class edu.umd.cs.piccolo.POffscreenCanvas added
edu.umd.cs.piccolo.PRoot: Added public field PROPERTY_CODE_INTERACTING_CHANGED
edu.umd.cs.piccolo.PRoot: Added public field PROPERTY_INTERACTING_CHANGED
edu.umd.cs.piccolo.PRoot: Method 'public boolean getInteracting()' has been added
edu.umd.cs.piccolo.PRoot: Method 'public void setInteracting(boolean)' has been added
edu.umd.cs.piccolo.activities.PActivity: Method 'protected java.lang.String paramString()' has been deprecated
edu.umd.cs.piccolo.activities.PActivity: Method 'public java.lang.String toString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.activities.PActivityScheduler: Added java.io.Serializable to the set of implemented interfaces
edu.umd.cs.piccolo.activities.PColorActivity: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.activities.PInterpolatingActivity: Method 'public PInterpolatingActivity(long)' has been added
edu.umd.cs.piccolo.activities.PInterpolatingActivity: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.activities.PTransformActivity: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.event.PBasicInputEventHandler: Method 'protected java.lang.String paramString()' has been deprecated
edu.umd.cs.piccolo.event.PBasicInputEventHandler: Method 'public java.lang.String toString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.event.PDragEventHandler: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.event.PDragSequenceEventHandler: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.event.PPanEventHandler: Method 'public double getMaxAutoPanSpeed()' has been added
edu.umd.cs.piccolo.event.PPanEventHandler: Method 'public double getMinAutoPanSpeed()' has been added
edu.umd.cs.piccolo.event.PPanEventHandler: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.event.PZoomEventHandler: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.nodes.PHtmlView: Class edu.umd.cs.piccolo.nodes.PHtmlView added
edu.umd.cs.piccolo.nodes.PImage: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.nodes.PPath: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.nodes.PText: Added public field DEFAULT_HORIZONTAL_ALIGNMENT
edu.umd.cs.piccolo.nodes.PText: Added public field DEFAULT_TEXT
edu.umd.cs.piccolo.nodes.PText: Added public field DEFAULT_TEXT_PAINT
edu.umd.cs.piccolo.nodes.PText: Added public field PROPERTY_CODE_TEXT_PAINT
edu.umd.cs.piccolo.nodes.PText: Added public field PROPERTY_TEXT_PAINT
edu.umd.cs.piccolo.nodes.PText: Method 'public float getHorizontalAlignment()' has been added
edu.umd.cs.piccolo.nodes.PText: Method 'public float getJustification()' has been deprecated
edu.umd.cs.piccolo.nodes.PText: Method 'protected void paintGreek(edu.umd.cs.piccolo.util.PPaintContext)' has been added
edu.umd.cs.piccolo.nodes.PText: Method 'protected void paintText(edu.umd.cs.piccolo.util.PPaintContext)' has been added
edu.umd.cs.piccolo.nodes.PText: Method 'protected java.lang.String paramString()' has been removed, but an inherited definition exists.
edu.umd.cs.piccolo.nodes.PText: Method 'public void setHorizontalAlignment(float)' has been added
edu.umd.cs.piccolo.nodes.PText: Method 'public void setJustification(float)' has been deprecated
edu.umd.cs.piccolo.util.PAffineTransform: Method 'public java.awt.geom.Point2D inverseTransform(java.awt.geom.Point2D, java.awt.geom.Point2D)' has been added
edu.umd.cs.piccolo.util.PAffineTransformException: Class edu.umd.cs.piccolo.util.PAffineTransformException added
edu.umd.cs.piccolo.util.PPaintContext: Method 'public void popCamera(edu.umd.cs.piccolo.PCamera)' has been deprecated
edu.umd.cs.piccolo.util.PPaintContext: Method 'public void popCamera()' has been added


Developers and contributors:

Ben Bederson
Stephen Chin <sjc at browsecode.org>
Aaron Clamage
Lance Good
Michael L Heuer
Allain Lalonde <allain at machete.ca>
Chris Malley <cmalley at pixelzoom.com>
jesse
Alexander Kurtakov <akurtakov at gmail.com>
Marcus Rohrmoser
Sam Reid


=Piccolo2D 1.2.1 Release Notes=
------------------

Note: The Piccolo2D project has changed hosting to Google Code at: http://code.google.com/p/piccolo2d/

piccolo/src

PPickPath
	* Fixed incorrect comment on nextPickedNode method

piccolo/extras
	* Added PSwing support for embedding Swing components (experimental)
	* Added package level javadoc comments

Specific PSwing fixes:
	* PSwingEventHandler: Applied patch from Maarten Billemont that fixes the issue by not applying the camera's transform to input events when the node is not a descendant of a PLayer object.
	* PSwing: Sam Reid - API improvement (so that PSwing can be constructed without the destination PSwingCanvas as constructor arg). Old constructor is deprecated for compatibility with existing code.
	* PSwingCanvas: Sam Reid - minor change to facilitate adding/removal of pswing from canvas.

PFrame
	* Fixed bug in PFrame where canvas size didn't follow containing PFrame size

PNavigationEventHandler
	* Made PNavigationEventHandler.directCameraViewToFocus set the focus to the specified focus node

PFixedWidthStroke
	* Added fix to PFixedWidthStroke to make dashes also fixed to go along with the width.

LineShape
	* Fixed bug in intersects - accessed X instead of Y. Contributed by Sebastian Graca


=Piccolo 1.2 Release Notes=
------------------

piccolo/src

	* changed eclipse project compiler settings to not display serization warnings.

PNode
	* animate methods will now run immediatly if started with zero duration.	
	* added check for set Scale when Scale is 0
	* added animateTransformToBounds method
	* Replaced client properties with a mutable attribute set
	* Replaced addClientProperty with addAttribute
	* Replaced removeClientProperty with removeAttribute
	* added getClientProperites
	* added convenience methods for accessing primitive typed attributes
	* deprecated outdated client property methods
	* added propertyChangeParentMask to decide if property change events should be forwarded to parent
	* added property codes for each property event
	* changed property change event fire code to forward events up the node tree when needed
	* added scene graph delegate calls for node bounds invalidated, paint invalidated

PCamera
	* added check for empty bounds case in animateViewToCenterBounds

PPickPath
	* added CURRENT_PICK_PATH static variable

PImage
	* fixed but when seizing with null image

PPath
	* fixed case of setting bounds of vertical or horizontal lines.

PInputEvent
	* added getModifiersEx accessor

PActivity

	* Added new terminate method that allow you to specify the terminate behavior.

PInterpolatingActivity
	* in activityFinished now set final target value before calling activity finished on delegate.

piccolo/examples
	* added NodeLinkExample
	* added ChartLabelExample
	* added GraphEditorExample
	* added HierarchyZoomExample
	* added InterfaceFrame
	* added UserInteraction
	* added SpecialEffects
	* changed layout of example runner to use two columns

piccolo/extras
	* added PCacheCamera
	* added PCacheCanvas
	* added PApplet
	* added PSWTZBoundsHandle
	* added PSWTHandle
	* added PSWTSelectionEventHandler
	* added PSWTStickyHandleManager
	* fixed picking of PFixedWidthStrokes
	* added getConsumer() method to PFixedWidthStroke's FillAdapter for jdk 1.5 compatibility.
	* many enhancements to PStyledText
	* added PApplet class

PSelectionEventHandler
	* fixed coord system bug in updateMarquee
	* fixed bug in computeMarqueeSelection where collection was modified as it continued to be iterated

PBoundsHandle
	* marked handleCursorHandler variable as transient

PHandle
	* marked handleDragger variable as transient

PFrame
	* added isFullScreenMode accessor

PApplet
	* added initialize method that's called on event dispatch thread
	* added beforeInitilize method called on constructor thread

=Piccolo 1.1 Release Notes=
------------------

Changed from Mozilla to BSD style license.

piccolo/src

PInterpolatingActivity
	* added terminate method
	* added new constructor with startime parameter method

PBasicInputEventHandler
	* added keyboardFocusGained event method
	* added keyboardFocusLost event method

PDragSequenceEventHandler
	* added getDragActivity method

PInputEvent
	* added getKeyChar method
	* added getKeyLocation method
	* added isActionKey method
	* added isFocusEvent method
	* added isLeftMouseButton method
	* added isMiddleMouseButton method
	* added isMouseEnteredOrMouseExited method
	* added isRightMouseButton method

PInputEventHandler
	* added acceptsFocusEvents method
	* added getAcceptsFocusEvents method
	* added setAcceptsFocusEvents method

PPanEventHandler
	* changed unit of autopan speed to pixels per second

PImage
	* removed accelerated property and related setters, getters, and constructors. (no longer needed in later versions of java)

PPath
	* added createLine method
	* changed to internalUpdateBounds to manage path bounds
	* changed read and write to use methods in PUtil to read and write path data

PText
	* added greek threshold property
	* added textPaint property
	* added justification property

PCamera
	* added animateViewToPanToBounds method
	* added getViewConstraint method

PCanvas
	* added notification when interaction quality changes
	* added setPanEventHandler method
	* added setZoomEventHandler method

PInputManager
	* fixed bug in the order that mouse entered  and mouse moved events were delivered.

PNode
	* added getGlobalBounds method
	* added moveInFrontOf method
	* added moveInBackOf method
	* added occuded property
	* added animateToColor method
	* added centerFullBoundsOnPoint method
	* added findIntersectingNodes method
	* added getXOffset method
	* added getYOffset method
	* added internalUpdateBounds method
	* added isOpaque method
	* added setHeight method
	* added setWidth method
	* added setX method
	* added setY method
	* removed moveToBack(PNode child) method
	* removed moveToFront(PNode child) method
	* changed setBounds to send internalUpdateBounds message.
	* changed indexOfChild to check for case of null child
	* changed fullPick method to check of PPickPath accepts this node
	
PBounds
	* added delataRequiredToCenter method

PDebug
	* added debugPaintCalls mode

PPaintContext
	* added getRenderQuality

PPickPath
	* added acceptsNode method
	* added nextPickedNode method

PUtil
	* added readPath method
	* added writePath method

piccolo/examples

	* added BirdsEyeViewExample class
	* added CompositeExample class
	* added GridExample class
	* added GroupExample class
	* added NodeCacheExample class
	* added PiccoloPresentation class
	* added PositionPathActivityExample class

piccolo/extras

	* added PPathActivity class
	* added PPositionPathActivity class
	* added PNotification class
	* added PNotificationCenter class
	* added PComposite class
	* added PLine class
	* added PNodeCache class
	* added experimental POcclusionDetection class
	* PStyledText added drawing of underlines and strikethroughs
	* PFrame added beforeInitialize method
	* PHandle added default color and shape attributes
	* PSelectionEventHandler numerous changes
	* PScrollPane and PViewPort numerous changes 
	* PClip fixed bounds repaint bug

=Piccolo 1.0 Release Notes=
------------------

piccolo/examples
	* added AngleNodeExample
	* added CenterExample
	* added PulseExample
	* added StickyHandleExample
	* added TooltipExample
	* added swtexamples

piccolo/extras
	* catch security exception thrown by setDefaultCloseOperation in PFrame.
	* added decorateSelectedNode() methods to PSelectionEventHandler
	* improved the way that PBoundsHandle manages the cursor
	* changed PHandle and PBoundsHandle implementations so that it doesn't assume that it's manipulating its parent.
	* added better support for insets to PStyledText
	* changed PLocator class so that its locate methods don't take a node parameter.
	* added a PNodeLocator class
	* added preliminary support for SWT (see www.eclipse.org) piccolo rendering
	
piccolo/src
	* added toString() debug methods throughout the framework
	* added static final keys for property change names throughout the framework. Keys are defined in the classes that fire the events.
	* added PComponent, and abstraction of PCanvas. This is so that piccolo can be used with SWT.
	* added PColorActivity
	* changed var names and method names in PActivity, hopefully will make the class clearer.
	* removed PActivities starte and ended runnables, replaced with PActivityDelegate
	* modified PActivityScheduler to allow for some control over the order that activities run in.
	* added different interpolation modes to PInterpolatingActivity
	* added the ability to loop to PInterpolatingActivity
	* added MouseWheelEvent support
	* added min/max scale constraints ot PZoomEventHandler
	* PNode setBounds with zero width or height will reset the bounds to empty
	* fixed PNode.rotate
	* added print method to PNode
	* ported Jazz's ZTransformGroup.postion() method to PNode
	* don't use media tracker to load images in PImage if the image is a BufferedImage
	* fixed PAffineTransform.getRotation() method
	* fixed PPaintContext so that it can be created with a Graphics2D that has a null clip
	
=Piccolo 1.0-beta2 Release Notes=
------------------

  * Removed Piccolo abstract rendered and OpenGL support code, instead we are planning to use a new library, Agile2D. Agile2D provides its own OpenGL implementation of the java.awt.Graphics2D class.

piccolo/examples
	* added clip example
	* added internal lens example
	* added panToExample to illustrate Pcamera’s animateViewToIncludeBounds method
	* added scrolling example
	* added selection example
	* added text example to show how to use PStyledTextEventHandler to edit text directly on the piccolo canvas.

piccolo/extras
	* added PSelectionEventHandler
	* added PStyledTextEventHandler
	* added PClip
	* added PLens
	* added PStyledText, used together with PStyledTextEvent handler to edit text on the piccolo canvas.
	* added a number of scroll supported classes in the extras swing package.

piccolo/src

PCamera
	* renamed centerView to animateViewToBounds
	* added animateViewToIncludeBounds

PNode
	* renamed translateRelativeToParent() to offset()
	* transform var is only created when needed, otherwise it's now left as null
	* added getClientPropertyKeysIterator()
	* added rotateInPlace()
	* renamed getTranslation() to getOffset()
	* renamed setTranslation() to setOffset()
	* renamed translateRelativeToParent() to offset()
	* renamed deltete() to removeFromParent()

PInputManager
	* added tracking for individual mouse button pressed. This way if you press down on a node with button1 that node will stay as mouse focus as long as button1 is pressed, event if button2 is repeatedly pressed and released.

PCanvas
	* added animating render quality, this quality is used if any of the scheduled activities return true when sent the message isAnimation().
	* added checks to make sure that every mouse press gets matched with a mouse released, something to does not always happen in swing.

PCamera
	* added some view constraint options. These are used to constrain the cameras view to the bounds of the layers that the camera is viewing.
	* renamed centerView() to animateViewToBounds()
	* added animateViewToIncludeBounds()

PInputEvent
	* removed consume() replaced with setHandled(). Previously consuming an event would completely stop it from getting dispatched to anyone else. Set handled is a weaker command, the event continues to get dispatched to other event handlers but they are expected to ignore it unless they are trying to do something special.

PImage
	* changed the default so that images are NOT accelerated.

PPath
	* removed getStrokeWidth(), Strokes are now just dealt with as shapes that are created by stroke.createStrokedShape(path). 

PText 
	* added setConstrainWidthToTextWidth()
	* added setConstrainHeightToTextHeight()

PAffineTransform
	* renamed setTranslation to setOffset()

PBounds
	*added deltaRequiredToContain()

PDebug
	* added options to debugMemoryUse and set the frame rate at which debug results are calculated.

PPaintContext
	* removed drawing methods, and abstract renderer in general. Instead all drawing should be done directly with the Graphics2D object.

PUtil
	* added DEFAULT_ACTIVITY_STEP_RATE = 20;
	* added ACTIVITY_SCHEDULER_FRAME_DELAY = 10;