<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="../../style.css" type="text/css" media="screen"><link rel="stylesheet" href="../../print.css" type="text/css" media="print"><link rel="stylesheet" href="../../override.css" type="text/css"><meta name="keywords" content="BitmapImage,spark.primitives.BitmapImage,ON_DEMAND,ON_LOAD,alpha,angle,bitmapData,blRadius,blurX,blurY,bottomLeftRadiusX,bottomLeftRadiusY,bottomRightRadiusX,bottomRightRadiusY,brRadius,bytesLoaded,bytesTotal,clearOnLoad,color,contentLoader,contentLoaderGrouping,data,distance,fillMode,horizontalAlign,imageDecodingPolicy,preliminaryHeight,preliminaryWidth,radiusX,radiusY,scaleMode,smooth,smoothingQuality,source,sourceHeight,sourceWidth,tlRadius,topLeftRadiusX,topLeftRadiusY,topRightRadiusX,topRightRadiusY,trRadius,trustedSource,version,verticalAlign,viewHeight,viewWidth,winding,xFrom,xTo,yFrom,yTo,canSkipMeasurement,commitProperties,draw,draw,draw,draw,endDraw,getBoundsXAtSize,getBoundsXAtSize,getBoundsXAtSize,getBoundsYAtSize,getBoundsYAtSize,getBoundsYAtSize,invalidateDisplayObjectSharing,measure,measure,measure,measure,updateDisplayList"><title>spark.primitives.BitmapImage</title><script src="../../AC_OETags.js" type="text/javascript"></script></head><body><script language="javascript" type="text/javascript" src="../../asdoc.js"></script><script language="javascript" type="text/javascript" src="../../help.js"></script><script language="javascript" type="text/javascript" src="../../cookies.js"></script><script language="javascript" type="text/javascript"><!--
				asdocTitle = 'BitmapImage - ApacheFlex API Reference';
				var baseRef = '../../';
				window.onload = configPage;
			--></script>
