Tuesday, April 20, 2010

EdgeRenderer - a model of hidden capability

EdgeSprites { doc / class } show up a great deal in flare; they're used to track, update, and organize rendering of relationships between NodeSprites { doc / class }.  EdgeSprites are rendered (drawn, shaped) based upon their corresponding EdgeRenderer { doc / class}.  The *interesting* thing, like so many other tools available through flare, is that there is no simple way that I've found in the documentation to identify the list of available values for the various methods.

Here is the source: [link]

To explain what I mean, here is an example.

The EdgeRenderer has the following
public properties
caps : String = "null"; The caps style for line rendering. 
instance : EdgeRenderer; Static EdgeRenderer instance. 
joints : String = "null"; The joint style for line rendering. 
miterLimit : int = 3; The miter limit for line rendering.
pixelHinting : Boolean = false; Pixel hinting flag for line rendering.
scaleMode : String = "normal"; Scale mode for line rendering

public methods
render (d : DataSprite ) : void; Renders drawing content for the input DataSprite.

protected methods
setLineStyle ( e:EdgeSprite, g:Graphics ): void{}; Sets the line style for edge rendering.

So I know that scaleMode is a string whose default value is "normal";
what does this mean and what other values are valid?

I've attached EdgeRenderer to the "Classes" portion of this blog.
It may be evaluated here.

Searching through the class, one stumbles across something of interest - "caps" is an attribute of a graphics object; further research indicates this to be used in setting the lineStyle, which specifies a line style that Flash uses for subsequent calls to other Graphics methods (such as lineTo() or drawCircle()) for the object.

Here are valid values for each of those attributes (ref)
caps: Type of caps at the end of lines
values: CapsStyle.NONE; CapsStyle.ROUND; CapsStyle.SQUARE

The other attributes have similar variety and not all make use of lineStyle; caps does ... so does scaleMode, miterLimit, and pixelHinting.

No comments:

Post a Comment