{ "type": "interface",
  "qname": "mx.charts.chartClasses.IChartElement",
"baseInterfaceNames": [
"mx.core.IFlexDisplayObject"]
,
    "description": "IChartElement defines the base set of properties and methods required by a UIComponent to be representable in the data space of a chart. Any component assigned to the series, backgroundElements, or annotationElements Arrays of a chart must implement this interface.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "accessor",
    "access": "write-only",
    "return": "Object",
    "qname": "chartDataProvider",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "The data provider assigned to the enclosing chart. Element types can choose to inherit the data provider from the enclosing chart if necessary, or allow developers to assign data providers specifically to the element. Not all elements are necessarily driven by a data provider.",
    "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": "mx.charts.chartClasses.DataTransform",
    "qname": "dataTransform",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "The DataTransform object that the element uses to map between data and screen coordinates. This property is assigned by the enclosing chart.",
    "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": "mx.core.UIComponent",
    "qname": "labelContainer",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "The DisplayObject that displays labels rendered by this element. In most cases, labels displayed in the data area of a chart are rendered on top of all elements rather than interleaved with the  data. If an implementing Element has labels to display, it can place them in a Sprite object and return it as the value of the <code>labelContainer</code> property. Enclosing charts will render labelContainers from  all enclosed elements and place them in the data area above all other elements.",
    "tags": [
    {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ]},
  { "type": "method",
    "qname": "describeData",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Called by the governing DataTransform to obtain a description of the data represented by this IChartElement. Implementors fill out and return an Array of mx.charts.chartClasses.DataDescription objects to guarantee that their data is correctly accounted for by any axes that are autogenerating values from the displayed data (such as minimum, maximum, interval, and unitSize). Most element types return an Array containing a single DataDescription. Aggregate elements, such as BarSet and ColumnSet, might return multiple DataDescription instances that describe the data displayed by their subelements. When called, the implementor describes the data along the axis indicated by the <code>dimension</code> argument. This function might be called for each axis supported by the containing chart.   of the DataDescription object the particular axis cares about. Implementors can optimize by only calculating the necessary fields.  the data that is displayed.",
    "tags": [
    {  "tagName": "see",
           "values": ["mx.charts.chartClasses.DataDescription", "mx.charts.chartClasses.DataTransform"]},
        {  "tagName": "param",
           "values": ["dimension Determines the axis to get data descriptions of.", "requiredFields A bitfield that indicates which values"]},
        {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "return",
           "values": ["An Array containing the DataDescription instances that describe"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "Array",
      "params": [{ "name": "dimension", "type": "String"},
    { "name": "requiredFields", "type": "uint"}]}
  ,
  { "type": "method",
    "qname": "findDataPoints",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Returns a HitData object describing the nearest data point to the coordinates passed to the method. The <code>x</code> and <code>y</code> arguments should be values in the Element's coordinate system. This method aheres to the limits specified by the <code>sensitivity2</code> parameter when looking for nearby data points.    x/y coordinate location can be.  within <code>sensitivity2</code> pixels.",
    "tags": [
    {  "tagName": "see",
           "values": ["mx.charts.HitData"]},
        {  "tagName": "param",
           "values": ["x The x coordinate relative to the ChartBase object.", "y The y coordinate relative to the ChartBase object.", "sensitivity2 The maximum distance from the data point that the"]},
        {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "return",
           "values": ["A HitData object describing the nearest data point"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "Array",
      "params": [{ "name": "x", "type": "Number"},
    { "name": "y", "type": "Number"},
    { "name": "sensitivity2", "type": "Number"}]}
  ,
  { "type": "method",
    "qname": "mappingChanged",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Indicates to the element that the data mapping of the associated axes has changed. Implementors should dispose of cached data and re-render appropriately. This function is called automatically by the associated DataTransform when necessary.",
    "tags": [
    {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "void",
      "params": []}
  ,
  { "type": "method",
    "qname": "chartStateChanged",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Called by the enclosing chart to indicate that the current state of the chart has changed. Implementing elements should respond to this method in order to synchronize changes to the data displayed by the element.",
    "tags": [
    {  "tagName": "param",
           "values": ["oldState An integer representing the previous state.", "v An integer representing the new state."]},
        {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "void",
      "params": [{ "name": "oldState", "type": "uint"},
    { "name": "v", "type": "uint"}]}
  ,
  { "type": "method",
    "qname": "collectTransitions",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Called by the enclosing chart to collect any transitions a particular element might play when the chart changes state. The chart collects transitions from all elements and ensures that they play in parallel. It waits until all transitions have completed before advancing to another state. Implementors should append any necessary transitions to the transitions Array parameter.  the new transitions.  to the chart's list of transitions to play.",
    "tags": [
    {  "tagName": "param",
           "values": ["chartState The state at which the chart plays", "transitions An Array of transition to add"]},
        {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "void",
      "params": [{ "name": "chartState", "type": "Number"},
    { "name": "transitions", "type": "Array"}]}
  ,
  { "type": "method",
    "qname": "claimStyles",
    "namespace": "public",
    "bindable": [],
    "details": [],
    "deprecated": {},
      "description": "Called by the chart to allow associated elements to claim style selectors from its chartSeriesStyles Array. Each chart has an associated set of selectors that are implicitly assigned to contained elements that require them. Implementing this function gives an element a chance to 'claim' elements out of that set, as necessary. An element that requires <i>N</i> style selectors claims the values from <code>styles[firstAvailable]</code> to <code>styles[firstAvailable + <i>N</i> - 1]</code>.    after claiming any styles (for example, <code>firstAvailable</code> + <i>N</i>).",
    "tags": [
    {  "tagName": "param",
           "values": ["styles An Array of styles to claim.", "firstAvailable The first style selector in the Array to claim."]},
        {  "tagName": "playerversion",
           "values": ["Flash 9", "AIR 1.1"]},
        {  "tagName": "productversion",
           "values": ["Flex 3"]},
        {  "tagName": "return",
           "values": ["The new value for <code>firstAvailable</code>"]},
        {  "tagName": "langversion",
           "values": ["3.0"]}  ],
      "return": "uint",
      "params": [{ "name": "styles", "type": "Array"},
    { "name": "firstAvailable", "type": "uint"}]}
  ]
  }
