Packagecom.yworks.graph.drawing
Classpublic class AbstractNodeStyleRenderer
InheritanceAbstractNodeStyleRenderer Inheritance AbstractStyleRenderer Inheritance Object
Implements INodeStyleRenderer, IShapeGeometry, IDisplayObjectCreator
Subclasses BevelNodeStyleRenderer, BitmapNodeStyleRenderer, CollapsibleNodeStyleDecoratorRenderer, ComponentNodeStyleRenderer, GeneralPathNodeStyleRenderer, ImageNodeStyleRenderer, JavaNodeStyleRenderer, PanelNodeStyleRenderer, ShapeNodeStyleRenderer, ShinyPlateNodeStyleRenderer, SWFNodeStyleRenderer, TableNodeStyleRenderer, TemplateNodeStyleRenderer

An abstract implementation of an INodeStyleRenderer.

The most simple implementation needs to implement the AbstractStyleRenderer.paint method only.



Public Properties
 PropertyDefined By
 Inheriteditem : IModelItem
[read-only] Gets the currently configured item.
AbstractStyleRenderer
  layout : IRectangle
[read-only] Returns the INode.layout of the node this renderer is currently configured for.
AbstractNodeStyleRenderer
 Inheritedstyle : IVisualStyle
[read-only] Gets the currently configured style.
AbstractStyleRenderer
 InheritedstyleDescriptor : ICanvasObjectDescriptor
[read-only] Gets the ICanvasObjectDescriptor to use for new installations.
AbstractStyleRenderer
Public Methods
 MethodDefined By
  
[override] Returns a tight rectangular area where the whole rendering would fit into.
AbstractNodeStyleRenderer
 Inherited
Creates a new DisplayObject which represents the styled model item.
AbstractStyleRenderer
 Inherited
Configures the style and item parameters, calls configure and returns this.
AbstractStyleRenderer
 Inherited
Configures the style and item parameters, does not call configure and returns this.
AbstractStyleRenderer
 Inherited
Configures the style and item parameters, calls configure and returns this.
AbstractStyleRenderer
 Inherited
Configures the style and item parameters, calls configure and returns this.
AbstractStyleRenderer
  
getIntersection(innerX:Number, innerY:Number, outerX:Number, outerY:Number, intersectionPoint:IPointSetter):Boolean
Finds an intersection for the current item using the style.
AbstractNodeStyleRenderer
 Inherited
Configures the style and item parameters, calls configure and returns this.
AbstractStyleRenderer
  
Returns the outline of the shape using the node's layout.
AbstractNodeStyleRenderer
  
Configures the style and item parameters, calls configure and returns this.
AbstractNodeStyleRenderer
 Inherited
install(canvas:CanvasComponent, group:ICanvasObjectGroup, modelItem:IModelItem):Array
Installs the model in the canvas at the given group using the styleDescriptor.
AbstractStyleRenderer
  
isHit(x:Number, y:Number, ctx:ICanvasContext):Boolean
[override] Hit tests the item by trying to apply the flash internal hit testing.
AbstractNodeStyleRenderer
  
[override] Returns true if the corresponding item is considered to intersect the given rectangular box. This method may return false if the item cannot be selected using a selection marquee or optionally if the item is only partially contained within the box.
AbstractNodeStyleRenderer
  
isInside(x:Number, y:Number):Boolean
Checks whether the given coordinate lies within the shape's geometric bounds.
AbstractNodeStyleRenderer
 Inherited
Calls configure and tests the item using the style for a visible intersection with the clip bounds.
AbstractStyleRenderer
 Inherited
lookup(type:Class):Object
Implements the ILookup interface.
AbstractStyleRenderer
 Inherited
updateDisplayObject(oldDisplayObject:DisplayObject, context:IDisplayObjectContext):DisplayObject
Updates the given DisplayObject.
AbstractStyleRenderer
Protected Methods
 MethodDefined By
  
configure():void
[override] This is an empty implementation of the AbstractStyleRenderer.configure method.
AbstractNodeStyleRenderer
  
[override] Factory method for the StyleDescriptor property.
AbstractNodeStyleRenderer
 Inherited
