Packagecom.yworks.graph.drawing.compat
Classpublic class JavaGenericNodeStyleWrapperRenderer
InheritanceJavaGenericNodeStyleWrapperRenderer Inheritance JavaNodeStyleRenderer Inheritance AbstractNodeStyleRenderer Inheritance AbstractStyleRenderer Inheritance Object

Renderer implementation for the JavaGenericNodeStyle. This implementation delegates to the renderer of the wrapped style.

Developers usually have to override the createDisplayObject and updateDisplayObject methods. If the style should be serializable, the serializer property has also to be overridden to return an appropriate serializer. In that case, the corresponding deserializer has to be registered to the RoundtripHandler or IOHandler

See also

DelegatingStyle


Public Properties
 PropertyDefined By
 Inheriteditem : IModelItem
[read-only] Gets the currently configured item.
AbstractStyleRenderer
 Inheritedlayout : 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] This implementation delegates to the renderer of the wrapped style.
JavaGenericNodeStyleWrapperRenderer
  
[override]
JavaGenericNodeStyleWrapperRenderer
 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
[override] This implementation delegates to the renderer of the wrapped style.
JavaGenericNodeStyleWrapperRenderer
 Inherited
Configures the style and item parameters, calls configure and returns this.
AbstractStyleRenderer
  
[override] This implementation delegates to the renderer of the wrapped style.
JavaGenericNodeStyleWrapperRenderer
  
[override] Gets an implementation of the IShapeGeometry interface that can handle the provided node and its associated style.
JavaGenericNodeStyleWrapperRenderer
 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] This implementation delegates to the renderer of the wrapped style.
JavaGenericNodeStyleWrapperRenderer
  
[override] This implementation delegates to the renderer of the wrapped style.
JavaGenericNodeStyleWrapperRenderer
  
isInside(x:Number, y:Number):Boolean
[override] This implementation delegates to the renderer of the wrapped style.
JavaGenericNodeStyleWrapperRenderer
 Inherited
Calls configure and tests the item using the style for a visible intersection with the clip bounds.
AbstractStyleRenderer
  
lookup(type:Class):Object
[override] ILookup implementation of this style renderer.
JavaGenericNodeStyleWrapperRenderer
  
updateDisplayObject(oldDisplayObject:DisplayObject, context:IDisplayObjectContext):DisplayObject
[override]
JavaGenericNodeStyleWrapperRenderer
Protected Methods
 MethodDefined By
  
configure():void
[override] This implementation does nothing.
JavaGenericNodeStyleWrapperRenderer
  
A ISerializer which can serialize DelegatingStyle instances.
JavaGenericNodeStyleWrapperRenderer
 Inherited
[override] Factory method for the StyleDescriptor property.
AbstractNodeStyleRenderer
 Inherited
JavaNodeStyleRenderer
 Inherited
JavaNodeStyleRenderer
 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
Method Detail
calculateBounds()method
override public function calculateBounds(scratch:IMutableRectangle, ctx:ICanvasContext):IRectangle

This implementation delegates to the renderer of the wrapped style. 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 implementation does nothing. This is an empty implementation of the AbstractStyleRenderer.configure method. Subclasses should override this.

createDisplayObject()method 
override public function createDisplayObject(context:IDisplayObjectContext):DisplayObject

Parameters

context:IDisplayObjectContext

Returns
DisplayObject
createSerializer()method 
protected function createSerializer():IRealizerSerializer

A ISerializer which can serialize DelegatingStyle instances.

This implementation returns a JavaGenericNodeRealizerSerializer and thus does not need to be overridden.

Subclasses can, however, override this method to return a custom serializer or null if the style is not intended to be serialized.

Returns
IRealizerSerializer — A suitable serializer or null.
getIntersection()method 
override public function getIntersection(innerX:Number, innerY:Number, outerX:Number, outerY:Number, intersectionPoint:IPointSetter):Boolean

This implementation delegates to the renderer of the wrapped style. 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 
override public function getOutline():GeneralPath

This implementation delegates to the renderer of the wrapped style. Returns the outline of the shape using the node's layout.

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

Gets an implementation of the IShapeGeometry interface that can handle the provided node and its associated style.

If the IDelegatingStyle wraps an INodeStyle, this implementation delegates to the renderer of the wrapped style, otherwise it returns null.

Parameters

node:INode — The node to provide an instance for
 
style:INodeStyle — The style to use for the painting

Returns
IShapeGeometry — An implementation that may be used to subsequently query geometry information from. Clients should not cache this instance and must always call this method immediately before using the value returned. This enables the use of the flyweight design pattern for implementations
isHit()method 
override public function isHit(x:Number, y:Number, ctx:ICanvasContext):Boolean

This implementation delegates to the renderer of the wrapped style. 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

This implementation delegates to the renderer of the wrapped style. 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 
override public function isInside(x:Number, y:Number):Boolean

This implementation delegates to the renderer of the wrapped style. 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.
lookup()method 
override public function lookup(type:Class):Object

ILookup implementation of this style renderer.

If asked for an ISerializer it returns the result of createSerializer (may be null). Otherwise it returns itself, if the renderer implements the asked type. If not and if the renderer of the wrapped style implements ILookup, that renderer's lookup will be queried.

Parameters

type:Class — The type to look for.

Returns
Object — An instance of the asked type if available, otherwise null.
updateDisplayObject()method 
override public function updateDisplayObject(oldDisplayObject:DisplayObject, context:IDisplayObjectContext):DisplayObject

Parameters

oldDisplayObject:DisplayObject
 
context:IDisplayObjectContext

Returns
DisplayObject