<script type="text/javascript">
			scrollToNameAnchor();
		</script><table class="titleTable" cellpadding="0" cellspacing="0" id="titleTable" style="display:none"><tr><td class="titleTableTitle" align="left">Apache Flex 4.16.1 API Reference </td><td class="titleTableTopNav" align="right"><a href="../../package-summary.html" onclick="loadClassListFrame('../../all-classes.html')">All Packages</a>&nbsp;|&nbsp;<a href="../../class-summary.html" onclick="loadClassListFrame('../../all-classes.html')">All Classes</a>&nbsp;|&nbsp;<a href="../../all-index-A.html" onclick="loadClassListFrame('../../index-list.html')">Index</a>&nbsp;|&nbsp;<a id="framesLink1" href="../../index.html?spark/primitives/BitmapImage.html&amp;spark/primitives/class-list.html">Frames</a><a id="noFramesLink1" style="display:none" href="" onclick="parent.location=document.location"> No Frames </a></td><td class="titleTableLogo" align="right" rowspan="3"><img src="../../images/logo.jpg" class="logoImage" alt="AdobeLogo" title="AdobeLogo"></td></tr><tr class="titleTableRow2"><td class="titleTableSubTitle" id="subTitle" align="left">BitmapImage</td><td class="titleTableSubNav" id="subNav" align="right"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a>&nbsp;| <a href="#eventSummary">Events</a>&nbsp;| <a href="#constantSummary">Constants</a>&nbsp;| <a href="#includeExamplesSummary">Examples</a></td></tr><tr class="titleTableRow3"><td colspan="3">&nbsp;</td></tr></table><script language="javascript" type="text/javascript" xml:space="preserve">
				<!--
				
					if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("BitmapImage"); titleBar_setSubNav(true,true,false,false,false,false,true,false,true,true,false	,false,false,false,false,false);}	
				-->
			</script><div xmlns:fn="http://www.w3.org/2005/xpath-functions" class="MainContent"><table class="classHeaderTable" cellpadding="0" cellspacing="0"><tr><td class="classHeaderTableLabel">Package</td><td><a href="package-detail.html" onclick="javascript:loadClassListFrame('class-list.html')">spark.primitives</a></td></tr><tr><td class="classHeaderTableLabel">Class</td><td class="classSignature">public  class  BitmapImage</td></tr><tr><td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">BitmapImage  <img src="../../images/inherit-arrow.gif" title="Inheritance" alt="Inheritance" class="inheritArrow"> <a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a> <img src="../../images/inherit-arrow.gif" title="Inheritance" alt="Inheritance" class="inheritArrow"> flash.events.EventDispatcher</td></tr><tr><td class="classHeaderTableLabel">Subclasses</td><td> <a href="../../spark/components/itemRenderers/MobileGridBitmapCellRenderer.html">MobileGridBitmapCellRenderer</a></td></tr></table><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p></p><p></p>
  A BitmapImage element defines a rectangular region in its parent element's
  coordinate space, filled with bitmap data drawn from a source file or
  source URL.
   <p></p><p><a href="#includeExamplesSummary">View the examples</a></p><br/><hr></div><a name="propertySummary"></a><div class="summarySection"><div class="summaryTableTitle">Public Properties</div><div class="showHideLinks"><div id="hideInheritedProperty" class="hideInheritedProperty"><a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(false,'Property');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Public Properties</a></div><div id="showInheritedProperty" class="showInheritedProperty"><a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(true,'Property');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Public Properties</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableProperty"><tr><th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#alpha" class="signatureLink">alpha</a> : Number<div class="summaryTableDescription">
      The level of transparency of the graphic element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#alwaysCreateDisplayObject" class="signatureLink">alwaysCreateDisplayObject</a> : Boolean<div class="summaryTableDescription">
      Specifies that this GraphicElement is to be associated with and be rendered 
      to its own DisplayObject.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#baseline" class="signatureLink">baseline</a> : Object<div class="summaryTableDescription">
      
      The vertical distance in pixels from the anchor target to
      the control's baseline position.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#baselinePosition" class="signatureLink">baselinePosition</a> : Number<div class="summaryTableDescription">[read-only] 
      The y-coordinate of the baseline
      of the first line of text of the component.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#bitmapData" class="signatureLink">bitmapData</a> : BitmapData<div class="summaryTableDescription">[read-only] 
      Returns a copy of the BitmapData object representing
      the currently loaded image content (unscaled).</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#blendMode" class="signatureLink">blendMode</a> : String<div class="summaryTableDescription">
      A value from the BlendMode class that specifies which blend mode to use.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#bottom" class="signatureLink">bottom</a> : Object<div class="summaryTableDescription">
      
      The vertical distance in pixels from the bottom edge of the component to the
      anchor target's bottom edge.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#bytesLoaded" class="signatureLink">bytesLoaded</a> : Number<div class="summaryTableDescription">[read-only] 
      The number of bytes of the image already loaded.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#bytesTotal" class="signatureLink">bytesTotal</a> : Number<div class="summaryTableDescription">[read-only] 
      The total image data in bytes loaded or pending load.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#clearOnLoad" class="signatureLink">clearOnLoad</a> : Boolean<div class="summaryTableDescription">
      Denotes whether or not to clear previous
      image content prior to loading new content.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#contentLoader" class="signatureLink">contentLoader</a> : <a href="../../spark/core/IContentLoader.html">IContentLoader</a><div class="summaryTableDescription">
      Optional custom image loader (e.g.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#contentLoaderGrouping" class="signatureLink">contentLoaderGrouping</a> : String<div class="summaryTableDescription">
      Optional content grouping identifier to pass to the an
      associated IContentLoader instance's load() method.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#depth" class="signatureLink">depth</a> : Number<div class="summaryTableDescription">
      
      Determines the order in which items inside of containers
      are rendered.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#designLayer" class="signatureLink">designLayer</a> : <a href="../../mx/core/DesignLayer.html">DesignLayer</a><div class="summaryTableDescription">
      Specifies the optional DesignLayer instance associated with this visual 
      element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#displayObject" class="signatureLink">displayObject</a> : DisplayObject<div class="summaryTableDescription">[read-only] 
      
      The shared DisplayObject where this
      IGraphicElement is drawn.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#displayObjectSharingMode" class="signatureLink">displayObjectSharingMode</a> : String<div class="summaryTableDescription">
      
      Indicates the association between this IGraphicElement and its
      display objects.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#explicitHeight" class="signatureLink">explicitHeight</a> : Number<div class="summaryTableDescription">
      Number that specifies the explicit height of the component,
      in pixels, in the component's coordinates.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#explicitMaxHeight" class="signatureLink">explicitMaxHeight</a> : Number<div class="summaryTableDescription">
      The maximum recommended height of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#explicitMaxWidth" class="signatureLink">explicitMaxWidth</a> : Number<div class="summaryTableDescription">
      The maximum recommended width of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#explicitMinHeight" class="signatureLink">explicitMinHeight</a> : Number<div class="summaryTableDescription">
      The minimum recommended height of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#explicitMinWidth" class="signatureLink">explicitMinWidth</a> : Number<div class="summaryTableDescription"> 
      The minimum recommended width of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#explicitWidth" class="signatureLink">explicitWidth</a> : Number<div class="summaryTableDescription">
      Number that specifies the explicit width of the component,
      in pixels, in the component's coordinates.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#fillMode" class="signatureLink">fillMode</a> : String<div class="summaryTableDescription">
      Determines how the bitmap fills in the dimensions.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#filters" class="signatureLink">filters</a> : Array<div class="summaryTableDescription">
      An indexed array that contains each filter object currently associated with the graphic element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#hasLayoutMatrix3D" class="signatureLink">hasLayoutMatrix3D</a> : Boolean<div class="summaryTableDescription">[read-only] 
      
      Contains true if the element has 3D Matrix.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#height" class="signatureLink">height</a> : Number<div class="summaryTableDescription">
      The height of the graphic element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#horizontalAlign" class="signatureLink">horizontalAlign</a> : String<div class="summaryTableDescription">
      The horizontal alignment of the content when it does not have
      a one-to-one aspect ratio and scaleMode is set to
      mx.graphics.BitmapScaleMode.LETTERBOX.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#horizontalCenter" class="signatureLink">horizontalCenter</a> : Object<div class="summaryTableDescription">
      
      The horizontal distance in pixels from the center of the component to the
      center of the anchor target's content area.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#id" class="signatureLink">id</a> : String<div class="summaryTableDescription">
      The identity of the component.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><img src="../../images/AirIcon12x12.gif" width="12" height="12" hspace="0" vspace="0" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;<a href="#imageDecodingPolicy" class="signatureLink">imageDecodingPolicy</a> : String = onDemand<div class="summaryTableDescription">
	  The image decoding policy, set to ON_DEMAND or ON_LOAD.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#includeInLayout" class="signatureLink">includeInLayout</a> : Boolean<div class="summaryTableDescription">
      Specifies whether this element is included in the layout of the parent.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#is3D" class="signatureLink">is3D</a> : Boolean<div class="summaryTableDescription">[read-only] 
      
      Contains true when the element is in 3D.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#layoutDirection" class="signatureLink">layoutDirection</a> : String<div class="summaryTableDescription">
      
          Specifies the desired layout direction for an element: one of LayoutDirection.LTR 
          (left to right), LayoutDirection.RTL (right to left), or null (inherit).</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#left" class="signatureLink">left</a> : Object<div class="summaryTableDescription">
      
      The horizontal distance in pixels from the left edge of the component to the
      anchor target's left edge.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#luminosityClip" class="signatureLink">luminosityClip</a> : Boolean<div class="summaryTableDescription">
      A property that controls whether the luminosity 
      mask clips the masked content.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#luminosityInvert" class="signatureLink">luminosityInvert</a> : Boolean<div class="summaryTableDescription">
      A property that controls the calculation of the RGB 
      color value of a graphic element being masked by 
      a luminosity mask.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#mask" class="signatureLink">mask</a> : DisplayObject<div class="summaryTableDescription">
      The calling display object is masked by the specified mask object.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#maskType" class="signatureLink">maskType</a> : String<div class="summaryTableDescription">
      Defines how the mask is applied to the GraphicElement. 
     
      The possible values are MaskType.CLIP, MaskType.ALPHA, and 
      MaskType.LUMINOSITY.  
     
      Clip Masking
     
      When masking in clip mode, a clipping masks is reduced to 1-bit.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#maxHeight" class="signatureLink">maxHeight</a> : Number<div class="summaryTableDescription">
      The maximum recommended height of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#maxWidth" class="signatureLink">maxWidth</a> : Number<div class="summaryTableDescription">
      The maximum recommended width of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#measuredHeight" class="signatureLink">measuredHeight</a> : Number<div class="summaryTableDescription">
      The default height of the component, in pixels.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#measuredWidth" class="signatureLink">measuredWidth</a> : Number<div class="summaryTableDescription">
      The default width of the component, in pixels.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#measuredX" class="signatureLink">measuredX</a> : Number<div class="summaryTableDescription">
      The default measured bounds top-left corner relative to the origin of the element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#measuredY" class="signatureLink">measuredY</a> : Number<div class="summaryTableDescription">
      The default measured bounds top-left corner relative to the origin of the element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#minHeight" class="signatureLink">minHeight</a> : Number<div class="summaryTableDescription">
      The minimum recommended height of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#minWidth" class="signatureLink">minWidth</a> : Number<div class="summaryTableDescription">
      The minimum recommended width of the component to be considered
      by the parent during layout.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#MXMLDescriptor" class="signatureLink">MXMLDescriptor</a> : Array<div class="summaryTableDescription">[read-only] </div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#MXMLProperties" class="signatureLink">MXMLProperties</a> : Array<div class="summaryTableDescription">[read-only] </div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#owner" class="signatureLink">owner</a> : DisplayObjectContainer<div class="summaryTableDescription">
      
      The owner of this IVisualElement object.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#parent" class="signatureLink">parent</a> : DisplayObjectContainer<div class="summaryTableDescription">[read-only] 
      
      The parent container or component for this component.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#percentHeight" class="signatureLink">percentHeight</a> : Number<div class="summaryTableDescription">
      
      Specifies the height of a component as a percentage
      of its parent's size.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#percentWidth" class="signatureLink">percentWidth</a> : Number<div class="summaryTableDescription">
      Specifies the width of a component as a percentage
      of its parent's size.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#postLayoutTransformOffsets" class="signatureLink">postLayoutTransformOffsets</a> : <a href="../../mx/geom/TransformOffsets.html">TransformOffsets</a><div class="summaryTableDescription">
      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.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#preliminaryHeight" class="signatureLink">preliminaryHeight</a> : Number<div class="summaryTableDescription">
      Provides an estimate to use for height when the "measured" bounds
      of the image is requested by layout, but the image data has
      yet to complete loading.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#preliminaryWidth" class="signatureLink">preliminaryWidth</a> : Number<div class="summaryTableDescription">
      Provides an estimate to use for width when the "measured" bounds
      of the image is requested by layout, but the image data has
      yet to complete loading.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#right" class="signatureLink">right</a> : Object<div class="summaryTableDescription">
      
      The horizontal distance in pixels from the right edge of the component to the
      anchor target's right edge.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#rotation" class="signatureLink">rotation</a> : Number<div class="summaryTableDescription">
      Indicates the rotation of the element, in degrees,
      from the transform point.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#rotationX" class="signatureLink">rotationX</a> : Number<div class="summaryTableDescription">
     Indicates the x-axis rotation of the element instance, in degrees, from its original orientation 
     relative to the 3D parent container.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#rotationY" class="signatureLink">rotationY</a> : Number<div class="summaryTableDescription">
     Indicates the y-axis rotation of the DisplayObject instance, in degrees, from its original orientation 
     relative to the 3D parent container.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#rotationZ" class="signatureLink">rotationZ</a> : Number<div class="summaryTableDescription">
      Indicates the rotation of the element, in degrees,
      from the transform point.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#scaleMode" class="signatureLink">scaleMode</a> : String<div class="summaryTableDescription">
      Determines how the image is scaled when fillMode is set to
      mx.graphics.BitmapFillMode.SCALE.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#scaleX" class="signatureLink">scaleX</a> : Number<div class="summaryTableDescription">
      The horizontal scale (percentage) of the element
      as applied from the transform point.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#scaleY" class="signatureLink">scaleY</a> : Number<div class="summaryTableDescription">
      The vertical scale (percentage) of the element
      as applied from the transform point.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#scaleZ" class="signatureLink">scaleZ</a> : Number<div class="summaryTableDescription">
      The z scale (percentage) of the element
      as applied from the transform point.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#smooth" class="signatureLink">smooth</a> : Boolean<div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#smoothingQuality" class="signatureLink">smoothingQuality</a> : String<div class="summaryTableDescription">
      Determines how the image is down-scaled.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#source" class="signatureLink">source</a> : Object<div class="summaryTableDescription">
      The source used for the bitmap fill.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#sourceHeight" class="signatureLink">sourceHeight</a> : Number<div class="summaryTableDescription">[read-only] 
      Provides the unscaled height of the original image data.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#sourceWidth" class="signatureLink">sourceWidth</a> : Number<div class="summaryTableDescription">[read-only] 
      Provides the unscaled width of the original image data.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#top" class="signatureLink">top</a> : Object<div class="summaryTableDescription">
      
      The vertical distance in pixels from the top edge of the component to the
      anchor target's top edge.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transform" class="signatureLink">transform</a> : Transform<div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transformX" class="signatureLink">transformX</a> : Number<div class="summaryTableDescription">
      The x position transform point of the element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transformY" class="signatureLink">transformY</a> : Number<div class="summaryTableDescription">
      The y position transform point of the element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transformZ" class="signatureLink">transformZ</a> : Number<div class="summaryTableDescription">
      The z position transform point of the element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#trustedSource" class="signatureLink">trustedSource</a> : Boolean<div class="summaryTableDescription">[read-only] 
      A read-only flag denoting whether the currently loaded
      content is considered loaded form a source whose security
      policy allows for cross domain image access.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#verticalAlign" class="signatureLink">verticalAlign</a> : String<div class="summaryTableDescription">
      The vertical alignment of the content when it does not have
      a one-to-one aspect ratio and scaleMode is set to
      mx.graphics.BitmapScaleMode.LETTERBOX.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#verticalCenter" class="signatureLink">verticalCenter</a> : Object<div class="summaryTableDescription">
      
      The vertical distance in pixels from the center of the component to the
      center of the anchor target's content area.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#visible" class="signatureLink">visible</a> : Boolean<div class="summaryTableDescription">
      
      Controls the visibility of this visual element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#width" class="signatureLink">width</a> : Number<div class="summaryTableDescription">
      The width of the graphic element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#x" class="signatureLink">x</a> : Number<div class="summaryTableDescription">
      The x position of the graphic element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#y" class="signatureLink">y</a> : Number<div class="summaryTableDescription">
      The y position of the graphic element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#z" class="signatureLink">z</a> : Number<div class="summaryTableDescription">
      The z position of the graphic element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr></table></div><a name="protectedPropertySummary"></a><div class="summarySection"><div class="summaryTableTitle">Protected Properties</div><div class="showHideLinks"><div id="hideInheritedProtectedProperty" class="hideInheritedProtectedProperty"><a class="showHideLink" href="#protectedPropertySummary" onclick="javascript:setInheritedVisible(false,'ProtectedProperty');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Protected Properties</a></div><div id="showInheritedProtectedProperty" class="showInheritedProtectedProperty"><a class="showHideLink" href="#protectedPropertySummary" onclick="javascript:setInheritedVisible(true,'ProtectedProperty');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Protected Properties</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable hideInheritedProtectedProperty" id="summaryTableProtectedProperty"><tr><th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class="hideInheritedProtectedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#drawnDisplayObject" class="signatureLink">drawnDisplayObject</a> : DisplayObject<div class="summaryTableDescription">[read-only] 
      The actual DisplayObject that is drawn into by the GraphicElement.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#drawX" class="signatureLink">drawX</a> : Number<div class="summaryTableDescription">[read-only] 
      The x position where the element should be drawn.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#drawY" class="signatureLink">drawY</a> : Number<div class="summaryTableDescription">[read-only] 
      The y position where the element should be drawn.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#hasComplexLayoutMatrix" class="signatureLink">hasComplexLayoutMatrix</a> : Boolean<div class="summaryTableDescription">[read-only] 
      Returns true if the GraphicElement has any non-translation (x,y) transform properties
     
      </div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#layoutFeatures" class="signatureLink">layoutFeatures</a> : AdvancedLayoutFeatures<div class="summaryTableDescription">
      Contain all of the implementation details of how the GraphicElement implements
      transform and layering support.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html#needsDisplayObject" class="signatureLink">needsDisplayObject</a> : Boolean<div class="summaryTableDescription">[read-only] 
      True if the element requires an exclusive DisplayObject.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr></table></div><a name="methodSummary"></a><div class="summarySection"><div class="summaryTableTitle">Public Methods </div><div class="showHideLinks"><div id="hideInheritedMethod" class="hideInheritedMethod"><a class="showHideLink" href="#methodSummary" onclick="javascript:setInheritedVisible(false,'Method');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Public Methods</a></div><div id="showInheritedMethod" class="showInheritedMethod"><a class="showHideLink" href="#methodSummary" onclick="javascript:setInheritedVisible(true,'Method');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Public Methods</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableMethod"><tr><th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#BitmapImage()" class="signatureLink">BitmapImage</a>()</div><div class="summaryTableDescription">
      Constructor.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#canShareWithNext()" class="signatureLink">canShareWithNext</a>(element:<a href="../../spark/core/IGraphicElement.html">IGraphicElement</a>):Boolean</div><div class="summaryTableDescription">
      
      Returns true if this IGraphicElement is compatible and can
      share display objects with the next IGraphicElement
      in the sequence.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#canShareWithPrevious()" class="signatureLink">canShareWithPrevious</a>(element:<a href="../../spark/core/IGraphicElement.html">IGraphicElement</a>):Boolean</div><div class="summaryTableDescription">
      
      Returns true if this IGraphicElement is compatible and can
      share display objects with the previous IGraphicElement
      in the sequence.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#createDisplayObject()" class="signatureLink">createDisplayObject</a>():DisplayObject</div><div class="summaryTableDescription">
      
      Creates a new DisplayObject where this IGraphicElement
      is drawn.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#generateMXMLArray()" class="signatureLink">generateMXMLArray</a>(document:Object, data:Array, recursive:Boolean = true):Array</div><div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#generateMXMLVector()" class="signatureLink">generateMXMLVector</a>(document:Object, data:Array, recursive:Boolean = true):*</div><div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getBoundsXAtSize()" class="signatureLink">getBoundsXAtSize</a>(width:Number, height:Number, postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the x coordinate of the element's bounds at the specified element size.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getBoundsYAtSize()" class="signatureLink">getBoundsYAtSize</a>(width:Number, height:Number, postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the y coordinate of the element's bounds at the specified element size.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getLayoutBoundsHeight()" class="signatureLink">getLayoutBoundsHeight</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's layout height.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getLayoutBoundsWidth()" class="signatureLink">getLayoutBoundsWidth</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's layout width.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getLayoutBoundsX()" class="signatureLink">getLayoutBoundsX</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the x coordinate that the element uses to draw on screen.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getLayoutBoundsY()" class="signatureLink">getLayoutBoundsY</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the y coordinate that the element uses to draw on screen.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getLayoutMatrix()" class="signatureLink">getLayoutMatrix</a>():Matrix</div><div class="summaryTableDescription">
      
      Returns the transform matrix that is used to calculate the component's
      layout relative to its siblings.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getLayoutMatrix3D()" class="signatureLink">getLayoutMatrix3D</a>():Matrix3D</div><div class="summaryTableDescription">
      
      Returns the layout transform Matrix3D for this element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getMaxBoundsHeight()" class="signatureLink">getMaxBoundsHeight</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's maximum height.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getMaxBoundsWidth()" class="signatureLink">getMaxBoundsWidth</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's maximum width.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getMinBoundsHeight()" class="signatureLink">getMinBoundsHeight</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's minimum height.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getMinBoundsWidth()" class="signatureLink">getMinBoundsWidth</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's minimum width.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getPreferredBoundsHeight()" class="signatureLink">getPreferredBoundsHeight</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's preferred height.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getPreferredBoundsWidth()" class="signatureLink">getPreferredBoundsWidth</a>(postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      
      Returns the element's preferred width.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#initialized()" class="signatureLink">initialized</a>(document:Object, id:String):void</div><div class="summaryTableDescription">
      Called automatically by the MXML compiler when the GraphicElement
      is created using an MXML tag.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#invalidateDisplayList()" class="signatureLink">invalidateDisplayList</a>():void</div><div class="summaryTableDescription">
      Calling this method results in a call to the elements's
      validateDisplayList() method
      before the display list is rendered.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#invalidateLayoutDirection()" class="signatureLink">invalidateLayoutDirection</a>():void</div><div class="summaryTableDescription">
     
          An element must call this method when its layoutDirection changes or
          when its parent's layoutDirection changes.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#invalidateProperties()" class="signatureLink">invalidateProperties</a>():void</div><div class="summaryTableDescription">
      Calling this method results in a call to the elements's
      validateProperties() method
      before the display list is rendered.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#invalidateSize()" class="signatureLink">invalidateSize</a>():void</div><div class="summaryTableDescription">
      Calling this method results in a call to the elements's
      validateSize() method
      before the display list is rendered.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#localToGlobal()" class="signatureLink">localToGlobal</a>(point:Point):Point</div><div class="summaryTableDescription">
     Converts the point object from the object's (local) coordinates 
     to the Stage (global) coordinates.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#parentChanged()" class="signatureLink">parentChanged</a>(value:<a href="../../spark/core/IGraphicElementContainer.html">IGraphicElementContainer</a>):void</div><div class="summaryTableDescription">
      
      Called by IGraphicElementContainer when an IGraphicElement
      is added to or removed from the host component.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#setLayoutBoundsPosition()" class="signatureLink">setLayoutBoundsPosition</a>(newBoundsX:Number, newBoundsY:Number, postLayoutTransform:Boolean = true):void</div><div class="summaryTableDescription">
      
      Sets the coordinates that the element uses to draw on screen.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#setLayoutBoundsSize()" class="signatureLink">setLayoutBoundsSize</a>(width:Number, height:Number, postLayoutTransform:Boolean = true):void</div><div class="summaryTableDescription">
      
      Sets the layout size of the element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#setLayoutMatrix()" class="signatureLink">setLayoutMatrix</a>(value:Matrix, invalidateLayout:Boolean):void</div><div class="summaryTableDescription">
      
      Sets the transform Matrix that is used to calculate the component's layout
      size and position relative to its siblings.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#setLayoutMatrix3D()" class="signatureLink">setLayoutMatrix3D</a>(value:Matrix3D, invalidateLayout:Boolean):void</div><div class="summaryTableDescription">
      
      Sets the transform Matrix3D that is used to calculate the component's layout
      size and position relative to its siblings.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#setMXMLDescriptor()" class="signatureLink">setMXMLDescriptor</a>(value:Array):void</div><div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#setMXMLProperties()" class="signatureLink">setMXMLProperties</a>(value:Array):void</div><div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#setSharedDisplayObject()" class="signatureLink">setSharedDisplayObject</a>(sharedDisplayObject:DisplayObject):Boolean</div><div class="summaryTableDescription">
      
      Determines whether this element can draw itself to the
      sharedDisplayObject of the sequence.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transformAround()" class="signatureLink">transformAround</a>(transformCenter:Vector3D, scale:Vector3D = null, rotation:Vector3D = null, translation:Vector3D = null, postLayoutScale:Vector3D = null, postLayoutRotation:Vector3D = null, postLayoutTranslation:Vector3D = null, invalidateLayout:Boolean = true):void</div><div class="summaryTableDescription">
      A utility method to update the rotation, scale, and translation of the 
      transform while keeping a particular point, specified in the component's 
      own coordinate space, fixed in the parent's coordinate space.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transformPointToParent()" class="signatureLink">transformPointToParent</a>(localPosition:Vector3D, position:Vector3D, postLayoutPosition:Vector3D):void</div><div class="summaryTableDescription">
     A utility method to transform a point specified in the local
     coordinates of this object to its location in the object's parent's 
     coordinates.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#validateDisplayList()" class="signatureLink">validateDisplayList</a>():void</div><div class="summaryTableDescription">
      
      Called by the IGraphicElementContainer to redraw this element
      in its displayObject property.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#validateNow()" class="signatureLink">validateNow</a>():void</div><div class="summaryTableDescription">
      Validates and updates the properties and layout of this object
      by immediately calling validateProperties(),
      validateSize(), and validateDisplayList(),
      if necessary.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#validateProperties()" class="signatureLink">validateProperties</a>():void</div><div class="summaryTableDescription">
      Used by layout logic to validate the properties of a component
      by calling the commitProperties() method.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#validateSize()" class="signatureLink">validateSize</a>():void</div><div class="summaryTableDescription">
      
      Called by the IGraphicElementContainer to validate the size of
      this element.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr></table></div><a name="methodSummary"></a><a name="protectedMethodSummary"></a><div class="summarySection"><div class="summaryTableTitle">Protected Methods </div><div class="showHideLinks"><div id="hideInheritedProtectedMethod" class="hideInheritedProtectedMethod"><a class="showHideLink" href="#protectedMethodSummary" onclick="javascript:setInheritedVisible(false,'ProtectedMethod');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Show Inherited Protected Methods</a></div><div id="showInheritedProtectedMethod" class="showInheritedProtectedMethod"><a class="showHideLink" href="#protectedMethodSummary" onclick="javascript:setInheritedVisible(true,'ProtectedMethod');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Protected Methods</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableProtectedMethod"><tr><th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#canSkipMeasurement()" class="signatureLink">canSkipMeasurement</a>():Boolean</div><div class="summaryTableDescription">
      Determines if the call to the measure() method can be skipped.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#commitProperties()" class="signatureLink">commitProperties</a>():void</div><div class="summaryTableDescription">[override] 
      
      Processes the properties set on the element.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#generateMXMLAttributes()" class="signatureLink">generateMXMLAttributes</a>(data:Array):void</div><div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#generateMXMLInstances()" class="signatureLink">generateMXMLInstances</a>(document:Object, data:Array, recursive:Boolean = true):void</div><div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#generateMXMLObject()" class="signatureLink">generateMXMLObject</a>(document:Object, data:Array):Object</div><div class="summaryTableDescription"></div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#getStrokeExtents()" class="signatureLink">getStrokeExtents</a>(postLayoutTransform:Boolean = true):Rectangle</div><div class="summaryTableDescription">
      Returns the amount of pixels occupied by the stroke on each side
      of the element's bounds.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#invalidateDisplayObjectSharing()" class="signatureLink">invalidateDisplayObjectSharing</a>():void</div><div class="summaryTableDescription">
      Utility method that notifies the host that this element has changed and needs
      its layer to be updated.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#invalidateParentSizeAndDisplayList()" class="signatureLink">invalidateParentSizeAndDisplayList</a>():void</div><div class="summaryTableDescription">
      Helper method to invalidate parent size and display list if
      this object affects its layout (includeInLayout is true).</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#measure()" class="signatureLink">measure</a>():void</div><div class="summaryTableDescription">[override] 
      
      Calculates the default size of the element.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#preferredHeightPreTransform()" class="signatureLink">preferredHeightPreTransform</a>():Number</div><div class="summaryTableDescription">
      Used for the implementation of the ILayoutElement interface,
      returns the explicit measured height pre-transform.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#preferredWidthPreTransform()" class="signatureLink">preferredWidthPreTransform</a>():Number</div><div class="summaryTableDescription">
      Used for the implementation of the ILayoutElement interface,
      returns the explicit of measured width pre-transform.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transformHeightForLayout()" class="signatureLink">transformHeightForLayout</a>(width:Number, height:Number, postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      Transform the element's size.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../spark/primitives/supportClasses/GraphicElement.html#transformWidthForLayout()" class="signatureLink">transformWidthForLayout</a>(width:Number, height:Number, postLayoutTransform:Boolean = true):Number</div><div class="summaryTableDescription">
      Transform the element's size.</div></td><td class="summaryTableOwnerCol"><a href="../../spark/primitives/supportClasses/GraphicElement.html">GraphicElement</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#updateDisplayList()" class="signatureLink">updateDisplayList</a>(unscaledWidth:Number, unscaledHeight:Number):void</div><div class="summaryTableDescription">[override] 
      
      Draws the element and/or sizes and positions its content.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr></table></div><a name="eventSummary"></a><div class="summarySection"><div class="summaryTableTitle">Events</div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableEvent"><tr><th>&nbsp;</th><th colspan="2">Event</th><th> Summary </th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#event:complete" class="signatureLink">complete</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when content loading is complete.</td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#event:httpStatus" class="signatureLink">httpStatus</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when a network request is made over HTTP and Flash Player or AIR can detect the HTTP status code.</td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#event:ioError" class="signatureLink">ioError</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when an input/output error occurs.</td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#event:progress" class="signatureLink">progress</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when content is loading.</td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#event:ready" class="signatureLink">ready</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when content loading is complete.</td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#event:securityError" class="signatureLink">securityError</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when a security error occurs.</td><td class="summaryTableOwnerCol">BitmapImage</td></tr></table></div><a name="constantSummary"></a><div class="summarySection"><div class="summaryTableTitle">Public Constants</div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableConstant"><tr><th>&nbsp;</th><th colspan="2">Constant</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#ON_DEMAND" class="signatureLink">ON_DEMAND</a> : String = onDemand<div class="summaryTableDescription">[static] 
	  Specifies that the image being loaded will be decoded when needed.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#ON_LOAD" class="signatureLink">ON_LOAD</a> : String = onLoad<div class="summaryTableDescription">[static] 
	  Specifies that the image being loaded will be decoded on load.</div></td><td class="summaryTableOwnerCol">BitmapImage</td></tr></table></div><script language="javascript" type="text/javascript"><!--
										showHideInherited();
										--></script><div class="MainContent"><div class="detailSectionHeader">Property Detail</div><a name="propertyDetail"></a><a name="bitmapData"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">bitmapData</td><td class="detailHeaderType">property</td></tr></table><div class="detailBody"><code>bitmapData:BitmapData</code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
      Returns a copy of the BitmapData object representing
      the currently loaded image content (unscaled).  This property
      is <code>null</code> for untrusted cross domain content.
           </p><p> The default value is <code>null</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get bitmapData():BitmapData</code><br/></div><a name="propertyDetail"></a><a name="bytesLoaded"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">bytesLoaded</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>bytesLoaded:Number</code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
      The number of bytes of the image already loaded.
      Only relevant for images loaded by request URL.
           </p><p> The default value is <code>NaN</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get bytesLoaded():Number</code><br/></div><a name="propertyDetail"></a><a name="bytesTotal"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">bytesTotal</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>bytesTotal:Number</code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
      The total image data in bytes loaded or pending load.
      Only relevant for images loaded by request URL.
           </p><p> The default value is <code>NaN</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get bytesTotal():Number</code><br/></div><a name="propertyDetail"></a><a name="clearOnLoad"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">clearOnLoad</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>clearOnLoad:Boolean</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
      Denotes whether or not to clear previous
      image content prior to loading new content.
           </p><p> The default value is <code>true</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get clearOnLoad():Boolean</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set clearOnLoad(value:Boolean):void</code><br/></div><a name="propertyDetail"></a><a name="contentLoader"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">contentLoader</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>contentLoader:<a href="../../spark/core/IContentLoader.html">IContentLoader</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Optional custom image loader (e.g. image cache or queue) to
      associate with content loader client.
           </p><p> The default value is <code>null</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get contentLoader():<a href="../../spark/core/IContentLoader.html">IContentLoader</a></code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set contentLoader(value:<a href="../../spark/core/IContentLoader.html">IContentLoader</a>):void</code><br/></div><a name="propertyDetail"></a><a name="contentLoaderGrouping"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">contentLoaderGrouping</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>contentLoaderGrouping:String</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Optional content grouping identifier to pass to the an
      associated IContentLoader instance's load() method.
      This property is only considered when a valid contentLoader
      is assigned.
           </p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get contentLoaderGrouping():String</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set contentLoaderGrouping(value:String):void</code><br/></div><a name="propertyDetail"></a><a name="fillMode"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">fillMode</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>fillMode:String</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Determines how the bitmap fills in the dimensions. If you set the value
      of this property in a tag, use the string (such as "repeat"). If you set the value of
      this property in ActionScript, use the constant (such as <code>mx.graphics.BitmapFillMode.CLIP</code>).
           <p>When set to <code>BitmapFillMode.CLIP</code> ("clip"), the bitmap
      ends at the edge of the region.</p>
           <p>When set to <code>BitmapFillMode.REPEAT</code> ("repeat"), the bitmap
      repeats to fill the region.</p>
           <p>When set to <code>BitmapFillMode.SCALE</code> ("scale"), the bitmap
      stretches to fill the region.</p>
           </p><p> The default value is <code><code>BitmapFillMode.SCALE</code></code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get fillMode():String</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set fillMode(value:String):void</code><br/><p><span class="label">See also</span></p><div class="seeAlso"><a href="../../mx/graphics/BitmapFillMode.html" target="">mx.graphics.BitmapFillMode</a></div></div><a name="propertyDetail"></a><a name="horizontalAlign"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">horizontalAlign</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>horizontalAlign:String</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      The horizontal alignment of the content when it does not have
      a one-to-one aspect ratio and <code>scaleMode</code> is set to
      <code>mx.graphics.BitmapScaleMode.LETTERBOX</code>.
           <p>Can be one of <code>HorizontalAlign.LEFT</code> ("left"),
      <code>HorizontalAlign.RIGHT</code> ("right"), or
      <code>HorizontalAlign.CENTER</code> ("center").</p>
           <p>This property is only applicable when <code>fillMode</code> is set to
      to <code>mx.graphics.BitmapFillMode.SCALE</code> ("scale").</p>
           </p><p> The default value is <code><code>HorizontalAlign.CENTER</code></code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get horizontalAlign():String</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set horizontalAlign(value:String):void</code><br/><p><span class="label">See also</span></p><div class="seeAlso"><a href="../../mx/graphics/BitmapFillMode.html" target="">mx.graphics.BitmapFillMode</a><br/><a href="../../mx/graphics/BitmapScaleMode.html" target="">mx.graphics.BitmapScaleMode</a></div></div><a name="propertyDetail"></a><a name="imageDecodingPolicy"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName"><img src="../../images/AirIcon12x12.gif" width="12" height="12" hspace="0" vspace="0" alt="AIR-only" title="Only available in the AIR runtime">&nbsp;imageDecodingPolicy</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>public var imageDecodingPolicy:String = onDemand</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.11</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>AIR 2.6</td></tr></table><p></p><p></p><p>
	  The image decoding policy, set to ON_DEMAND or ON_LOAD.
	  The default is ON_DEMAND.
	 
	  ImageDecodingPolicy also defined ON_DEMAND and ON_LOAD but these
	  are only available under AIR 2.6 and above.
	 
	  Setting to asynchronously decode and load the bitmap images for
	  large image may improve your application’s perceived performance.
	 
	  </p></div><a name="propertyDetail"></a><a name="preliminaryHeight"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">preliminaryHeight</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>preliminaryHeight:Number</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Provides an estimate to use for height when the "measured" bounds
      of the image is requested by layout, but the image data has
      yet to complete loading. When NaN the measured height is 0 until
      the image has finished loading.
           </p><p> The default value is <code>NaN</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get preliminaryHeight():Number</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set preliminaryHeight(value:Number):void</code><br/></div><a name="propertyDetail"></a><a name="preliminaryWidth"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">preliminaryWidth</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>preliminaryWidth:Number</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Provides an estimate to use for width when the "measured" bounds
      of the image is requested by layout, but the image data has
      yet to complete loading. When NaN the measured width is 0 until
      the image has finished loading.
           </p><p> The default value is <code>NaN</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get preliminaryWidth():Number</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set preliminaryWidth(value:Number):void</code><br/></div><a name="propertyDetail"></a><a name="scaleMode"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">scaleMode</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>scaleMode:String</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10.1, AIR 2.0</td></tr></table><p></p><p></p><p>
      Determines how the image is scaled when <code>fillMode</code> is set to
      <code>mx.graphics.BitmapFillMode.SCALE</code>.
           <p>When set to <code>mx.graphics.BitmapScaleMode.STRETCH</code> ("stretch"),
      the image is stretched to fit.</p>
           <p>When set to <code>BitmapScaleMode.LETTERBOX</code> ("letterbox"),
      the image is scaled with respect to the original unscaled image's
      aspect ratio.</p>
           <p>When set to <code>BitmapScaleMode.ZOOM</code> ("zoom"),
      the image is scaled to fit with respect to the original unscaled image's
      aspect ratio. This results in cropping on one axis.</p>
           </p><p> The default value is <code><code>BitmapScaleMode.STRETCH</code></code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get scaleMode():String</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set scaleMode(value:String):void</code><br/><p><span class="label">See also</span></p><div class="seeAlso"><a href="../../mx/graphics/BitmapFillMode.html" target="">mx.graphics.BitmapFillMode</a><br/><a href="../../mx/graphics/BitmapScaleMode.html" target="">mx.graphics.BitmapScaleMode</a></div></div><a name="propertyDetail"></a><a name="smooth"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">smooth</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>smooth:Boolean</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p> The default value is <code>false</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get smooth():Boolean</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set smooth(value:Boolean):void</code><br/></div><a name="propertyDetail"></a><a name="smoothingQuality"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">smoothingQuality</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>smoothingQuality:String</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Determines how the image is down-scaled.  When set to
      <code>BitmapSmoothingQuality.HIGH</code>, the image is resampled (if data
      is from a trusted source) to achieve a higher quality result.
      If set to <code>BitmapSmoothingQuality.DEFAULT</code>, the default stage
      quality for scaled bitmap fills is used.
           </p><p> The default value is <code><code>BitmapSmoothingQuality.DEFAULT</code></code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get smoothingQuality():String</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set smoothingQuality(value:String):void</code><br/></div><a name="propertyDetail"></a><a name="source"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">source</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>source:Object</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      The source used for the bitmap fill. The fill can render from various
      graphical sources, including the following:
      <ul>
       <li>A Bitmap or BitmapData instance.</li>
       <li>A class representing a subclass of DisplayObject. The BitmapFill
           instantiates the class and creates a bitmap rendering of it.</li>
       <li>An instance of a DisplayObject. The BitmapFill copies it into a
           Bitmap for filling.</li>
       <li>The name of an external image file. </li>
      </ul>
           <p>If you use an image file for the source, it can be of type PNG, GIF,
      or JPG.</p>
           <p>To specify an embedded image source, you can use the @Embed directive,
      as the following example shows:
      <pre>
      source="@Embed('&lt;i>image_location&lt;/i>')"
      </pre>
      </p>
           <p>The image location can be specified via a URL, URLRequest, or file
      reference. If it is a file reference, its location is relative to the
      location of the file that is being compiled.</p>
           <p>The BitmapImage class is designed to work with embedded images or
      images that are loaded at run time.</p>
           <p>If the source is a Bitmap or BitmapData instance or is an external
      image file, it is the responsibility of the caller to dispose of the
      source once it is no longer needed. If ImageLoader created the BitmapData
      instance, then it will dispose of the BitmapData once the source has
      changed.</p>
           </p><p>This property can be used as the source for data binding.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get source():Object</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set source(value:Object):void</code><br/><p><span class="label">See also</span></p><div class="seeAlso">flash.display.Bitmap<br/>flash.display.BitmapData<br/><a href="../../mx/graphics/BitmapFill.html" target="">mx.graphics.BitmapFill</a></div></div><a name="propertyDetail"></a><a name="sourceHeight"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">sourceHeight</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>sourceHeight:Number</code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Provides the unscaled height of the original image data.
           </p><p> The default value is <code>NaN</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get sourceHeight():Number</code><br/></div><a name="propertyDetail"></a><a name="sourceWidth"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">sourceWidth</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>sourceWidth:Number</code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      Provides the unscaled width of the original image data.
           </p><p> The default value is <code>NaN</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get sourceWidth():Number</code><br/></div><a name="propertyDetail"></a><a name="trustedSource"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">trustedSource</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>trustedSource:Boolean</code>&nbsp;&nbsp;[read-only] <p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.5</td></tr></table><p></p><p></p><p>
      A read-only flag denoting whether the currently loaded
      content is considered loaded form a source whose security
      policy allows for cross domain image access.
      When <code>false</code>, advanced bitmap operations such as high quality scaling,
      and tiling are not permitted.  This flag is set once an
      image has been fully loaded.
           </p><p> The default value is <code>true</code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get trustedSource():Boolean</code><br/></div><a name="propertyDetail"></a><a name="verticalAlign"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">verticalAlign</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>verticalAlign:String</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      The vertical alignment of the content when it does not have
      a one-to-one aspect ratio and scaleMode is set to
      <code>mx.graphics.BitmapScaleMode.LETTERBOX</code>.
           <p>Can be one of <code>VerticalAlign.TOP</code> ("top"),
      <code>VerticalAlign.BOTTOM</code> ("bottom"), or
      <code>VerticalAlign.MIDDLE</code> ("middle").</p>
           <p>This property is only applicable when scaleMode is set to
      to <code>BitmapFillMode.SCALE</code> ("scale").</p>
           </p><p> The default value is <code><code>VerticalAlign.MIDDLE</code></code>.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get verticalAlign():String</code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set verticalAlign(value:String):void</code><br/><p><span class="label">See also</span></p><div class="seeAlso"><a href="../../mx/graphics/BitmapFillMode.html" target="">mx.graphics.BitmapFillMode</a><br/><a href="../../mx/graphics/BitmapScaleMode.html" target="">mx.graphics.BitmapScaleMode</a></div></div><a name="constructorDetail"></a><div class="detailSectionHeader">Constructor Detail</div><a name="BitmapImage()"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">BitmapImage</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">Constructor</td></tr></table><div class="detailBody"><code>public function BitmapImage()</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p>
      Constructor.
           </p></div><a name="methodDetail"></a><div class="detailSectionHeader">Method Detail</div><a name="commitProperties()"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">commitProperties</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td></tr></table><div class="detailBody"><code>override protected function commitProperties():void</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      
      Processes the properties set on the element.
      This is an advanced method that you might override
      when creating a subclass.
           <p>You do not call this method directly.
      Flex calls the <code>commitProperties()</code> method when you
      use the <code>addElement()</code> method to add an element to an 
      <code>IGraphicElementContainer</code> container such as Group,
      or when you call the <code>invalidateProperties()</code> method of the element.
      Calls to the <code>commitProperties()</code> method occur before calls to the
      <code>measure()</code> method. This lets you set property values that might
      be used by the <code>measure()</code> method.</p>
           <p>Some elements have properties that
      interact with each other.
      It is often best at startup time to process all of these
      properties at one time to avoid duplicating work.</p>
      
      </p></div><a name="measure()"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">measure</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>override protected function measure():void</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      
      Calculates the default size of the element. This is an advanced
      method that you might override when creating a subclass of GraphicElement.
           <p>You do not call this method directly. Flex calls the
      <code>measure()</code> method when the element is added to an
      <code>IGraphicElementContainer</code> container such as Group
      using the <code>addElement()</code> method, and when the element's
      <code>invalidateSize()</code> method is called. </p>
           <p>By default you set both explicit height and explicit width of an element,
      Flex does not call the <code>measure()</code> method,
      even if you explicitly call the <code>invalidateSize()</code> method.
      To override this behavior, override <code>skipMeasure()</code> method.</p>
           <p>In your override of this method, you must set the
      <code>measuredWidth</code> and <code>measuredHeight</code> properties
      to define the default size.
      You can optionally set the <code>measuredX</code> and
      <code>measuredY</code> properties to define the default measured bounds
      top-left corner relative to the origin of the element.</p>
           <p>The conceptual point of <code>measure()</code> is for the element to
      provide its own natural or intrinsic bounds as a default. Therefore, the
      <code>measuredWidth</code> and <code>measuredHeight</code> properties
      should be determined by factors such as:</p>
      <ul>
         <li>The amount of text the component needs to display.</li>
         <li>The size of a JPEG image that the component displays.</li>
      </ul>
           <p>In some cases, there is no intrinsic way to determine default values.
      For example, a simple GreenCircle element might simply set
      measuredWidth = 100 and measuredHeight = 100 in its <code>measure()</code> method to
      provide a reasonable default size. In other cases, such as a TextArea,
      an appropriate computation (such as finding the right width and height
      that would just display all the text and have the aspect ratio of a Golden Rectangle)
      might be too time-consuming to be worthwhile.</p>
           <p>The default implementation of <code>measure()</code>
      sets the values of the <code>measuredWidth</code>, <code>measuredHeight</code>,
      <code>measuredX</code>, and <code>measuredY</code> properties
      to <code>0</code>.</p>
      
      </p></div><a name="updateDisplayList()"></a><a name="updateDisplayList(Number,Number)"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">updateDisplayList</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
      
      Draws the element and/or sizes and positions its content.
      This is an advanced method that you might override
      when creating a subclass of GraphicElement.
           <p>You do not call this method directly. Flex calls the
      <code>updateDisplayList()</code> method when the component is added 
      to an <code>IGraphicElementContainer</code> container such as Group
      using the <code>addElement()</code> method, and when the element's
      <code>invalidateDisplayList()</code> method is called. </p>
           <p>This method is where you would do programmatic drawing
      using methods on the elements's displayObject
      such as <code>graphics.drawRect()</code>.</p>
           </p><p><span class="label"> Parameters </span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20px"></td><td><code><span class="label">unscaledWidth</span>:Number</code> &mdash; Specifies the width of the component, in pixels,
      in the component's coordinates, regardless of the value of the
      <code>scaleX</code> property of the component.
     
      </td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20px"></td><td><code><span class="label">unscaledHeight</span>:Number</code> &mdash; Specifies the height of the component, in pixels,
      in the component's coordinates, regardless of the value of the
      <code>scaleY</code> property of the component.
      
      </td></tr></table></p></div><div class="detailSectionHeader"> Event Detail </div><a name="event:complete"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">complete</td><td class="detailHeaderType"> Event </td></tr></table><div class="detailBody"><span class="label">Event Object Type: </span><code>flash.events.Event</code><br/><span class="label">Event.type property = </span><code>flash.events.Event.COMPLETE</code><br/><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
  Dispatched when content loading is complete. This
  event is only dispatched for url and ByteArray based
  sources (those sources requiring a Loader).
   <p>Note that for content loaded via Loader, both
  <code>ready</code> and <code>complete</code> events
  are dispatched.</p>  For other source types such as
  embeds, only <code>ready</code> is dispatched.
   </p></div><a name="event:httpStatus"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">httpStatus</td><td class="detailHeaderType"> Event </td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><span class="label">Event Object Type: </span><code>flash.events.HTTPStatusEvent</code><br/><span class="label">HTTPStatusEvent.type property = </span><code>flash.events.HTTPStatusEvent.HTTP_STATUS</code><br/><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
  Dispatched when a network request is made over HTTP
  and Flash Player or AIR can detect the HTTP status code.
   </p></div><a name="event:ioError"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">ioError</td><td class="detailHeaderType"> Event </td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><span class="label">Event Object Type: </span><code>flash.events.IOErrorEvent</code><br/><span class="label">IOErrorEvent.type property = </span><code>flash.events.IOErrorEvent.IO_ERROR</code><br/><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
  Dispatched when an input/output error occurs.
  </p><p><span class="label">See also</span></p><div class="seeAlso">flash.events.IOErrorEvent</div></div><a name="event:progress"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">progress</td><td class="detailHeaderType"> Event </td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><span class="label">Event Object Type: </span><code>flash.events.ProgressEvent</code><br/><span class="label">ProgressEvent.type property = </span><code>flash.events.ProgressEvent.PROGRESS</code><br/><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
  Dispatched when content is loading.
   <p><b>Note:</b>
  The <code>progress</code> event is not guaranteed to be dispatched.
  The <code>complete</code> event may be received, without any
  <code>progress</code> events being dispatched.
  This can happen when the loaded content is a local file.</p>
   </p></div><a name="event:ready"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">ready</td><td class="detailHeaderType"> Event </td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><span class="label">Event Object Type: </span><a href="../../mx/events/FlexEvent.html"><code>mx.events.FlexEvent</code></a><br/><span class="label">FlexEvent.type property = </span><a href="../../mx/events/FlexEvent.html#READY"><code>mx.events.FlexEvent.READY</code></a><br/><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
  Dispatched when content loading is complete.  Unlike the
  <code>complete</code> event, this event is dispatched for
  all source types.
   <p>Note that for content loaded via Loader, both
  <code>ready</code> and <code>complete</code> events
  are dispatched.</p>  For other source types such as
  embeds, only <code>ready</code> is dispatched.
   </p>
      The <code>FlexEvent.READY</code> constant defines the value of the
      <code>type</code> property of the event object for a <code>ready</code> 
      event.  This event is dispatched by the BitmapImage and spark Image
      classes to denote that the assigned image source has fully loaded.
           <p>The properties of the event object have the following values:</p>
     
      <table class="innertable" ><tr><th>Property</th><th>Value</th></tr><tr><td><code>bubbles</code></td><td>false</td></tr><tr><td><code>cancelable</code></td><td>false</td></tr><tr><td><code>returnValue</code></td><td>null</td></tr><tr><td><code>currentTarget</code></td><td>The Object that defines the 
           event listener that handles the event. For example, if you use 
           <code>myImage.addEventListener()</code> to register an event listener, 
           myImage is the value of the <code>currentTarget</code>. </td></tr><tr><td><code>target</code></td><td>The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the <code>currentTarget</code> property to always access the 
           Object listening for the event.</td></tr><tr><td><code>Type</code></td><td>FlexEvent.READY</td></tr></table>
           </div><a name="event:securityError"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">securityError</td><td class="detailHeaderType"> Event </td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><span class="label">Event Object Type: </span><code>flash.events.SecurityErrorEvent</code><br/><span class="label">SecurityErrorEvent.type property = </span><code>flash.events.SecurityErrorEvent.SECURITY_ERROR</code><br/><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.5</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 2.0</td></tr></table><p></p><p></p><p>
  Dispatched when a security error occurs.
  </p><p><span class="label">See also</span></p><div class="seeAlso">flash.events.SecurityErrorEvent</div></div><div class="detailSectionHeader">Constant Detail</div><a name="constantDetail"></a><a name="ON_DEMAND"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">ON_DEMAND</td><td class="detailHeaderType">Constant</td></tr></table><div class="detailBody"><code>public static const ON_DEMAND:String = onDemand</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.11</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
	  Specifies that the image being loaded will be decoded when needed.
	 
	  </p><p><span class="label">See also</span></p><div class="seeAlso">flash.system.ImageDecodingPolicy</div></div><a name="constantDetail"></a><a name="ON_LOAD"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">ON_LOAD</td><td class="detailHeaderType">Constant</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>public static const ON_LOAD:String = onLoad</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Version :&nbsp;</b></td><td>Flex 4.11</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  10, AIR 1.5</td></tr></table><p></p><p></p><p>
	  Specifies that the image being loaded will be decoded on load.
	 
	  </p><p><span class="label">See also</span></p><div class="seeAlso">flash.system.ImageDecodingPolicy</div></div><a name="includeExamplesSummary"></a><div class="detailSectionHeader">Examples</div><div class="exampleHeader">BitmapImageExample.mxml</div><div class="detailBody"><div class="listing"><pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;!--

  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.

--&gt;
&lt;!-- BitmapGraphicExample.mxml --&gt;
&lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"&gt;

    &lt;s:Panel title="Bitmap Graphic Example"
            width="75%" height="75%"
            horizontalCenter="0" verticalCenter="0"&gt;
        &lt;s:Group left="10" right="10" top="10" bottom="10"&gt;
            &lt;!-- Single image, not resized, not repeated. --&gt;
            &lt;s:Graphic x="0" y="0"&gt;             
                &lt;s:BitmapImage id="bg1" source="@Embed('assets/Icon12x12.gif')" fillMode="clip"/&gt;
            &lt;/s:Graphic&gt;

            &lt;!-- Single image, scaled to fit specified dimensions. --&gt;
            &lt;s:Graphic x="150" y="0"&gt;
                &lt;s:BitmapImage id="bg2" source="@Embed('assets/Icon12x12.gif')" width="60" height="60" fillMode="scale"/&gt;
            &lt;/s:Graphic&gt;

            &lt;!-- Repeated image to fit specified dimensions. --&gt;
            &lt;s:Graphic x="300" y="0"&gt;
                &lt;s:BitmapImage id="bg3" source="@Embed('assets/Icon12x12.gif')" width="120" height="120" fillMode="repeat"/&gt;
            &lt;/s:Graphic&gt;
        &lt;/s:Group&gt;
    &lt;/s:Panel&gt;

&lt;/s:Application&gt;
</pre></div><script language="javascript" type="text/javascript"><!-- AC_FL_RunContent( "src", "examples/BitmapImageExample", "width", "100%",
					"height","400px", "salign", "TL", "id", "example1", "quality", "high", "bgcolor", "", "name",
						"example1", "flashvars","", "allowScriptAccess","sameDomain", "type",
					"application/x-shockwave-flash","pluginspage", "http://www.macromedia.com/go/getflashplayer" ); --></script></div><br/><br/><hr><br/><p></p><center class="copyright"><footer>The Apache Software Foundation</footer><br/>Wed Nov 15 2017, 09:50 AM +01:00  </center></div></body></html><!--The Apache Software Foundation<br/>Wed Nov 15 2017, 09:50 AM +01:00  -->