{ "type": "class",
  "qname": "mx.core.EdgeMetrics",
  "baseClassname": ""
  ,
    "description": "The EdgeMetrics class specifies the thickness, in pixels, of the four edge regions around a visual component.  <p>The following Flex properties have values that are EdgeMetrics objects:</p>  <ul> <li>The <code>borderMetrics</code> property of the mx.core.Container and mx.skins.Border classes includes only the border in the calculations of the property values of the EdgeMetrics object.</li>  <li>The <code>viewMetrics</code> property of the mx.core.Container class, and of subclasses of the Container class, includes possible scrollbars and non-content elements -- such as a Panel container's header area and the area for a ControlBar component -- in the calculations of the  property values of the EdgeMetrics object.</li>  <li>The <code>viewMetricsAndPadding</code> property of the mx.core.Container class includes the items listed for the <code>viewMetrics</code> property, plus the any areas defined by the margins of the container in the calculations of the property values of the EdgeMetrics object.</li> </ul>  <p>These three properites all return a reference to the same EdgeMetrics object that the Container is using for its measurement and layout; they do not return a copy of this object. If you need a copy, call the <code>clone()</code> method.</p>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.core.Container", "mx.skins.Border", "mx.containers.Panel"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "EMPTY",
        "return": "mx.core.EdgeMetrics",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "An EdgeMetrics object with a value of zero for its <code>left</code>, <code>top</code>, <code>right</code>, and <code>bottom</code> properties.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "mx.core.EdgeMetrics",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "param",
               "values": ["left The width, in pixels, of the left edge region.", "top The height, in pixels, of the top edge region.", "right The width, in pixels, of the right edge region.", "bottom The height, in pixels, of the bottom edge region."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "left", "type": "Number"},
        { "name": "top", "type": "Number"},
        { "name": "right", "type": "Number"},
        { "name": "bottom", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "convertFromRectangle",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "rect", "type": "org.apache.royale.geom.Rectangle"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "bottom",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "left",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "right",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "top",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "clone",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns a copy of this EdgeMetrics object.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["A copy of this EdgeMetrics object."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.core.EdgeMetrics",
          "params": []}
      ]
  }