setItem(item:IModelItem):void
Called by the various descriptor getters to initialize the item.
AbstractStyleRenderer
 Inherited
Called by the various descriptor getters to initialize the style.
AbstractStyleRenderer
Property Detail
layoutproperty
layout:IRectangle  [read-only]

Returns the INode.layout of the node this renderer is currently configured for.


Implementation
    public function get layout():IRectangle
Method Detail
calculateBounds()method
override public function calculateBounds(scratch:IMutableRectangle, ctx:ICanvasContext):IRectangle

Returns a tight rectangular area where the whole rendering would fit into.

Implementations can use the scratch rectangle to put their results in and return it as the result of the operation. Client has to always provide a non-null instance as a parameter. They may however decide to return an internally cached or dynamically created IRectangle implementation and disregard the scratch parameter. If calculating the bounds is too expensive or the painting is not bound to a certain area, this method may return null. If nothing is painted, this method should return an empty rectangle, where either or both the width and height is non-positive or ImmutableRectangle.Empty.

Parameters

scratch:IMutableRectangle — An instance that can optionally be used to fill with the corresponding values and be returned
 
ctx:ICanvasContext — The context to calculate the bounds for (currently not used)

Returns
IRectangle — The bounds or null to indicate an unbound area
configure()method 
override protected function configure():void

This is an empty implementation of the AbstractStyleRenderer.configure method. Subclasses should override this.

createStyleDescriptor()method 
override protected function createStyleDescriptor():ICanvasObjectDescriptor

Factory method for the StyleDescriptor property. This method will be called upon first access to the styleDescriptor property.

Returns
ICanvasObjectDescriptor — An ICanvasObjectDescriptor instance that will delegate to this instance's methods
getIntersection()method 
public function getIntersection(innerX:Number, innerY:Number, outerX:Number, outerY:Number, intersectionPoint:IPointSetter):Boolean

Finds an intersection for the current item using the style.

This implementation returns the intersection for the layout.

Parameters

innerX:Number — The x coordinate of the point inside the node.
 
innerY:Number — The y coordinate of the point inside the node.
 
outerX:Number — The x coordinate of the point outside the node.
 
outerY:Number — The y coordinate of the point outside the node.
 
intersectionPoint:IPointSetter — The point to store the coordinates of the intersection in.

Returns
Booleantrue if an intersection was actually found
getOutline()method 
public function getOutline():GeneralPath

Returns the outline of the shape using the node's layout.

Returns
GeneralPath — The outline of the bounds of the node.
getShapeGeometry()method 
public function getShapeGeometry(node:INode, style:INodeStyle):IShapeGeometry

Configures the style and item parameters, calls configure and returns this.

Parameters

node:INode — The node to retrieve the shape geometry for. The value will be stored in the the item field by setItem
 
style:INodeStyle — The style to associate with the node. The value will be stored in the style field by setStyle.

Returns
IShapeGeometrythis
isHit()method 
override public function isHit(x:Number, y:Number, ctx:ICanvasContext):Boolean

Hit tests the item by trying to apply the flash internal hit testing.

This implementation does not take ICanvasContext.hitTestRadius into account.

Parameters

x:Number
 
y:Number
 
ctx:ICanvasContext

Returns
Boolean
isInBox()method 
override public function isInBox(box:IRectangle, ctx:ICanvasContext):Boolean

Returns true if the corresponding item is considered to intersect the given rectangular box. This method may return false if the item cannot be selected using a selection marquee or optionally if the item is only partially contained within the box.

Parameters

box:IRectangle — The box describing the marquee's bounds
 
ctx:ICanvasContext — The current canvas context

Returns
Booleantrue if the item is considered to be captured by the marquee
isInside()method 
public function isInside(x:Number, y:Number):Boolean

Checks whether the given coordinate lies within the shape's geometric bounds.

This implementation checks for containment in the layout.

Parameters

x:Number — The x coordinate of the point to test.
 
y:Number — The y coordinate of the point to test.

Returns
Boolean — True if the point lies within the geometry of the rendering.