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;