//////////////////////////////////////////////////////////////////////////////// // // 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.

* * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get owner():DisplayObjectContainer; /** * @private */ function set owner(value:DisplayObjectContainer):void; /** * The parent container or component for this component. * Only visual elements should have a 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.

* * @default true * @see ILayoutElement#includeInLayout * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get visible():Boolean; /** * @private */ function set visible(value:Boolean):void; /** * @copy flash.display.DisplayObject#alpha * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get alpha():Number; /** * @private */ function set alpha(value:Number):void; /** * @copy flash.display.DisplayObject#width * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get width():Number; /** * @private */ function set width(value:Number):void; /** * @copy flash.display.DisplayObject#height * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get height():Number; /** * @private */ function set height(value:Number):void; /** * @copy flash.display.DisplayObject#x * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get x():Number; /** * @private */ function set x(value:Number):void; /** * @copy flash.display.DisplayObject#y * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get y():Number; /** * @private */ function set y(value:Number):void; /** * Specifies the optional DesignLayer instance associated with this visual * element. * *

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.

* * @see #depth * @default null * * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get designLayer():DesignLayer; /** * @private */ function set designLayer(value:DesignLayer):void; /** * 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. * *

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.

* * @langversion 3.0 * @playerversion Flash 10 * @playerversion AIR 1.5 * @productversion Flex 4 */ function get postLayoutTransformOffsets():TransformOffsets; /** * @private */ function set postLayoutTransformOffsets(value:TransformOffsets):void; /** * Contains 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; } }