Packagecom.yworks.graph.drawing
Classpublic class AbstractNodeStyleRenderer
InheritanceAbstractNodeStyleRenderer Inheritance AbstractStyleRenderer
ImplementsINodeStyleRenderer, IShapeGeometry
SubclassesBevelNodeStyleRenderer, BitmapNodeStyleRenderer, ComponentNodeStyleRenderer, DelegatingStyleRenderer, GeneralPathNodeStyleRenderer, ImageNodeStyleRenderer, JavaNodeStyleRenderer, PanelNodeStyleRenderer, ShapeNodeStyleRenderer, SWFNodeStyleRenderer

An abstract implementation of an INodeStyleRenderer.

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



Public Properties
 PropertyDefined by
 Inheriteditem : IModelItem
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
Gets the currently configured style.
AbstractStyleRenderer
 InheritedstyleDescriptor : ICanvasObjectDescriptor
Gets the ICanvasObjectDescriptor to use for new installations.
AbstractStyleRenderer
Protected Properties
 PropertyDefined by
  _nodeStyleDescriptor : ICanvasObjectDescriptor
AbstractNodeStyleRenderer
Public Methods
 MethodDefined by
  
Returns a tight rectangular area where the whole rendering would fit into.
AbstractNodeStyleRenderer
 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
  
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
 Inherited
Configures the style and item parameters, calls configure and returns this.
AbstractStyleRenderer
  
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
Hit tests the item by trying to apply the flash internal hit testing.
AbstractNodeStyleRenderer
  
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.
AbstractNodeStyleRenderer
  
isInside(x:Number, y:Number):Boolean
Checks whether the given coordinate lies within the shape's geometric bounds.
AbstractNodeStyleRenderer
 Inherited
isVisible(clip:IRectangle, ctx:ICanvasContext):Boolean
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
  
paint(g:YGraphics, ctx:IPaintContext):void
Performs the actual painting into the given graphics context.
AbstractNodeStyleRenderer
Protected Methods
 MethodDefined by
  
configure():void
This is an empty implementation of the AbstractStyleRenderer.configure method.
AbstractNodeStyleRenderer
  
Factory method for the StyleDescriptor property.
AbstractNodeStyleRenderer
 Inherited
setItem(item:IModelItem):void
Called by the various descriptor getters to initialize the item.
AbstractStyleRenderer
 Inherited
setStyle(style:IVisualStyle):void
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
_nodeStyleDescriptorproperty 
protected var _nodeStyleDescriptor:ICanvasObjectDescriptor
Method detail
calculateBounds()method
public override 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 
protected override function configure():void

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

createStyleDescriptor()method 
protected override 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 
public override 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 
public override 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.
paint()method 
public override function paint(g:YGraphics, ctx:IPaintContext):void

Performs the actual painting into the given graphics context.

Parameters
g:YGraphics — The graphics context to paint into
 
ctx:IPaintContext — Currently not used