=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;