Packagecom.yworks.graph.drawing
Classpublic class AbstractLabelStyleRenderer
InheritanceAbstractLabelStyleRenderer Inheritance AbstractStyleRenderer Inheritance Object
Implements ILabelStyleRenderer
Subclasses CSSLabelStyleRenderer, IconLabelStyleRenderer, SimpleLabelStyleRenderer, TemplateLabelStyleRenderer

Simple abstract base class of an ILabelStyleRenderer that can be used to conveniently create custom label style implementations.



Public Properties
 PropertyDefined By
 Inheriteditem : IModelItem
[read-only] Gets the currently configured item.
AbstractStyleRenderer
  layout : IOrientedRectangle
[read-only] Retrieves the current layout.
AbstractLabelStyleRenderer
 Inheritedstyle : IVisualStyle
[read-only] Gets the currently configured style.
AbstractStyleRenderer
 InheritedstyleDescriptor : ICanvasObjectDescriptor
[read-only] Gets the ICanvasObjectDescriptor to use for new installations.
AbstractStyleRenderer
Protected Properties
 PropertyDefined By
  _layout : IOrientedRectangle
Holds the layout of the current label.
AbstractLabelStyleRenderer
Public Methods
 MethodDefined By
  
[override] Returns a tight rectangular area where the whole rendering would fit into.
AbstractLabelStyleRenderer
 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
 Inherited
Configures the style and item parameters, calls configure and returns this.
AbstractStyleRenderer
  
Calculates the ILabel.preferredSize of a given label using the associated style.
AbstractLabelStyleRenderer
 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.
AbstractLabelStyleRenderer
  
[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.
AbstractLabelStyleRenderer
 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
  
Calculates the preferred size given the current state of the renderer.
AbstractLabelStyleRenderer
  
configure():void
[override] Updates the layout usign the item's layout.
AbstractLabelStyleRenderer
  
[override] Factory method for the styleDescriptor property.
AbstractLabelStyleRenderer
  
isAutoFlip():Boolean
Determines whether the label's style should automatically flip the painting contents if the layout is upside down.
AbstractLabelStyleRenderer
 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
  
updateLayout(obj:DisplayObject, context:IDisplayObjectContext, theLayout:IOrientedRectangle = null):void
Arranges the provided display object using either the layout of the currently configured label, or using the provided rectangle.
AbstractLabelStyleRenderer
Property Detail
_layoutproperty
protected var _layout:IOrientedRectangle

Holds the layout of the current label.

This value is set during configure to the label's layout

See also

layoutproperty 
layout:IOrientedRectangle  [read-only]

Retrieves the current layout.


Implementation
    public function get layout():IOrientedRectangle
Method Detail
_getPreferredSize()method
protected function _getPreferredSize():ISize

Calculates the preferred size given the current state of the renderer.

Returns
ISize — The size as suggested by this renderer.
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

Updates the layout usign the item's layout.

Subclasses should override this method, call the super implementation and configure their painting entities.

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 instance of LabelStyleDescriptor

See also

getPreferredSize()method 
public function getPreferredSize(label:ILabel, style:ILabelStyle):ISize

Calculates the ILabel.preferredSize of a given label using the associated style.

Parameters

label:ILabel — The label to determine the preferred size for
 
style:ILabelStyle — The style instance that uses this instance as its ILabelStyle.styleRenderer.

Returns
ISize — A size that can be used as the ILabel.preferredSize if this renderer paints the label using the associated style. May return null if there is no such thing like a preferred size for this style.
isAutoFlip()method 
protected function isAutoFlip():Boolean

Determines whether the label's style should automatically flip the painting contents if the layout is upside down.

Returns
Booleantrue
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
updateLayout()method 
protected function updateLayout(obj:DisplayObject, context:IDisplayObjectContext, theLayout:IOrientedRectangle = null):void

Arranges the provided display object using either the layout of the currently configured label, or using the provided rectangle.

Parameters

obj:DisplayObject — The display object to be layouted
 
context:IDisplayObjectContext — The current display object context
 
theLayout:IOrientedRectangle (default = null) — an oriented rectangle defining the layout that will applied to the display object. If no layout is provided, the layout of the currently configured label instance is used.