openfl
Version:
A fast, productive library for 2D cross-platform development.
921 lines (836 loc) • 41.5 kB
TypeScript
import BlendMode from "./BlendMode";
import DisplayObjectContainer from "./DisplayObjectContainer";
import IBitmapDrawable from "./IBitmapDrawable";
import LoaderInfo from "./LoaderInfo";
import Shader from "./Shader";
import Stage from "./Stage";
import EventDispatcher from "./../events/EventDispatcher";
import BitmapFilter from "./../filters/BitmapFilter";
import Matrix from "./../geom/Matrix";
import Point from "./../geom/Point";
import Rectangle from "./../geom/Rectangle";
import Transform from "./../geom/Transform";
import Vector3D from "./../geom/Vector3D";
declare namespace openfl.display {
/**
* The DisplayObject class is the base class for all objects that can be
* placed on the display list. The display list manages all objects displayed
* in openfl. Use the DisplayObjectContainer class to arrange the
* display objects in the display list. DisplayObjectContainer objects can
* have child display objects, while other display objects, such as Shape and
* TextField objects, are "leaf" nodes that have only parents and siblings, no
* children.
*
* The DisplayObject class supports basic functionality like the _x_
* and _y_ position of an object, as well as more advanced properties of
* the object such as its transformation matrix.
*
* DisplayObject is an abstract base class; therefore, you cannot call
* DisplayObject directly. Invoking `new DisplayObject()` throws an
* `ArgumentError` exception.
*
* All display objects inherit from the DisplayObject class.
*
* The DisplayObject class itself does not include any APIs for rendering
* content onscreen. For that reason, if you want create a custom subclass of
* the DisplayObject class, you will want to extend one of its subclasses that
* do have APIs for rendering content onscreen, such as the Shape, Sprite,
* Bitmap, SimpleButton, TextField, or MovieClip class.
*
* The DisplayObject class contains several broadcast events. Normally, the
* target of any particular event is a specific DisplayObject instance. For
* example, the target of an `added` event is the specific
* DisplayObject instance that was added to the display list. Having a single
* target restricts the placement of event listeners to that target and in
* some cases the target's ancestors on the display list. With broadcast
* events, however, the target is not a specific DisplayObject instance, but
* rather all DisplayObject instances, including those that are not on the
* display list. This means that you can add a listener to any DisplayObject
* instance to listen for broadcast events. In addition to the broadcast
* events listed in the DisplayObject class's Events table, the DisplayObject
* class also inherits two broadcast events from the EventDispatcher class:
* `activate` and `deactivate`.
*
* Some properties previously used in the ActionScript 1.0 and 2.0
* MovieClip, TextField, and Button classes(such as `_alpha`,
* `_height`, `_name`, `_width`,
* `_x`, `_y`, and others) have equivalents in the
* ActionScript 3.0 DisplayObject class that are renamed so that they no
* longer begin with the underscore(_) character.
*
* For more information, see the "Display Programming" chapter of the
* _ActionScript 3.0 Developer's Guide_.
*
* @:event added Dispatched when a display object is added to the
* display list. The following methods trigger this
* event:
* `DisplayObjectContainer.addChild()`,
* `DisplayObjectContainer.addChildAt()`.
* @:event addedToStage Dispatched when a display object is added to the on
* stage display list, either directly or through the
* addition of a sub tree in which the display object
* is contained. The following methods trigger this
* event:
* `DisplayObjectContainer.addChild()`,
* `DisplayObjectContainer.addChildAt()`.
* @:event enterFrame [broadcast event] Dispatched when the playhead is
* entering a new frame. If the playhead is not
* moving, or if there is only one frame, this event
* is dispatched continuously in conjunction with the
* frame rate. This event is a broadcast event, which
* means that it is dispatched by all display objects
* with a listener registered for this event.
* @:event exitFrame [broadcast event] Dispatched when the playhead is
* exiting the current frame. All frame scripts have
* been run. If the playhead is not moving, or if
* there is only one frame, this event is dispatched
* continuously in conjunction with the frame rate.
* This event is a broadcast event, which means that
* it is dispatched by all display objects with a
* listener registered for this event.
* @:event frameConstructed [broadcast event] Dispatched after the constructors
* of frame display objects have run but before frame
* scripts have run. If the playhead is not moving, or
* if there is only one frame, this event is
* dispatched continuously in conjunction with the
* frame rate. This event is a broadcast event, which
* means that it is dispatched by all display objects
* with a listener registered for this event.
* @:event removed Dispatched when a display object is about to be
* removed from the display list. Two methods of the
* DisplayObjectContainer class generate this event:
* `removeChild()` and
* `removeChildAt()`.
*
* The following methods of a
* DisplayObjectContainer object also generate this
* event if an object must be removed to make room for
* the new object: `addChild()`,
* `addChildAt()`, and
* `setChildIndex()`.
* @:event removedFromStage Dispatched when a display object is about to be
* removed from the display list, either directly or
* through the removal of a sub tree in which the
* display object is contained. Two methods of the
* DisplayObjectContainer class generate this event:
* `removeChild()` and
* `removeChildAt()`.
*
* The following methods of a
* DisplayObjectContainer object also generate this
* event if an object must be removed to make room for
* the new object: `addChild()`,
* `addChildAt()`, and
* `setChildIndex()`.
* @:event render [broadcast event] Dispatched when the display list
* is about to be updated and rendered. This event
* provides the last opportunity for objects listening
* for this event to make changes before the display
* list is rendered. You must call the
* `invalidate()` method of the Stage
* object each time you want a `render`
* event to be dispatched. `Render` events
* are dispatched to an object only if there is mutual
* trust between it and the object that called
* `Stage.invalidate()`. This event is a
* broadcast event, which means that it is dispatched
* by all display objects with a listener registered
* for this event.
*
* **Note: **This event is not dispatched if the
* display is not rendering. This is the case when the
* content is either minimized or obscured.
*/
export class DisplayObject extends EventDispatcher implements IBitmapDrawable /*#if openfl_dynamic implements Dynamic<DisplayObject> #end*/ {
// #if flash
// @:noCompletion @:dox(hide) accessibilityProperties:flash.accessibility.AccessibilityProperties;
// #end
/**
* Indicates the alpha transparency value of the object specified. Valid
* values are 0(fully transparent) to 1(fully opaque). The default value is
* 1. Display objects with `alpha` set to 0 _are_ active,
* even though they are invisible.
*/
alpha:number;
protected get_alpha ():number;
protected set_alpha (value:number):number;
/**
* A value from the BlendMode class that specifies which blend mode to use. A
* bitmap can be drawn internally in two ways. If you have a blend mode
* enabled or an external clipping mask, the bitmap is drawn by adding a
* bitmap-filled square shape to the vector render. If you attempt to set
* this property to an invalid value, Flash runtimes set the value to
* `BlendMode.NORMAL`.
*
* The `blendMode` property affects each pixel of the display
* object. Each pixel is composed of three constituent colors(red, green,
* and blue), and each constituent color has a value between 0x00 and 0xFF.
* Flash Player or Adobe AIR compares each constituent color of one pixel in
* the movie clip with the corresponding color of the pixel in the
* background. For example, if `blendMode` is set to
* `BlendMode.LIGHTEN`, Flash Player or Adobe AIR compares the red
* value of the display object with the red value of the background, and uses
* the lighter of the two as the value for the red component of the displayed
* color.
*
* The following table describes the `blendMode` settings. The
* BlendMode class defines string values you can use. The illustrations in
* the table show `blendMode` values applied to a circular display
* object(2) superimposed on another display object(1).
*/
blendMode:BlendMode;
protected get_blendMode ():BlendMode;
protected set_blendMode (value:BlendMode):BlendMode;
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) blendShader (null, default):Shader;
// #end
/**
* All vector data for a display object that has a cached bitmap is drawn
* to the bitmap instead of the main display. If
* `cacheAsBitmapMatrix` is null or unsupported, the bitmap is
* then copied to the main display as unstretched, unrotated pixels snapped
* to the nearest pixel boundaries. Pixels are mapped 1 to 1 with the parent
* object. If the bounds of the bitmap change, the bitmap is recreated
* instead of being stretched.
*
* If `cacheAsBitmapMatrix` is non-null and supported, the
* object is drawn to the off-screen bitmap using that matrix and the
* stretched and/or rotated results of that rendering are used to draw the
* object to the main display.
*
* No internal bitmap is created unless the `cacheAsBitmap`
* property is set to `true`.
*
* After you set the `cacheAsBitmap` property to
* `true`, the rendering does not change, however the display
* object performs pixel snapping automatically. The animation speed can be
* significantly faster depending on the complexity of the vector content.
*
*
* The `cacheAsBitmap` property is automatically set to
* `true` whenever you apply a filter to a display object(when
* its `filter` array is not empty), and if a display object has a
* filter applied to it, `cacheAsBitmap` is reported as
* `true` for that display object, even if you set the property to
* `false`. If you clear all filters for a display object, the
* `cacheAsBitmap` setting changes to what it was last set to.
*
* A display object does not use a bitmap even if the
* `cacheAsBitmap` property is set to `true` and
* instead renders from vector data in the following cases:
*
*
* * The bitmap is too large. In AIR 1.5 and Flash Player 10, the maximum
* size for a bitmap image is 8,191 pixels in width or height, and the total
* number of pixels cannot exceed 16,777,215 pixels.(So, if a bitmap image
* is 8,191 pixels wide, it can only be 2,048 pixels high.) In Flash Player 9
* and earlier, the limitation is is 2880 pixels in height and 2,880 pixels
* in width.
* * The bitmap fails to allocate(out of memory error).
*
*
* The `cacheAsBitmap` property is best used with movie clips
* that have mostly static content and that do not scale and rotate
* frequently. With such movie clips, `cacheAsBitmap` can lead to
* performance increases when the movie clip is translated(when its _x_
* and _y_ position is changed).
*/
cacheAsBitmap:boolean;
protected get_cacheAsBitmap ():boolean;
protected set_cacheAsBitmap (value:boolean):boolean;
cacheAsBitmapMatrix:Matrix;
protected get_cacheAsBitmapMatrix ():Matrix;
protected set_cacheAsBitmapMatrix (value:Matrix):Matrix;
/**
* An indexed array that contains each filter object currently associated
* with the display object. The openfl.filters package contains several
* classes that define specific filters you can use.
*
* Filters can be applied in Flash Professional at design time, or at run
* time by using ActionScript code. To apply a filter by using ActionScript,
* you must make a temporary copy of the entire `filters` array,
* modify the temporary array, then assign the value of the temporary array
* back to the `filters` array. You cannot directly add a new
* filter object to the `filters` array.
*
* To add a filter by using ActionScript, perform the following steps
* (assume that the target display object is named
* `myDisplayObject`):
*
* 1. Create a new filter object by using the constructor method of your
* chosen filter class.
* 2. Assign the value of the `myDisplayObject.filters` array
* to a temporary array, such as one named `myFilters`.
* 3. Add the new filter object to the `myFilters` temporary
* array.
* 4. Assign the value of the temporary array to the
* `myDisplayObject.filters` array.
*
* If the `filters` array is undefined, you do not need to use
* a temporary array. Instead, you can directly assign an array literal that
* contains one or more filter objects that you create. The first example in
* the Examples section adds a drop shadow filter by using code that handles
* both defined and undefined `filters` arrays.
*
* To modify an existing filter object, you must use the technique of
* modifying a copy of the `filters` array:
*
* 1. Assign the value of the `filters` array to a temporary
* array, such as one named `myFilters`.
* 2. Modify the property by using the temporary array,
* `myFilters`. For example, to set the quality property of the
* first filter in the array, you could use the following code:
* `myFilters[0].quality = 1;`
* 3. Assign the value of the temporary array to the `filters`
* array.
*
* At load time, if a display object has an associated filter, it is
* marked to cache itself as a transparent bitmap. From this point forward,
* as long as the display object has a valid filter list, the player caches
* the display object as a bitmap. This source bitmap is used as a source
* image for the filter effects. Each display object usually has two bitmaps:
* one with the original unfiltered source display object and another for the
* final image after filtering. The final image is used when rendering. As
* long as the display object does not change, the final image does not need
* updating.
*
* The openfl.filters package includes classes for filters. For example, to
* create a DropShadow filter, you would write:
*
* @throws ArgumentError When `filters` includes a ShaderFilter
* and the shader output type is not compatible with
* this operation(the shader must specify a
* `pixel4` output).
* @throws ArgumentError When `filters` includes a ShaderFilter
* and the shader doesn't specify any image input or
* the first input is not an `image4` input.
* @throws ArgumentError When `filters` includes a ShaderFilter
* and the shader specifies an image input that isn't
* provided.
* @throws ArgumentError When `filters` includes a ShaderFilter, a
* ByteArray or Vector.<Number> instance as a shader
* input, and the `width` and
* `height` properties aren't specified for
* the ShaderInput object, or the specified values
* don't match the amount of data in the input data.
* See the `ShaderInput.input` property for
* more information.
*/
filters:Array<BitmapFilter>;
protected get_filters ():Array<BitmapFilter>;
protected set_filters (value:Array<BitmapFilter>):Array<BitmapFilter>;
/**
* Indicates the height of the display object, in pixels. The height is
* calculated based on the bounds of the content of the display object. When
* you set the `height` property, the `scaleY` property
* is adjusted accordingly, as shown in the following code:
*
* Except for TextField and Video objects, a display object with no
* content(such as an empty sprite) has a height of 0, even if you try to
* set `height` to a different value.
*/
height:number;
protected get_height ():number;
protected set_height (value:number):number;
/**
* Returns a LoaderInfo object containing information about loading the file
* to which this display object belongs. The `loaderInfo` property
* is defined only for the root display object of a SWF file or for a loaded
* Bitmap(not for a Bitmap that is drawn with ActionScript). To find the
* `loaderInfo` object associated with the SWF file that contains
* a display object named `myDisplayObject`, use
* `myDisplayObject.root.loaderInfo`.
*
* A large SWF file can monitor its download by calling
* `this.root.loaderInfo.addEventListener(Event.COMPLETE,
* func)`.
*/
readonly loaderInfo:LoaderInfo;
protected get_loaderInfo ():LoaderInfo;
/**
* The calling display object is masked by the specified `mask`
* object. To ensure that masking works when the Stage is scaled, the
* `mask` display object must be in an active part of the display
* list. The `mask` object itself is not drawn. Set
* `mask` to `null` to remove the mask.
*
* To be able to scale a mask object, it must be on the display list. To
* be able to drag a mask Sprite object(by calling its
* `startDrag()` method), it must be on the display list. To call
* the `startDrag()` method for a mask sprite based on a
* `mouseDown` event being dispatched by the sprite, set the
* sprite's `buttonMode` property to `true`.
*
* When display objects are cached by setting the
* `cacheAsBitmap` property to `true` an the
* `cacheAsBitmapMatrix` property to a Matrix object, both the
* mask and the display object being masked must be part of the same cached
* bitmap. Thus, if the display object is cached, then the mask must be a
* child of the display object. If an ancestor of the display object on the
* display list is cached, then the mask must be a child of that ancestor or
* one of its descendents. If more than one ancestor of the masked object is
* cached, then the mask must be a descendent of the cached container closest
* to the masked object in the display list.
*
* **Note:** A single `mask` object cannot be used to mask
* more than one calling display object. When the `mask` is
* assigned to a second display object, it is removed as the mask of the
* first object, and that object's `mask` property becomes
* `null`.
*/
mask:DisplayObject;
protected get_mask ():DisplayObject;
protected set_mask (value:DisplayObject):DisplayObject;
/**
* Indicates the x coordinate of the mouse or user input device position, in
* pixels.
*
* **Note**: For a DisplayObject that has been rotated, the returned x
* coordinate will reflect the non-rotated object.
*/
readonly mouseX:number;
protected get_mouseX ():number;
/**
* Indicates the y coordinate of the mouse or user input device position, in
* pixels.
*
* **Note**: For a DisplayObject that has been rotated, the returned y
* coordinate will reflect the non-rotated object.
*/
readonly mouseY:number;
protected get_mouseY ():number;
/**
* Indicates the instance name of the DisplayObject. The object can be
* identified in the child list of its parent display object container by
* calling the `getChildByName()` method of the display object
* container.
*
* @throws IllegalOperationError If you are attempting to set this property
* on an object that was placed on the timeline
* in the Flash authoring tool.
*/
name:string;
protected get_name ():string;
protected set_name (value:string):string;
/**
* Specifies whether the display object is opaque with a certain background
* color. A transparent bitmap contains alpha channel data and is drawn
* transparently. An opaque bitmap has no alpha channel(and renders faster
* than a transparent bitmap). If the bitmap is opaque, you specify its own
* background color to use.
*
* If set to a number value, the surface is opaque(not transparent) with
* the RGB background color that the number specifies. If set to
* `null`(the default value), the display object has a
* transparent background.
*
* The `opaqueBackground` property is intended mainly for use
* with the `cacheAsBitmap` property, for rendering optimization.
* For display objects in which the `cacheAsBitmap` property is
* set to true, setting `opaqueBackground` can improve rendering
* performance.
*
* The opaque background region is _not_ matched when calling the
* `hitTestPoint()` method with the `shapeFlag`
* parameter set to `true`.
*
* The opaque background region does not respond to mouse events.
*/
opaqueBackground:number | null;
/**
* Indicates the DisplayObjectContainer object that contains this display
* object. Use the `parent` property to specify a relative path to
* display objects that are above the current display object in the display
* list hierarchy.
*
* You can use `parent` to move up multiple levels in the
* display list as in the following:
*
* @throws SecurityError The parent display object belongs to a security
* sandbox to which you do not have access. You can
* avoid this situation by having the parent movie call
* the `Security.allowDomain()` method.
*/
readonly parent:DisplayObjectContainer;
/**
* For a display object in a loaded SWF file, the `root` property
* is the top-most display object in the portion of the display list's tree
* structure represented by that SWF file. For a Bitmap object representing a
* loaded image file, the `root` property is the Bitmap object
* itself. For the instance of the main class of the first SWF file loaded,
* the `root` property is the display object itself. The
* `root` property of the Stage object is the Stage object itself.
* The `root` property is set to `null` for any display
* object that has not been added to the display list, unless it has been
* added to a display object container that is off the display list but that
* is a child of the top-most display object in a loaded SWF file.
*
* For example, if you create a new Sprite object by calling the
* `Sprite()` constructor method, its `root` property
* is `null` until you add it to the display list(or to a display
* object container that is off the display list but that is a child of the
* top-most display object in a SWF file).
*
* For a loaded SWF file, even though the Loader object used to load the
* file may not be on the display list, the top-most display object in the
* SWF file has its `root` property set to itself. The Loader
* object does not have its `root` property set until it is added
* as a child of a display object for which the `root` property is
* set.
*/
readonly root:DisplayObject;
protected get_root ():DisplayObject;
/**
* Indicates the rotation of the DisplayObject instance, in degrees, from its
* original orientation. Values from 0 to 180 represent clockwise rotation;
* values from 0 to -180 represent counterclockwise rotation. Values outside
* this range are added to or subtracted from 360 to obtain a value within
* the range. For example, the statement `my_video.rotation = 450`
* is the same as ` my_video.rotation = 90`.
*/
rotation:number;
protected get_rotation ():number;
protected set_rotation (value:number):number;
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) rotationX:Float;
// #end
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) rotationY:Float;
// #end
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) rotationZ:Float;
// #end
/**
* The current scaling grid that is in effect. If set to `null`,
* the entire display object is scaled normally when any scale transformation
* is applied.
*
* When you define the `scale9Grid` property, the display
* object is divided into a grid with nine regions based on the
* `scale9Grid` rectangle, which defines the center region of the
* grid. The eight other regions of the grid are the following areas:
*
*
* * The upper-left corner outside of the rectangle
* * The area above the rectangle
* * The upper-right corner outside of the rectangle
* * The area to the left of the rectangle
* * The area to the right of the rectangle
* * The lower-left corner outside of the rectangle
* * The area below the rectangle
* * The lower-right corner outside of the rectangle
*
*
* You can think of the eight regions outside of the center(defined by
* the rectangle) as being like a picture frame that has special rules
* applied to it when scaled.
*
* When the `scale9Grid` property is set and a display object
* is scaled, all text and gradients are scaled normally; however, for other
* types of objects the following rules apply:
*
*
* * Content in the center region is scaled normally.
* * Content in the corners is not scaled.
* * Content in the top and bottom regions is scaled horizontally only.
* Content in the left and right regions is scaled vertically only.
* * All fills(including bitmaps, video, and gradients) are stretched to
* fit their shapes.
*
*
* If a display object is rotated, all subsequent scaling is normal(and
* the `scale9Grid` property is ignored).
*
* For example, consider the following display object and a rectangle that
* is applied as the display object's `scale9Grid`:
*
* A common use for setting `scale9Grid` is to set up a display
* object to be used as a component, in which edge regions retain the same
* width when the component is scaled.
*
* @throws ArgumentError If you pass an invalid argument to the method.
*/
scale9Grid:Rectangle;
/**
* Indicates the horizontal scale(percentage) of the object as applied from
* the registration point. The default registration point is(0,0). 1.0
* equals 100% scale.
*
* Scaling the local coordinate system changes the `x` and
* `y` property values, which are defined in whole pixels.
*/
scaleX:number;
protected get_scaleX ():number;
protected set_scaleX (value:number):number;
/**
* Indicates the vertical scale(percentage) of an object as applied from the
* registration point of the object. The default registration point is(0,0).
* 1.0 is 100% scale.
*
* Scaling the local coordinate system changes the `x` and
* `y` property values, which are defined in whole pixels.
*/
scaleY:number;
protected get_scaleY ():number;
protected set_scaleY (value:number):number;
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) scaleZ:Float;
// #end
/**
* The scroll rectangle bounds of the display object. The display object is
* cropped to the size defined by the rectangle, and it scrolls within the
* rectangle when you change the `x` and `y` properties
* of the `scrollRect` object.
*
* The properties of the `scrollRect` Rectangle object use the
* display object's coordinate space and are scaled just like the overall
* display object. The corner bounds of the cropped window on the scrolling
* display object are the origin of the display object(0,0) and the point
* defined by the width and height of the rectangle. They are not centered
* around the origin, but use the origin to define the upper-left corner of
* the area. A scrolled display object always scrolls in whole pixel
* increments.
*
* You can scroll an object left and right by setting the `x`
* property of the `scrollRect` Rectangle object. You can scroll
* an object up and down by setting the `y` property of the
* `scrollRect` Rectangle object. If the display object is rotated
* 90° and you scroll it left and right, the display object actually scrolls
* up and down.
*/
scrollRect:Rectangle;
protected get_scrollRect ():Rectangle;
protected set_scrollRect (value:Rectangle):Rectangle;
shader:Shader;
protected get_shader ():Shader;
protected set_shader (value:Shader):Shader;
/**
* The Stage of the display object. A Flash runtime application has only one
* Stage object. For example, you can create and load multiple display
* objects into the display list, and the `stage` property of each
* display object refers to the same Stage object(even if the display object
* belongs to a loaded SWF file).
*
* If a display object is not added to the display list, its
* `stage` property is set to `null`.
*/
readonly stage:Stage;
protected get_stage ():Stage;
protected set_stage (value:Stage):Stage;
/**
* An object with properties pertaining to a display object's matrix, color
* transform, and pixel bounds. The specific properties - matrix,
* colorTransform, and three read-only properties
* (`concatenatedMatrix`, `concatenatedColorTransform`,
* and `pixelBounds`) - are described in the entry for the
* Transform class.
*
* Each of the transform object's properties is itself an object. This
* concept is important because the only way to set new values for the matrix
* or colorTransform objects is to create a new object and copy that object
* into the transform.matrix or transform.colorTransform property.
*
* For example, to increase the `tx` value of a display
* object's matrix, you must make a copy of the entire matrix object, then
* copy the new object into the matrix property of the transform object:
* ` var myMatrix:Matrix =
* myDisplayObject.transform.matrix; myMatrix.tx += 10;
* myDisplayObject.transform.matrix = myMatrix; `
*
* You cannot directly set the `tx` property. The following
* code has no effect on `myDisplayObject`:
* ` myDisplayObject.transform.matrix.tx +=
* 10; `
*
* You can also copy an entire transform object and assign it to another
* display object's transform property. For example, the following code
* copies the entire transform object from `myOldDisplayObj` to
* `myNewDisplayObj`:
* `myNewDisplayObj.transform = myOldDisplayObj.transform;`
*
* The resulting display object, `myNewDisplayObj`, now has the
* same values for its matrix, color transform, and pixel bounds as the old
* display object, `myOldDisplayObj`.
*
* Note that AIR for TV devices use hardware acceleration, if it is
* available, for color transforms.
*/
transform:Transform;
protected get_transform ():Transform;
protected set_transform (value:Transform):Transform;
/**
* Whether or not the display object is visible. Display objects that are not
* visible are disabled. For example, if `visible=false` for an
* InteractiveObject instance, it cannot be clicked.
*/
visible:boolean;
protected get_visible ():boolean;
protected set_visible (value:boolean):boolean;
/**
* Indicates the width of the display object, in pixels. The width is
* calculated based on the bounds of the content of the display object. When
* you set the `width` property, the `scaleX` property
* is adjusted accordingly, as shown in the following code:
*
* Except for TextField and Video objects, a display object with no
* content(such as an empty sprite) has a width of 0, even if you try to set
* `width` to a different value.
*/
width:number;
protected get_width ():number;
protected set_width (value:number):number;
/**
* Indicates the _x_ coordinate of the DisplayObject instance relative
* to the local coordinates of the parent DisplayObjectContainer. If the
* object is inside a DisplayObjectContainer that has transformations, it is
* in the local coordinate system of the enclosing DisplayObjectContainer.
* Thus, for a DisplayObjectContainer rotated 90° counterclockwise, the
* DisplayObjectContainer's children inherit a coordinate system that is
* rotated 90° counterclockwise. The object's coordinates refer to the
* registration point position.
*/
x:number;
protected get_x ():number;
protected set_x (value:number):number;
/**
* Indicates the _y_ coordinate of the DisplayObject instance relative
* to the local coordinates of the parent DisplayObjectContainer. If the
* object is inside a DisplayObjectContainer that has transformations, it is
* in the local coordinate system of the enclosing DisplayObjectContainer.
* Thus, for a DisplayObjectContainer rotated 90° counterclockwise, the
* DisplayObjectContainer's children inherit a coordinate system that is
* rotated 90° counterclockwise. The object's coordinates refer to the
* registration point position.
*/
y:number;
protected get_y ():number;
protected set_y (value:number):number;
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) var z:Float;
// #end
/**
* Returns a rectangle that defines the area of the display object relative
* to the coordinate system of the `targetCoordinateSpace` object.
* Consider the following code, which shows how the rectangle returned can
* vary depending on the `targetCoordinateSpace` parameter that
* you pass to the method:
*
* **Note:** Use the `localToGlobal()` and
* `globalToLocal()` methods to convert the display object's local
* coordinates to display coordinates, or display coordinates to local
* coordinates, respectively.
*
* The `getBounds()` method is similar to the
* `getRect()` method; however, the Rectangle returned by the
* `getBounds()` method includes any strokes on shapes, whereas
* the Rectangle returned by the `getRect()` method does not. For
* an example, see the description of the `getRect()` method.
*
* @param targetCoordinateSpace The display object that defines the
* coordinate system to use.
* @return The rectangle that defines the area of the display object relative
* to the `targetCoordinateSpace` object's coordinate
* system.
*/
getBounds (targetCoordinateSpace:DisplayObject):Rectangle;
/**
* Returns a rectangle that defines the boundary of the display object, based
* on the coordinate system defined by the `targetCoordinateSpace`
* parameter, excluding any strokes on shapes. The values that the
* `getRect()` method returns are the same or smaller than those
* returned by the `getBounds()` method.
*
* **Note:** Use `localToGlobal()` and
* `globalToLocal()` methods to convert the display object's local
* coordinates to Stage coordinates, or Stage coordinates to local
* coordinates, respectively.
*
* @param targetCoordinateSpace The display object that defines the
* coordinate system to use.
* @return The rectangle that defines the area of the display object relative
* to the `targetCoordinateSpace` object's coordinate
* system.
*/
getRect (targetCoordinateSpace:DisplayObject):Rectangle;
/**
* Converts the `point` object from the Stage(global) coordinates
* to the display object's(local) coordinates.
*
* To use this method, first create an instance of the Point class. The
* _x_ and _y_ values that you assign represent global coordinates
* because they relate to the origin(0,0) of the main display area. Then
* pass the Point instance as the parameter to the
* `globalToLocal()` method. The method returns a new Point object
* with _x_ and _y_ values that relate to the origin of the display
* object instead of the origin of the Stage.
*
* @param point An object created with the Point class. The Point object
* specifies the _x_ and _y_ coordinates as
* properties.
* @return A Point object with coordinates relative to the display object.
*/
globalToLocal (pos:Point):Point;
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) public function globalToLocal3D (point:Point):Vector3D;
// #end
/**
* Evaluates the bounding box of the display object to see if it overlaps or
* intersects with the bounding box of the `obj` display object.
*
* @param obj The display object to test against.
* @return `true` if the bounding boxes of the display objects
* intersect; `false` if not.
*/
hitTestObject (obj:DisplayObject):boolean;
/**
* Evaluates the display object to see if it overlaps or intersects with the
* point specified by the `x` and `y` parameters. The
* `x` and `y` parameters specify a point in the
* coordinate space of the Stage, not the display object container that
* contains the display object(unless that display object container is the
* Stage).
*
* @param x The _x_ coordinate to test against this object.
* @param y The _y_ coordinate to test against this object.
* @param shapeFlag Whether to check against the actual pixels of the object
* (`true`) or the bounding box
* (`false`).
* @return `true` if the display object overlaps or intersects
* with the specified point; `false` otherwise.
*/
hitTestPoint (x:number, y:number, shapeFlag?:boolean):boolean;
/**
* Calling the `invalidate()` method signals to have the current object
* redrawn the next time the object is eligible to be rendered.
**/
invalidate ():void;
/**
* Converts the `point` object from the display object's(local)
* coordinates to the Stage(global) coordinates.
*
* This method allows you to convert any given _x_ and _y_
* coordinates from values that are relative to the origin(0,0) of a
* specific display object(local coordinates) to values that are relative to
* the origin of the Stage(global coordinates).
*
* To use this method, first create an instance of the Point class. The
* _x_ and _y_ values that you assign represent local coordinates
* because they relate to the origin of the display object.
*
* You then pass the Point instance that you created as the parameter to
* the `localToGlobal()` method. The method returns a new Point
* object with _x_ and _y_ values that relate to the origin of the
* Stage instead of the origin of the display object.
*
* @param point The name or identifier of a point created with the Point
* class, specifying the _x_ and _y_ coordinates as
* properties.
* @return A Point object with coordinates relative to the Stage.
*/
localToGlobal (point:Point):Point;
// #if flash
// @:noCompletion @:dox(hide) @:require(flash10) public function local3DToGlobal (point3d:Vector3D):Point;
// #end
}
}
export default openfl.display.DisplayObject;