Packagespark.core
Interfacepublic interface IGraphicElement extends IVisualElement, ILayoutElement, ILayoutDirectionElement, flash.events.IEventDispatcher
Implementors GraphicElement

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The IGraphicElement is implemented by IVisualElements that take advantage of the parent IGraphicElementContainer DisplayObject management.

One typical use case is DisplayObject sharing. the Group class, which implements IGraphicElementContainer, organizes its IGraphicElement children in sequences that share and draw to the same DisplayObject. The DisplayObject is created by the first element in the sequence.

Another use case is when an element does not derive from DisplayObject but instead maintains, creates and/or destroys its own DisplayObject. The IGraphicElementContainer will call the element to create the DisplayObject, add the DisplayObject as its child at the correct index, and handle its removal.

Typically, you extend the GraphicElement class instead of directly implementing the IGraphciElement interface. The GraphicElement class already provides most of the required functionality.

See also

spark.core.IGraphicElementContainer


Public Properties
 PropertyDefined By
 Inheritedalpha : Number
IVisualElement
 Inheritedbaseline : Object
The vertical distance in pixels from the anchor target to the control's baseline position.
ILayoutElement
 InheritedbaselinePosition : Number
[read-only] The y-coordinate of the baseline of the first line of text of the component.
ILayoutElement
 Inheritedbottom : Object
The vertical distance in pixels from the bottom edge of the component to the anchor target's bottom edge.
ILayoutElement
 Inheriteddepth : Number
Determines the order in which items inside of containers are rendered.
IVisualElement
 InheriteddesignLayer : DesignLayer
Specifies the optional DesignLayer instance associated with this visual element.
IVisualElement
  displayObject : DisplayObject
[read-only] The shared DisplayObject where this IGraphicElement is drawn.
IGraphicElement
  displayObjectSharingMode : String
Indicates the association between this IGraphicElement and its display objects.
IGraphicElement
 InheritedhasLayoutMatrix3D : Boolean
[read-only] Contains true if the element has 3D Matrix.
ILayoutElement
 Inheritedheight : Number
IVisualElement
 InheritedhorizontalCenter : Object
The horizontal distance in pixels from the center of the component to the center of the anchor target's content area.
ILayoutElement
 InheritedincludeInLayout : Boolean
Specifies whether this component is included in the layout of the parent container.
ILayoutElement
 Inheritedis3D : Boolean
[read-only] Contains true when the element is in 3D.
IVisualElement
 InheritedlayoutDirection : String
Specifies the desired layout direction for an element: one of LayoutDirection.LTR (left to right), LayoutDirection.RTL (right to left), or null (inherit).
ILayoutDirectionElement
 Inheritedleft : Object
The horizontal distance in pixels from the left edge of the component to the anchor target's left edge.
ILayoutElement
 Inheritedowner : DisplayObjectContainer
The owner of this IVisualElement object.
IVisualElement
 Inheritedparent : DisplayObjectContainer
[read-only] The parent container or component for this component.
IVisualElement
 InheritedpercentHeight : Number
Specifies the height of a component as a percentage of its parent's size.
ILayoutElement
 InheritedpercentWidth : Number
Specifies the width of a component as a percentage of its parent's size.
ILayoutElement
 InheritedpostLayoutTransformOffsets : TransformOffsets
Defines a set of adjustments that can be applied to the object's transform in a way that is invisible to its parent's layout.
IVisualElement
 Inheritedright : Object
The horizontal distance in pixels from the right edge of the component to the anchor target's right edge.
ILayoutElement
 Inheritedtop : Object
The vertical distance in pixels from the top edge of the component to the anchor target's top edge.
ILayoutElement
 InheritedverticalCenter : Object
The vertical distance in pixels from the center of the component to the center of the anchor target's content area.
ILayoutElement
 Inheritedvisible : Boolean
Controls the visibility of this visual element.
IVisualElement
 Inheritedwidth : Number
IVisualElement
 Inheritedx : Number
IVisualElement
 Inheritedy : Number
IVisualElement
Public Methods
 MethodDefined By
  
Returns true if this IGraphicElement is compatible and can share display objects with the next IGraphicElement in the sequence.
IGraphicElement
  
Returns true if this IGraphicElement is compatible and can share display objects with the previous IGraphicElement in the sequence.
IGraphicElement
  
