blob: 9b59813e1276a7ae68ef775c2eba2ebfda2fb44f [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.geom.Matrix;
import flash.geom.Matrix3D;
/**
* The IAssetLayoutFeatures interface defines the minimum properties and methods
* required for an Object to support advanced transforms in embedded assets.
*
* @see mx.core.AdvancedLayoutFeatures
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
public interface IAssetLayoutFeatures
{
/**
* Layout transform convenience property. Represents the x value of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutX(value:Number):void;
/**
* @private
*/
function get layoutX():Number;
/**
* Layout transform convenience property. Represents the y value of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutY(value:Number):void;
/**
* @private
*/
function get layoutY():Number;
/**
* Layout transform convenience property. Represents the z value of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutZ(value:Number):void;
/**
* @private
*/
function get layoutZ():Number;
/**
* Used by the mirroring transform. See the mirror property.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get layoutWidth():Number;
/**
* @private
*/
function set layoutWidth(value:Number):void;
//------------------------------------------------------------------------------
/**
* The x value of the point around which any rotation and scale is performed in both the layout and computed matrix.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set transformX(value:Number):void;
/**
* @private
*/
function get transformX():Number;
/**
* The y value of the point around which any rotation and scale is performed in both the layout and computed matrix.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set transformY(value:Number):void;
/**
* @private
*/
function get transformY():Number;
/**
* The z value of the point around which any rotation and scale is performed in both the layout and computed matrix.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set transformZ(value:Number):void;
/**
* @private
*/
function get transformZ():Number;
//------------------------------------------------------------------------------
/**
* Layout transform convenience property. Represents the rotation around the X axis of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutRotationX(value:Number):void;
/**
* @private
*/
function get layoutRotationX():Number;
/**
* Layout transform convenience property. Represents the rotation around the Y axis of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutRotationY(value:Number):void;
/**
* @private
*/
function get layoutRotationY():Number;
/**
* Layout transform convenience property. Represents the rotation around the Z axis of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutRotationZ(value:Number):void;
/**
* @private
*/
function get layoutRotationZ():Number;
//------------------------------------------------------------------------------
/**
* Layout transform convenience property. Represents the scale along the X axis of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutScaleX(value:Number):void;
/**
* @private
*/
function get layoutScaleX():Number;
/**
* Layout transform convenience property. Represents the scale along the Y axis of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutScaleY(value:Number):void;
/**
* @private
*/
function get layoutScaleY():Number;
/**
* Layout transform convenience property. Represents the scale along the Z axis of the layout matrix used in layout and in
* the computed transform.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutScaleZ(value:Number):void;
/**
* @private
*/
function get layoutScaleZ():Number;
/**
* The 2D matrix used during layout calculations to determine the layout and size of the component and its parent and siblings.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutMatrix(value:Matrix):void;
/**
* @private
*/
function get layoutMatrix():Matrix;
/**
* The 3D matrix used during layout calculations to determine the layout and size of the component and its parent and siblings.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function set layoutMatrix3D(value:Matrix3D):void;
/**
* @private
*/
function get layoutMatrix3D():Matrix3D;
/**
* True if the computed transform has 3D values.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get is3D():Boolean;
/**
* True if the layout transform has 3D values.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get layoutIs3D():Boolean;
/**
* If true the X axis is scaled by -1 and the x coordinate of the origin
* is translated by the component's width.
*
* The net effect of this "mirror" transform is to flip the direction
* that the X axis increases in without changing the layout element's
* location relative to the parent's origin.
*
* @default false
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get mirror():Boolean;
/**
* @private
*/
function set mirror(value:Boolean):void;
/**
* The stretchY is the horizontal component of the stretch scale factor which
* is applied before any other transformation property.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get stretchX():Number;
/**
* @private
*/
function set stretchX(value:Number):void;
/**
* The stretchY is the vertical component of the stretch scale factor which
* is applied before any other transformation property.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get stretchY():Number;
/**
* @private
*/
function set stretchY(value:Number):void;
//------------------------------------------------------------------------------
/**
* The computed matrix, calculated by combining the layout matrix and any offsets provided.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get computedMatrix():Matrix;
/**
* The computed 3D matrix, calculated by combining the 3D layout matrix and any offsets provided.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4.1
*/
function get computedMatrix3D():Matrix3D;
}
}