{ "type": "class",
  "qname": "mx.charts.LegendItem",
  "baseClassname": "mx.core.UIComponent"
  ,
    "description": "Controls the individual legend elements in a chart legend.   <p>The <code>&lt;mx:LegendItem&gt;</code> tag inherits all the properties of its parent classes and adds the following properties:</p>  <pre>\\n &lt;mx:LegendItem\\n <strong>Properties</strong>\\n element=&quot;<i>No default</i>&quot;\\n label=&quot;<i>No default</i>&quot;\\n source=&quot;<i>No default</i>&quot;\\n legendData=&quot;<i>No default</i>&quot;\\n marker=&quot;<i>No default</i>&quot;\\n markerAspectRatio=&quot;<i>No default</i>&quot;\\n \\n <strong>Styles</strong>\\n fill=&quot;<i>IFill; no default.</i>&quot;\\n fontWeight=&quot;normal|bold&quot;\\n fontSize=&quot;10&quot;\\n horizontalGap=&quot;8&quot;\\n labelPlacement=&quot;right|left|top|bottom&quot;\\n legendMarkerRenderer=&quot;<i>Defaults to series's itemRenderer</i>&quot;\\n markerHeight=&quot;15&quot;\\n markerWidth=&quot;10&quot;\\n paddingLeft=&quot;0&quot;\\n paddingRight=&quot;0&quot;\\n stroke=&quot;<i>IStroke; no default</i>&quot;\\n textDecoration=&quot;underline|none&quot;\\n verticalGap=&quot;6&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.charts.Legend", "mx.charts.chartClasses.LegendData"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]},
      {  "tagName": "royalesuppresspublicvarwarning",
         "values": []}  ],
  "members": [
  { "type": "method",
        "qname": "mx.charts.LegendItem",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "field",
        "qname": "chartElement",
        "return": "mx.charts.chartClasses.IChartElement",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The chart element that is responsible for generating this legend item. When a Legend control's contents are automatically generated by a chart, this field refers to the element (usually a series) that this item represents. In some cases, multiple items refer to the same element.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "label",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the text that Flex displays alongside the legend element.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "write-only",
        "return": "Object",
        "qname": "legendData",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The LegendData instance that this LegendItem object represents. When a chart generates the contents of a Legend control, the elements of the chart generate one or more LegendData structures for display in the Legend. Each LegendData structure generates one LegendItem object.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFlexDisplayObject",
        "qname": "marker",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The marker displayed by this legend item. Markers are typically assigned by the chart element that generated the LegendData associated with this item.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "markerAspectRatio",
        "return": "Number",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The aspect ratio for the marker associated with this legend item. Some markers provided by chart series are intended for display at a particular aspect ratio. If this property is set, the legend item guarantees the aspect ratio of the marker during layout.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "source",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Contains a reference to the data series that the LegendItem was generated from if you bind the <code>dataProvider</code> property of the parent Legend control to a chart control. Otherwise, this property contains a reference to the object associated with the LegendItem.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "mx.core.IFlexModuleFactory",
        "qname": "moduleFactory",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "addedToParent",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "setActualSize",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "inheritDoc",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "w", "type": "Number"},
        { "name": "h", "type": "Number"}]}
      ]
  }
