Packagestarling.display
Classpublic class Quad
InheritanceQuad Inheritance Mesh Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Subclasses Image

A Quad represents a colored and/or textured rectangle.

Quads may have a color and a texture. When assigning a texture, the colors of the vertices will "tint" the texture, i.e. the vertex color will be multiplied with the color of the texture at the same position. That's why the default color of a quad is pure white: tinting with white does not change the texture color (that's a multiplication with one).

A quad is, by definition, always rectangular. The basic quad class will always contain exactly four vertices, arranged like this:

      0 - 1
      | / |
      2 - 3
      

You can set the color of each vertex individually; and since the colors will smoothly fade into each other over the area of the quad, you can use this to create simple linear color gradients (e.g. by assigning one color to vertices 0 and 1 and another to vertices 2 and 3).

However, note that the number of vertices may be different in subclasses. Check the property numVertices if you are unsure.

See also

starling.textures.Texture
Image


Public Properties
 PropertyDefined By
 Inheritedalpha : Number
The opacity of the object.
DisplayObject
 Inheritedbase : DisplayObject
[read-only] The topmost object in the display tree the object is part of.
DisplayObject
 InheritedblendMode : String
The blend mode determines how the object is blended with the objects underneath.
DisplayObject
 Inheritedbounds : Rectangle
[read-only] The bounds of the object relative to the local coordinates of the parent.
DisplayObject
 Inheritedcolor : uint
Changes the color of all vertices to the same value.
Mesh
 InheriteddefaultStyle : Class
[static] The default style used for meshes if no specific style is provided.
Mesh
 InheriteddefaultStyleFactory : Function
[static] A factory method that is used to create the 'MeshStyle' for a mesh if no specific style is provided.
Mesh
 Inheritedfilter : FragmentFilter
The filter that is attached to the display object.
DisplayObject
 Inheritedheight : Number
The height of the object in pixels.
DisplayObject
 Inheritedis3D : Boolean
[read-only] Indicates if this object or any of its parents is a 'Sprite3D' object.
DisplayObject
 Inheritedmask : DisplayObject
The display object that acts as a mask for the current object.
DisplayObject
 InheritedmaskInverted : Boolean
Indicates if the masked region of this object is set to be inverted.
DisplayObject
 Inheritedname : String
The name of the display object (default: null).
DisplayObject
 InheritednumIndices : int
[read-only] The total number of indices referencing vertices.
Mesh
 InheritednumTriangles : int
[read-only] The total number of triangles in this mesh.
Mesh
 InheritednumVertices : int
[read-only] The total number of vertices in the mesh.
Mesh
 Inheritedparent : DisplayObjectContainer
[read-only] The display object container that contains this display object.
DisplayObject
 InheritedpivotX : Number
The x coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 InheritedpivotY : Number
The y coordinate of the object's origin in its own coordinate space (default: 0).
DisplayObject
 InheritedpixelSnapping : Boolean
Controls whether or not the instance snaps to the nearest pixel.
Mesh
 InheritedrequiresRedraw : Boolean
[read-only] Indicates if the object needs to be redrawn in the upcoming frame, i.e.
DisplayObject
 Inheritedroot : DisplayObject
