blob: 6d5bd19e3f9eacaa0ccec8969eb9f1432377f49a [file] [log] [blame]
////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
package mx.core
{
import flash.events.IEventDispatcher;
import flash.geom.Matrix;
import flash.geom.Matrix3D;
import flash.geom.Vector3D;
/**
* The ILayoutElement interface is used primarily by the layout classes to query,
* size and position the elements of GroupBase containers.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
public interface ILayoutElement extends IEventDispatcher
{
/**
* The horizontal distance in pixels from the left edge of the component to the
* anchor target's left edge.
*
* <p>By default the anchor target is the container's content area. In layouts
* with advanced constraints, the target can be a constraint column.</p>
*
* <p>Setting the property to a number or to a numerical string like "10"
* specifies use of the default anchor target.</p>
*
* <p>To specify an anchor target, set the property value to a string in the format
* "anchorTargetName:value". For example, "col1:10".</p>
*
* @default null
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get left():Object;
/**
* @private
*/
function set left(value:Object):void;
/**
* The horizontal distance in pixels from the right edge of the component to the
* anchor target's right edge.
*
* <p>By default the anchor target is the container's content area. In layouts
* with advanced constraints, the target can be a constraint column.</p>
*
* <p>Setting the property to a number or to a numerical string like "10"
* specifies use of the default anchor target.</p>
*
* <p>To specify an anchor target, set the property value to a string in the format
* "anchorTargetName:value". For example, "col1:10".</p>
*
* @default null
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get right():Object;
/**
* @private
*/
function set right(value:Object):void;
/**
* The vertical distance in pixels from the top edge of the component to the
* anchor target's top edge.
*
* <p>By default the anchor target is the container's content area. In layouts
* with advanced constraints, the target can be a constraint row.</p>
*
* <p>Setting the property to a number or to a numerical string like "10"
* specifies use of the default anchor target.</p>
*
* <p>To specify an anchor target, set the property value to a string in the format
* "anchorTargetName:value". For example, "row1:10".</p>
*
* @default null
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get top():Object;
/**
* @private
*/
function set top(value:Object):void;
/**
* The vertical distance in pixels from the bottom edge of the component to the
* anchor target's bottom edge.
*
* <p>By default the anchor target is the container's content area. In layouts
* with advanced constraints, the target can be a constraint row.</p>
*
* <p>Setting the property to a number or to a numerical string like "10"
* specifies use of the default anchor target.</p>
*
* <p>To specify an anchor target, set the property value to a string in the format:
* "anchorTargetName:value". For example, "row1:10".</p>
*
* @default null
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get bottom():Object;
/**
* @private
*/
function set bottom(value:Object):void;
/**
* The horizontal distance in pixels from the center of the component to the
* center of the anchor target's content area.
*
* <p>The default anchor target is the container itself.</p>
*
* <p>In layouts with advanced constraints, the anchor target can be a constraint column.
* Then the content area is the space between the preceding column
* (or container side) and the target column.</p>
*
* <p>Setting the property to a number or to a numerical string like "10"
* specifies use of the default anchor target.</p>
*
* <p>To specify an anchor target, set the property value to a string in the format
* "constraintColumnId:value". For example, "col1:10".</p>
*
* @default null
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get horizontalCenter():Object;
/**
* @private
*/
function set horizontalCenter(value:Object):void;
/**
* The vertical distance in pixels from the center of the component to the
* center of the anchor target's content area.
*
* <p>The default anchor target is the container itself.</p>
*
* <p>In layouts with advanced constraints, the anchor target can be a constraint row.
* Then the content area is the space between the preceding row
* (or container side) and the target row.</p>
*
* <p>Setting the property to a number or to a numerical string like "10"
* specifies use of the default anchor target.</p>
*
* <p>To specify an anchor target, set the property value to a string in the format
* "constraintColumnId:value". For example, "row1:10".</p>
*
* @default null
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get verticalCenter():Object;
/**
* @private
*/
function set verticalCenter(value:Object):void;
/**
* The vertical distance in pixels from the anchor target to
* the control's baseline position.
*
* <p>By default the anchor target is the top edge of the container's
* content area. In layouts with advanced constraints, the target can be
* a constraint row.</p>
*
* <p>Setting the property to a number or to a numerical string like "10"
* specifies use of the default anchor target.</p>
*
* <p>To specify an anchor target, set the property value to a string in the format:
* "anchorTargetName:value". For example, "row1:10".</p>
*
* @default null
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get baseline():Object;
/**
* @private
*/
function set baseline(value:Object):void;
/**
* The y-coordinate of the baseline
* of the first line of text of the component.
*
* <p>This property is used to implement
* the <code>baseline</code> constraint style.
* It is also used to align the label of a FormItem
* with the controls in the FormItem.</p>
*
* <p>Each component should override this property.</p>
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get baselinePosition():Number;
/**
* Specifies the width of a component as a percentage
* of its parent's size. Allowed values are 0-100.
* Setting the <code>width</code> or <code>explicitWidth</code> properties
* resets this property to NaN.
*
* <p>This property returns a numeric value only if the property was
* previously set; it does not reflect the exact size of the component
* in percent.</p>
*
* @default NaN
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get percentWidth():Number;
/**
* @private
*/
function set percentWidth(value:Number):void;
/**
* Specifies the height of a component as a percentage
* of its parent's size. Allowed values are 0-100.
* Setting the <code>height</code> or <code>explicitHeight</code> properties
* resets this property to NaN.
*
* <p>This property returns a numeric value only if the property was
* previously set; it does not reflect the exact size of the component
* in percent.</p>
*
* @default NaN
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get percentHeight():Number;
/**
* @private
*/
function set percentHeight(value:Number):void;
/**
* @copy mx.core.UIComponent#includeInLayout
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get includeInLayout():Boolean;
/**
* @private
*/
function set includeInLayout(value:Boolean):void;
/**
* Returns the element's preferred width.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is <code>true</code>,
* the method returns the element's bounding box width.
* The bounding box is in the element's parent
* coordinate space and is calculated from the element's preferred size and
* layout transform matrix.
*
* @return Returns the element's preferred width. Preferred width is
* usually based on the default element size and any explicit overrides.
* For UIComponent this is the same value as returned by
* the <code>getExplicitOrMeasuredWidth()</code> method.
*
* @see #getPreferredBoundsHeight()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getPreferredBoundsWidth(postLayoutTransform:Boolean = true):Number;
/**
* Returns the element's preferred height.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is <code>true</code>,
* the method returns the element's bounding box height.
* The bounding box is in the element's parent
* coordinate space and is calculated from the element's preferred size and
* layout transform matrix.
*
* @return Returns the element's preferred height. Preferred height is
* usually based on the default element size and any explicit overrides.
* For UIComponent this is the same value as returned by
* the <code>getExplicitOrMeasuredHeight()</code> method.
*
* @see #getPreferredBoundsWidth()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number;
/**
* Returns the element's minimum width.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is <code>true</code>,
* the method returns the element's bounding box width.
* The bounding box is in the element's parent
* coordinate space and is calculated from the element's minimum size and
* layout transform matrix.
*
* @return The element's maximum width.
*
* @see #getMinBoundsHeight()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getMinBoundsWidth(postLayoutTransform:Boolean = true):Number;
/**
* Returns the element's minimum height.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is <code>true</code>,
* the method returns the element's bounding box height.
* The bounding box is in the element's parent
* coordinate space and is calculated from the element's minimum size and
* layout transform matrix.
*
* @return The element's maximum height.
*
* @see #getMinBoundsWidth()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getMinBoundsHeight(postLayoutTransform:Boolean = true):Number;
/**
* Returns the element's maximum width.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* the element's bounding box width. The bounding box is in the element's parent
* coordinate space and is calculated from the element's maximum size and
* layout transform matrix.
*
* @return The element's maximum width.
*
* @see #getMaxBoundsHeight()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number;
/**
* Returns the element's maximum height.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* the element's bounding box height. The bounding box is in the element's parent
* coordinate space and is calculated from the element's maximum size and
* layout transform matrix.
*
* @return The element's maximum height.
*
* @see #getMaxBoundsWidth()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number;
/**
* Returns the x coordinate of the element's bounds at the specified element size.
*
* <p>This method is typically used by layouts during a call to the
* <code>measure()</code> method to predict what
* the element position will be, if the element is resized to particular dimensions.</p>
*
* @param width The element's bounds width, or NaN to use the preferred width.
* @param height The element's bounds height, or NaN to use the preferred height.
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* x coordinate of the element's bounding box top-left corner.
* The bounding box is in element's parent coordinate space and is calculated
* from the specified bounds size, layout position and layout transform matrix.
*
* @return The x coordinate of the element's bounds at the specified element size.
*
* @see #setLayoutBoundsSize()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number;
/**
* Returns the y coordinate of the element's bounds at the specified element size.
*
* This method is typically used by layouts during a call to
* the <code>measure()</code> to predict what
* the element position will be, if the element is resized to particular dimensions.
*
* @param width The element's bounds width, or NaN to use the preferred width.
* @param height The element's bounds height, or NaN to use the preferred height.
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* the y coordinate of the element's bounding box top-left corner.
* The bounding box is in element's parent coordinate space and is calculated
* from the specified bounds size, layout position and layout transform matrix.
*
* @return The y coordinate of the element's bounds at the specified element size.
*
* @see #setLayoutBoundsSize()
* @see #getLayoutBoundsY()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number;
/**
* Returns the element's layout width. This is the size that the element uses
* to draw on screen.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* the element's bounding box width. The bounding box is in element's parent
* coordinate space and is calculated from the element's layout size and
* layout transform matrix.
*
* @return The element's layout width.
*
* @see #getLayoutBoundsHeight()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number;
/**
* Returns the element's layout height. This is the size that the element uses
* to draw on screen.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* the element's bounding box width. The bounding box is in the element's parent
* coordinate space and is calculated from the element's layout size and
* layout transform matrix.
*
* @return The element's layout height.
*
* @see #getLayoutBoundsWidth()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number;
/**
* Returns the x coordinate that the element uses to draw on screen.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* x coordinate of the element's bounding box top-left corner.
* The bounding box is in the element's parent coordinate space and is calculated
* from the element's layout size, layout position and layout transform matrix.
*
* @return The x coordinate that the element uses to draw on screen.
*
* @see #getLayoutBoundsY()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getLayoutBoundsX(postLayoutTransform:Boolean = true):Number;
/**
* Returns the y coordinate that the element uses to draw on screen.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the method returns
* y coordinate of the element's bounding box top-left corner.
* The bounding box is in the element's parent coordinate space and is calculated
* from the element's layout size, layout position, and layout transform matrix.
*
* @return The y coordinate that the element uses to draw on screen.
*
* @see #getLayoutBoundsX()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getLayoutBoundsY(postLayoutTransform:Boolean = true):Number;
/**
* Sets the coordinates that the element uses to draw on screen.
*
* <p>Note that calls to the <code>setLayoutBoundSize()</code> method can affect the layout position, so
* call <code>setLayoutBoundPosition()</code> after calling <code>setLayoutBoundSize()</code>.</p>
*
* @param x The x-coordinate of the top-left corner of the bounding box.
*
* @param y The y-coordinate of the top-left corner of the bounding box.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is <code>true</code>,
* the element is positioned in such a way that the top-left corner of its bounding box is (x, y).
* The bounding box is in the element's parent coordinate space and is calculated
* from the element's layout size, layout position and layout transform matrix.
*
* @see #setLayoutBoundsSize()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function setLayoutBoundsPosition(x:Number, y:Number, postLayoutTransform:Boolean = true):void;
/**
* Sets the layout size of the element.
* This is the size that the element uses to draw on screen.
*
* <p>If the <code>width</code> and/or <code>height</code> parameters are left unspecified (NaN),
* Flex sets the element's layout size to its preferred width and/or preferred height.</p>
*
* <p>Note that calls to the <code>setLayoutBoundSize()</code> method can affect the layout position, so
* call <code>setLayoutBoundPosition()</code> after calling <code>setLayoutBoundSize()</code>.</p>
*
* @param width The element's layout width.
*
* @param height The element's layout height.
*
* @param postLayoutTransform When <code>postLayoutTransform</code> is true, the specified sizes
* are those of the element's bounding box.
* The bounding box is in the element's parent coordinate space and is calculated
* from the element's layout size, layout position, and layout transform matrix.
*
* @see #setLayoutBoundsPosition()
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function setLayoutBoundsSize(width:Number,
height:Number,
postLayoutTransform:Boolean = true):void;
/**
* Returns the transform matrix that is used to calculate the component's
* layout relative to its siblings.
*
* <p>This matrix is typically defined by the
* component's 2D properties such as <code>x</code>, <code>y</code>,
* <code>rotation</code>, <code>scaleX</code>, <code>scaleY</code>,
* <code>transformX</code>, and <code>transformY</code>.
* Some components may have additional transform properties that
* are applied on top of the layout matrix to determine the final,
* computed matrix. For example <code>UIComponent</code>
* defines the <code>offsets</code> property.</p>
*
* @return The layout transform Matrix for this element.
* Do not directly modify the return value; call the <code>setLayoutMatrix()</code> method instead.
*
* @see #setLayoutMatrix()
* @see #getLayoutMatrix3D()
* @see #setLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getLayoutMatrix():Matrix;
/**
* Sets the transform Matrix that is used to calculate the component's layout
* size and position relative to its siblings.
*
* <p>The matrix is typically defined by the
* component's 2D properties such as <code>x</code>, <code>y</code>,
* <code>rotation</code>, <code>scaleX</code>, <code>scaleY</code>,
* <code>transformX</code>, and <code>transformY</code>.
* Some components may have additional transform properties that
* are applied on top of the layout matrix to determine the final,
* computed matrix. For example <code>UIComponent</code>
* defines the <code>offsets</code>.</p>
*
* <p>Note that layout Matrix is factored in the <code>getPreferredSize()</code>,
* <code>getMinSize()</code>, <code>getMaxSize()</code>, <code>getLayoutSize()</code>
* methods when computed in parent coordinates
* as well as in <code>getLayoutPosition()</code> in both parent and child coordinates.
* Layouts that calculate the transform matrix explicitly typically call
* this method and work with sizes in child coordinates.
* Layouts calling this method pass <code>false</code>
* to the <code>invalidateLayout()</code> method so that a subsequent layout pass is not
* triggered.</p>
*
* @param Matrix The matrix.
*
* @param invalidateLayout <code>true</code> to cause the parent container
* to re-layout its children. You typically pass <code>true</code>
* to the <code>invalidateLayout()</code> method.
*
* @see #getLayoutMatrix()
* @see #getLayoutMatrix3D()
* @see #setLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void;
/**
* Contains <code>true</code> if the element has 3D Matrix.
*
* <p>Use <code>hasLayoutMatrix3D</code> instead of calling and examining the
* return value of <code>getLayoutMatrix3D()</code> because that method returns a valid
* matrix even when the element is in 2D.</p>
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get hasLayoutMatrix3D():Boolean;
/**
* Returns the layout transform Matrix3D for this element.
*
* <p>This matrix is typically defined by the
* component's transform properties such as <code>x</code>, <code>y</code>,
* <code>z</code>, <code>rotationX</code>, <code>rotationY</code>,
* <code>rotationZ</code>, <code>scaleX</code>, <code>scaleY</code>,
* <code>scaleZ</code>, <code>transformX</code>, and <code>transformY</code>.
* Some components may have additional transform properties that
* are applied on top of the layout matrix to determine the final,
* computed matrix. For example <code>UIComponent</code>
* defines the <code>offsets</code> property.</p>
*
* @return The layout transform Matrix3D for this element.
* Do not directly modify the return value but call the <code>setLayoutMatrix()</code> method instead.
*
* @see #getLayoutMatrix()
* @see #setLayoutMatrix()
* @see #setLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function getLayoutMatrix3D():Matrix3D;
/**
* Sets the transform Matrix3D that is used to calculate the component's layout
* size and position relative to its siblings.
*
* <p>This matrix is typically defined by the
* component's transform properties such as <code>x</code>, <code>y</code>,
* <code>z</code>, <code>rotationX</code>, <code>rotationY</code>,
* <code>rotationZ</code>, <code>scaleX</code>, <code>scaleY</code>,
* <code>scaleZ</code>, <code>transformX</code>, and <code>transformY</code>.
* Some components may have additional transform properties that
* are applied on top of the layout matrix to determine the final,
* computed matrix. For example <code>UIComponent</code>
* defines the <code>offsets</code> property.</p>
*
* <p>Note that layout Matrix3D is factored in the <code>getPreferredSize()</code>,
* <code>getMinSize()</code>, <code>getMaxSize()</code>, <code>getLayoutSize()</code>
* when computed in parent coordinates
* as well as in <code>getLayoutPosition()</code> in both parent and child coordinates.
* Layouts that calculate the transform matrix explicitly typically call
* this method and work with sizes in child coordinates.
* Layouts calling this method pass <code>false</code>
* to the <code>invalidateLayout()</code> method so that a subsequent layout pass is not
* triggered.</p>
*
* @param Matrix The matrix.
*
* @param invalidateLayout <code>true</code> to cause the parent container
* to re-layout its children. You typically pass <code>true</code>
* to the <code>invalidateLayout()</code> method.
*
* @see #getLayoutMatrix()
* @see #setLayoutMatrix()
* @see #getLayoutMatrix3D()
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function setLayoutMatrix3D(value:Matrix3D, invalidateLayout:Boolean):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.
* This function will assign the rotation, scale, and translation values
* provided, then update the x/y/z properties as necessary to keep
* the transform center fixed.
*
* @param transformCenter The point, in the component's own coordinates,
* to keep fixed relative to its parent.
*
* @param scale The new values for the scale of the transform.
*
* @param rotation the new values for the rotation of the transform
*
* @param translation The new values for the translation of the transform.
*
* @param postLayoutScale The new values for the post-layout scale
* of the transform.
*
* @param postLayoutRotation The new values for the post-layout rotation
* of the transform.
*
* @param postLayoutTranslation The new values for the post-layout translation
* of the transform.
*
* @param invalidateLayout If <code>true</code>, the parent container size and display are
* invalidated. Layouts calling this method pass <code>false</code>
* so that a subsequent layout pass is not triggered.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function 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;
}
}