createDisplayObject():DisplayObject
Creates a new DisplayObject where this IGraphicElement is drawn.
IGraphicElement
 Inherited
getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
Returns the x coordinate of the element's bounds at the specified element size.
ILayoutElement
 Inherited
getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
Returns the y coordinate of the element's bounds at the specified element size.
ILayoutElement
 Inherited
getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's layout height.
ILayoutElement
 Inherited
getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's layout width.
ILayoutElement
 Inherited
getLayoutBoundsX(postLayoutTransform:Boolean = true):Number
Returns the x coordinate that the element uses to draw on screen.
ILayoutElement
 Inherited
getLayoutBoundsY(postLayoutTransform:Boolean = true):Number
Returns the y coordinate that the element uses to draw on screen.
ILayoutElement
 Inherited
Returns the transform matrix that is used to calculate the component's layout relative to its siblings.
ILayoutElement
 Inherited
Returns the layout transform Matrix3D for this element.
ILayoutElement
 Inherited
getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's maximum height.
ILayoutElement
 Inherited
getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's maximum width.
ILayoutElement
 Inherited
getMinBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's minimum height.
ILayoutElement
 Inherited
getMinBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's minimum width.
ILayoutElement
 Inherited
getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number
Returns the element's preferred height.
ILayoutElement
 Inherited
getPreferredBoundsWidth(postLayoutTransform:Boolean = true):Number
Returns the element's preferred width.
ILayoutElement
 Inherited
An element must call this method when its layoutDirection changes or when its parent's layoutDirection changes.
ILayoutDirectionElement
  
Called by IGraphicElementContainer when an IGraphicElement is added to or removed from the host component.
IGraphicElement
 Inherited
setLayoutBoundsPosition(x:Number, y:Number, postLayoutTransform:Boolean = true):void
Sets the coordinates that the element uses to draw on screen.
ILayoutElement
 Inherited
setLayoutBoundsSize(width:Number, height:Number, postLayoutTransform:Boolean = true):void
Sets the layout size of the element.
ILayoutElement
 Inherited
setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void
Sets the transform Matrix that is used to calculate the component's layout size and position relative to its siblings.
ILayoutElement
 Inherited
setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):void
Sets the transform Matrix3D that is used to calculate the component's layout size and position relative to its siblings.
ILayoutElement
  
setSharedDisplayObject(sharedDisplayObject:DisplayObject):Boolean
Determines whether this element can draw itself to the sharedDisplayObject of the sequence.
IGraphicElement
 Inherited
transformAround(transformCenter:Vector3D, scale:Vector3D = null, rotation:Vector3D = null, translation:Vector3D = null, postLayoutScale:Vector3D = null, postLayoutRotation:Vector3D = null, postLayoutTranslation:Vector3D = null, invalidateLayout:Boolean = true):void
A utility method to update the rotation, scale, and translation of the transform while keeping a particular point, specified in the component's own coordinate space, fixed in the parent's coordinate space.
ILayoutElement
  
Called by the IGraphicElementContainer to redraw this element in its displayObject property.
IGraphicElement
  
Called by the IGraphicElementContainer to validate the properties of this element.
IGraphicElement
  
Called by the IGraphicElementContainer to validate the size of this element.
IGraphicElement
Property Detail
displayObjectproperty
displayObject:DisplayObject  [read-only]

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

The shared DisplayObject where this IGraphicElement is drawn.

Implementers should not create the DisplayObject here, but in the createDisplayObject() method.


Implementation
    public function get displayObject():DisplayObject

See also

displayObjectSharingModeproperty 
displayObjectSharingMode:String

Language Version : ActionScript 3.0
Product Version : Flex 4.5
Runtime Versions : Flash Player 10, AIR 2.5

Indicates the association between this IGraphicElement and its display objects. The IGraphicElementContainer manages this property and the values are one of the DisplayObjectSharingMode enum class.


Implementation
    public function get displayObjectSharingMode():String
    public function set displayObjectSharingMode(value:String):void
Method Detail
canShareWithNext()method
public function canShareWithNext(element:IGraphicElement):Boolean

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Returns true if this IGraphicElement is compatible and can share display objects with the next IGraphicElement in the sequence.

Parameters

element:IGraphicElement — The element that comes after this element in the sequence.

Returns
Boolean — Returns true when this element is compatible with the previous element in the sequence.

See also

