{ "type": "class",
  "qname": "spark.primitives.BitmapImage",
  "baseClassname": "org.apache.royale.events.EventDispatcher"
  ,
    "description": "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.",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/BitmapImageExample.mxml"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 2.0"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "spark.primitives.BitmapImage",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "source",
        "namespace": "public",
        "bindable": ["sourceChanged"],
        "details": [],
        "deprecated": {},
          "description": "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 &#64;Embed directive, as the following example shows: <pre>\\n source=&quot;&#64;Embed('&lt;i&gt;image_location&lt;/i&gt;')&quot;\\n </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>",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Bitmap", "flash.display.BitmapData", "mx.graphics.BitmapFill"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "height",
        "namespace": "public",
        "bindable": ["propertyChange"],
        "details": [],
        "deprecated": {},
          "description": "The height of the graphic element.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "royalesuppresspublicvarwarning",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "width",
        "namespace": "public",
        "bindable": ["propertyChange"],
        "details": [],
        "deprecated": {},
          "description": "The width of the graphic element.",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "royalesuppresspublicvarwarning",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