[read-only] The root object the display object is connected to (i.e.
DisplayObject
 Inheritedrotation : Number
The rotation of the object in radians.
DisplayObject
 Inheritedscale : Number
Sets both 'scaleX' and 'scaleY' to the same value.
DisplayObject
 InheritedscaleX : Number
The horizontal scale factor.
DisplayObject
 InheritedscaleY : Number
The vertical scale factor.
DisplayObject
 InheritedskewX : Number
The horizontal skew angle in radians.
DisplayObject
 InheritedskewY : Number
The vertical skew angle in radians.
DisplayObject
 Inheritedstage : Stage
[read-only] The stage the display object is connected to, or null if it is not connected to the stage.
DisplayObject
 Inheritedstyle : MeshStyle
The style that is used to render the mesh.
Mesh
  texture : Texture
[override] The texture that is mapped to the quad (or null, if there is none).
Quad
 InheritedtextureRepeat : Boolean
Indicates if pixels at the edges will be repeated or clamped.
Mesh
 InheritedtextureSmoothing : String
The smoothing filter that is used for the texture.
Mesh
 Inheritedtouchable : Boolean
Indicates if this object (and its children) will receive touch events.
DisplayObject
 InheritedtransformationMatrix : Matrix
The transformation matrix of the object relative to its parent.
DisplayObject
 InheritedtransformationMatrix3D : Matrix3D
[read-only] The 3D transformation matrix of the object relative to its parent.
DisplayObject
 InheriteduseHandCursor : Boolean
Indicates if the mouse cursor should transform into a hand while it's over the sprite.
DisplayObject
 InheritedvertexFormat : VertexDataFormat
[read-only] The format used to store the vertices.
Mesh
 Inheritedvisible : Boolean
The visibility of the object.
DisplayObject
 Inheritedwidth : Number
The width of the object in pixels.
DisplayObject
 Inheritedx : Number
The x coordinate of the object relative to the local coordinates of the parent.
DisplayObject
 Inheritedy : Number
The y coordinate of the object relative to the local coordinates of the parent.
DisplayObject
Protected Properties
 PropertyDefined By
 InheritedindexData : IndexData
[read-only] The index data describing how the vertices are interconnected.
Mesh
 InheritedvertexData : VertexData
[read-only] The vertex data describing all vertices of the mesh.
Mesh
Public Methods
 MethodDefined By
  
Quad(width:Number, height:Number, color:uint = 0xffffff)
Creates a quad with a certain size and color.
Quad
 Inherited
addEventListener(type:String, listener:Function):void
[override] Registers an event listener at a certain object.
DisplayObject
 Inherited
alignPivot(horizontalAlign:String = center, verticalAlign:String = center):void
Moves the pivot point to a certain position within the local coordinate system of the object.
DisplayObject
 Inherited
[static] Creates a new instance of the current default MeshStyle.
Mesh
 Inherited
dispatchEvent(event:Event):void
Dispatches an event to all objects that have registered listeners for its type.
EventDispatcher
 Inherited
dispatchEventWith(type:String, bubbles:Boolean = false, data:Object = null):void
Dispatches an event with the given parameters to all objects that have registered listeners for the given type.
EventDispatcher
 Inherited
dispose():void
[override] Disposes all resources of the display object.
Mesh
 Inherited
drawToBitmapData(out:BitmapData = null, color:uint = 0x0, alpha:Number = 0.0):BitmapData
Draws the object into a BitmapData object.
DisplayObject
 Inherited
fromPolygon(polygon:Polygon, style:MeshStyle = null):Mesh
[static] Creates a mesh from the specified polygon.
Mesh
  
[static] Creates a quad from the given texture.
Quad
  
getBounds(targetSpace:DisplayObject, out:Rectangle = null):Rectangle
[override] Returns a rectangle that completely encloses the object as it appears in another coordinate system.
Quad
 Inherited
getTexCoords(vertexID:int, out:Point = null):Point
Returns the texture coordinates of the vertex at the specified index.
Mesh
 Inherited
getTransformationMatrix(targetSpace:DisplayObject, out:Matrix = null):Matrix
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
getTransformationMatrix3D(targetSpace:DisplayObject, out:Matrix3D = null):Matrix3D
Creates a matrix that represents the transformation from the local coordinate system to another.
DisplayObject
 Inherited
getVertexAlpha(vertexID:int):Number
Returns the alpha value of the vertex at the specified index.
Mesh
 Inherited
getVertexColor(vertexID:int):uint
Returns the RGB color of the vertex at the specified index.
Mesh
 Inherited
getVertexPosition(vertexID:int, out:Point = null):Point
The position of the vertex at the specified index, in the mesh's local coordinate system.
Mesh
 Inherited
globalToLocal(globalPoint:Point, out:Point = null):Point
Transforms a point from global (stage) coordinates to the local coordinate system.
DisplayObject
 Inherited
globalToLocal3D(globalPoint:Point, out:Vector3D = null):Vector3D
Transforms a point from global (stage) coordinates to the 3D local coordinate system.
DisplayObject
 Inherited
hasEventListener(type:String, listener:Function = null):Boolean
If called with one argument, figures out if there are any listeners registered for the given event type.
EventDispatcher
  
hitTest(localPoint:Point):DisplayObject
[override] Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails.
Quad
 Inherited
hitTestMask(localPoint:Point):Boolean
Checks if a certain point is inside the display object's mask.
DisplayObject
 Inherited
local3DToGlobal(localPoint:Vector3D, out:Point = null):Point
Transforms a 3D point from the local coordinate system to global (stage) coordinates.
DisplayObject
 Inherited
localToGlobal(localPoint:Point, out:Point = null):Point
Transforms a point from the local coordinate system to global (stage) coordinates.
DisplayObject
  
readjustSize(width:Number = -1, height:Number = -1):void
Readjusts the dimensions of the quad.
Quad
 Inherited
removeEventListener(type:String, listener:Function):void
[override] Removes an event listener from the object.
DisplayObject
 Inherited
removeEventListeners(type:String = null):void
[override] Removes all event listeners with a certain type, or all of them if type is null.
DisplayObject
 Inherited
removeFromParent(dispose:Boolean = false):void
Removes the object from its parent, if it has one, and optionally disposes it.
DisplayObject
 Inherited
render(painter:Painter):void
[override] Renders the display object with the help of a painter object.
Mesh
 Inherited
This method is called whenever the mesh's index data was changed.
Mesh
 Inherited
Forces the object to be redrawn in the next frame.
DisplayObject
 Inherited
setStyle(meshStyle:MeshStyle = null, mergeWithPredecessor:Boolean = true):void
Sets the style that is used to render the mesh.
Mesh
 Inherited
setTexCoords(vertexID:int, u:Number, v:Number):void
Sets the texture coordinates of the vertex at the specified index to the given values.
Mesh
 Inherited
setVertexAlpha(vertexID:int, alpha:Number):void
Sets the alpha value of the vertex at the specified index to a certain value.
Mesh
 Inherited
setVertexColor(vertexID:int, color:uint):void
Sets the RGB color of the vertex at the specified index to a certain value.
Mesh
 Inherited
This method is called whenever the mesh's vertex data was changed.
Mesh
 Inherited
setVertexPosition(vertexID:int, x:Number, y:Number):void
Mesh
Protected Methods
 MethodDefined By
  
Sets up vertex- and index-data according to the current settings.
Quad
Events
 Event Summary Defined By
 InheritedDispatched when an object is added to a parent.DisplayObject
 InheritedDispatched when an object is connected to the stage (directly or indirectly).DisplayObject
 InheritedDispatched once every frame on every object that is connected to the stage.DisplayObject
 InheritedDispatched when a key on the keyboard is pressed.DisplayObject
 InheritedDispatched when a key on the keyboard is released.DisplayObject
 InheritedDispatched when an object is removed from its parent.DisplayObject
 InheritedDispatched when an object is removed from the stage and won't be rendered any longer.DisplayObject
 InheritedDispatched when an object is touched.DisplayObject
Property Detail
textureproperty
texture:Texture[override]

The texture that is mapped to the quad (or null, if there is none). Per default, it is mapped to the complete quad, i.e. to the complete area between the top left and bottom right vertices. This can be changed with the setTexCoords-method.

Note that the size of the quad will not change when you assign a texture, which means that the texture might be distorted at first. Call readjustSize to synchronize quad and texture size.

You could also set the texture via the style.texture property. That way, however, the texture frame won't be taken into account. Since only rectangular objects can make use of a texture frame, only a property on the Quad class can do that.


Implementation
    public function get texture():Texture
    public function set texture(value:Texture):void
Constructor Detail
Quad()Constructor
public function Quad(width:Number, height:Number, color:uint = 0xffffff)

Creates a quad with a certain size and color.

Parameters
width:Number
 
height:Number
 
color:uint (default = 0xffffff)
Method Detail
fromTexture()method
public static function fromTexture(texture:Texture):Quad

Creates a quad from the given texture. The quad will have the same size as the texture.

Parameters

texture:Texture

Returns
Quad
getBounds()method 
override public function getBounds(targetSpace:DisplayObject, out:Rectangle = null):Rectangle

Returns a rectangle that completely encloses the object as it appears in another coordinate system. If you pass an out-rectangle, the result will be stored in this rectangle instead of creating a new object.

Parameters

targetSpace:DisplayObject
 
out:Rectangle (default = null)

Returns
Rectangle
hitTest()method 
override public function hitTest(localPoint:Point):DisplayObject

Returns the object that is found topmost beneath a point in local coordinates, or nil if the test fails. Untouchable and invisible objects will cause the test to fail.

Parameters

localPoint:Point

Returns
DisplayObject
readjustSize()method 
public function readjustSize(width:Number = -1, height:Number = -1):void

Readjusts the dimensions of the quad. Use this method without any arguments to synchronize quad and texture size after assigning a texture with a different size. You can also force a certain width and height by passing positive, non-zero values for width and height.

Parameters

width:Number (default = -1)
 
height:Number (default = -1)

setupVertices()method 
protected function setupVertices():void

Sets up vertex- and index-data according to the current settings.