canShareWithPrevious()method 
public function canShareWithPrevious(element:IGraphicElement):Boolean

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Returns true if this IGraphicElement is compatible and can share display objects with the previous IGraphicElement in the sequence.

In certain cases the element might be passed to the IGraphicElementContainer in a call to the setSharedDisplayObject() method. In those cases, this method is not called.

Parameters

element:IGraphicElement — The element that comes before this element in the sequence.

Returns
Boolean — Returns true when this element is compatible with the previous element in the sequence.

See also

createDisplayObject()method 
public function createDisplayObject():DisplayObject

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Creates a new DisplayObject where this IGraphicElement is drawn.

Subsequent calls to the getter of the displayObject property must return the same display object.

After the DisplayObject is created, the parent IGraphicElementContainer will pass along the display objects to the rest of the elements in the sequence.

The IGraphicElementContainer ensures that this method is called only when needed.

If the element wants to participate in the DisplayObject sharing, then the new DisplayObject must implement IShareableDisplayObject. This interface is being used by the IGraphicElementContainer to manage invalidation and redrawing of the graphic element sequence and typically is not directly used by the developer.

To reevaluate the shared sequences, call the invalidateGraphicElementSharing() method on the IGraphicElementContainer.

To force the IGraphicElementContainer to remove the element's current DisplayObject from its display list and recalculate the display object sharing, call the discardDisplayObject() method on the IGraphicElementContainer.

Returns
DisplayObject — The display object created.

See also

parentChanged()method 
public function parentChanged(parent:IGraphicElementContainer):void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Called by IGraphicElementContainer when an IGraphicElement is added to or removed from the host component.

You typically never need to call this method.

Parameters

parent:IGraphicElementContainer — The IGraphicElementContainer of this IGraphicElement.

setSharedDisplayObject()method 
public function setSharedDisplayObject(sharedDisplayObject:DisplayObject):Boolean

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Determines whether this element can draw itself to the sharedDisplayObject of the sequence.

Typically implementers return true when this IGraphicElement can cumulatively draw in the shared DisplayObject graphics property. In all cases where this IGraphicElement needs to set properties on the DisplayObjects that don't apply to the rest of the elements in the sequence, this method must return false. Examples for such properties are rotation, scale, transform, mask, alpha, filters, color transform, 3D, and layer.

When this method returns true, subsequent calls to the getter of the displayObject property must return the same display object.

In certain cases, the sharedDisplayObject property might be the IGraphicElementContainer itself. In the rest of the cases, the DisplayObject is created by the first element in the sequence.

When this IGraphicElement needs to rebuild its sequence, it notifies the IGraphicElementContainer by calling its invalidateGraphicElementSharing() method.

Parameters

sharedDisplayObject:DisplayObject — The shared DisplayObject.

Returns
Boolean — Returns true when this IGraphicElement can draw itself to the shared DisplayObject of the sequence.

See also

validateDisplayList()method 
public function validateDisplayList():void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Called by the IGraphicElementContainer to redraw this element in its displayObject property.

If the element is the first in the sequence (displayObjectSharingMode is set to DisplayObjectSharingMode.OWNS_SHARED_OBJECT) then it must clear the displayObject graphics and set it up as necessary for drawing the rest of the elements.

The element must alway redraw even if it itself has not changed since the last time the validateDisplayList() method was called. The parent IGraphicElementContainer will redraw the whole sequence if any of its elements need to be redrawn.

To ensure this method is called, notify the IGraphicElementContainer by calling its invalidateGraphicElementSize() method.

This method might be called even if this element has not notified the IGraphicElementContainer.

See also

validateProperties()method 
public function validateProperties():void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Called by the IGraphicElementContainer to validate the properties of this element.

To ensure that this method is called, notify the IGraphicElementContainer by calling its invalidateGraphicElementProperties() method.

This method might be called even if this element has not notified the IGraphicElementContainer.

See also

validateSize()method 
public function validateSize():void

Language Version : ActionScript 3.0
Product Version : Flex 4
Runtime Versions : Flash Player 10, AIR 1.5

Called by the IGraphicElementContainer to validate the size of this element.

When the size of the element changes and is going to affect the IGraphicElementContainer layout, the implementer is responsible for invalidating the parent's size and display list.

To ensure that this method is called, notify the IGraphicElementContainer by calling its invalidateGraphicElementSize() method.

This method might be called even if this element has not notified the IGraphicElementContainer.

See also