//////////////////////////////////////////////////////////////////////////////// // // 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.display.DisplayObjectContainer; import mx.geom.TransformOffsets; /** * The IVisualElement interface defines the minimum properties and methods * required for a visual element to be laid out and displayed in a Spark container. * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ public interface IVisualElement extends ILayoutElement, ILayoutDirectionElement { /** * The owner of this IVisualElement object. * By default, it is the parent of this IVisualElement object. * However, if this IVisualElement object is a child component that is * popped up by its parent, such as the drop-down list of a ComboBox control, * the owner is the component that popped up this IVisualElement object. * *
This property is not managed by Flex, but by each component.
* Therefore, if you use the PopUpManger.createPopUp()
or
* PopUpManger.addPopUp()
method to pop up a child component,
* you should set the owner
property of the child component
* to the component that popped it up.
The default value is the value of the parent
property.
parent
property.
* Non-visual items should use another property to reference
* the object to which they belong.
* By convention, non-visual objects use an owner
* property to reference the object to which they belong.
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get parent():DisplayObjectContainer;
/**
* Determines the order in which items inside of containers
* are rendered.
* Spark containers order their items based on their
* depth
property, with the lowest depth in the back,
* and the higher in the front.
* Items with the same depth value appear in the order
* they are added to the container.
*
* @default 0
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get depth():Number;
/**
* @private
*/
function set depth(value:Number):void;
/**
* Controls the visibility of this visual element.
* If true
, the object is visible.
*
* If an object is not visible, but the includeInLayout
* property is set to true
, then the object
* takes up space in the container, but is invisible.
If visible
is set to true
, the object may not
* necessarily be visible due to its size and whether container clipping
* is enabled.
Setting visible
to false
,
* prevents the component from getting focus.
When a DesignLayer is assigned, a visual element must consider the * visibility and alpha of its parent layer when ultimately committing its * own effective visibility or alpha to its backing DisplayObject * (if applicable).
* *A visual element must listen for layerPropertyChange
* notifications from the associated layer parent. When the
* effectiveAlpha
or effectiveVisibility
of the
* layer changes, the element must then compute its own effective visibility
* (or alpha) and apply it accordingly.
This property should not be set within MXML directly.
* *The designLayer
property is not used for z-order control,
* please see depth
.
For example, if you want a layout to adjust for an object
* that is rotated 90 degrees, set the object's
* rotation
property. If you want the layout to not
* adjust for the object being rotated,
* set its postLayoutTransformOffsets.rotationZ
property.
true
when the element is in 3D.
* The element can be in 3D either because
* it has 3D transform properties or it has 3D post layout transform offsets or both.
*
* @see #postLayoutTransformOffsets
* @see mx.core.ILayoutElement#hasLayoutMatrix3D
*
* @langversion 3.0
* @playerversion Flash 10
* @playerversion AIR 1.5
* @productversion Flex 4
*/
function get is3D():Boolean;
}
}