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;