{ "type": "class",
  "qname": "mx.charts.chartClasses.CartesianDataCanvas",
  "baseClassname": "mx.charts.chartClasses.ChartElement"
  ,
    "description": "This class lets you use add graphical elements such as lines, ellipses, and other shapes by using a graphics API. The values that you pass to the graphics API are in data coordinates rather than screen coordinates. You can also add any DisplaObject to the canvas, in the same way that you add children to containers.  <p>The drawing region for the canvas is determined by the <code>verticalAxis</code> and <code>horizontalAxis</code>, if they are specified. Otherwise, the canvas uses the default axes of the chart to compute the drawing region.</p>  <p>The data coordinates passed as parameters to the drawing APIs can be actual values of the data coordinate or an object of type <code>CartesianCanvasValue</code>, which can hold a data coordinate value and an offset, in pixels.</p>   <p>The <code>&lt;mx:CartesianDataCanvas&gt;</code> tag inherits all the properties of its parent classes and adds the following properties:</p>  <pre>\\n &lt;mx:CartesianDataCanvas\\n <strong>Properties</strong>\\n dataChildren=&quot;<i>No default</i>&quot;\\n horizontalAxis=&quot;<i>No default</i>&quot;\\n includeInRanges=&quot;<i>false</i>&quot;\\n verticalAxis=&quot;<i>No default</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "mxml",
         "values": []},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.charts.chartClasses.CartesianDataCanvas",
        "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": "accessor",
        "access": "read-write",
        "return": "mx.charts.chartClasses.DataTransform",
        "qname": "dataTransform",
        "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": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "dataChildren",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An array of child objects.",
        "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.charts.chartClasses.IAxis",
        "qname": "horizontalAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Defines the labels, tick marks, and data position for items on the x-axis. Use either the LinearAxis class or the CategoryAxis class to set the properties of the horizontal axis as a child tag in MXML or create a LinearAxis or CategoryAxis object in ActionScript.",
        "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": "Boolean",
        "qname": "includeInRanges",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code>, the computed range of the chart is affected by this canvas.",
        "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.charts.chartClasses.IAxis",
        "qname": "verticalAxis",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Defines the labels, tick marks, and data position for items on the y-axis. Use either the LinearAxis class or the CategoryAxis class to set the properties of the vertical axis as a child tag in MXML or create a LinearAxis or CategoryAxis object in ActionScript.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "addChild",
        "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": "mx.core.IUIComponent",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"}]}
      ,
      { "type": "method",
        "qname": "addChildAt",
        "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": "mx.core.IUIComponent",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"},
        { "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "commitProperties",
        "namespace": "protected",
        "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": []}
      ,
      { "type": "method",
        "qname": "removeChild",
        "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": "mx.core.IUIComponent",
          "params": [{ "name": "child", "type": "mx.core.IUIComponent"}]}
      ,
      { "type": "method",
        "qname": "removeChildAt",
        "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": "mx.core.IUIComponent",
          "params": [{ "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "updateDisplayList",
        "namespace": "protected",
        "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": "unscaledWidth", "type": "Number"},
        { "name": "unscaledHeight", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "invalidateDisplayList",
        "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": []}
      ,
      { "type": "method",
        "qname": "dataToLocal",
        "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": "org.apache.royale.geom.Point",
          "params": [{ "name": "dataValues", "type": "Array"}]}
      ,
      { "type": "method",
        "qname": "localToData",
        "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": "Array",
          "params": [{ "name": "v", "type": "org.apache.royale.geom.Point"}]}
      ,
      { "type": "method",
        "qname": "describeData",
        "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": "Array",
          "params": [{ "name": "dimension", "type": "String"},
        { "name": "requiredFields", "type": "uint"}]}
      ,
      { "type": "method",
        "qname": "dataChildChangeHandler",
        "namespace": "mx_internal",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "addDataChild",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Adds the specified display object as a child to the current canvas.",
        "tags": [
        {  "tagName": "param",
               "values": ["child     The display object that is to be added as a child to current canvas.", "left      Left x-coordinate of the <code>child</code> in data coordinates.", "top       Top y-coordinate of the <code>child</code> in data coordinates.", "right     Right x-coordinate of the <code>child</code> in data coordinates.", "bottom    Bottom y-coordinate of the <code>child</code> in data coordinates.", "hCenter   Middle x-coordinate of the <code>child</code> in data coordinates.", "vCenter   Middle y-coordinate of the <code>child</code> in data coordinates."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "child", "type": "mx.core.UIComponent"},
        { "name": "left", "type": "*"},
        { "name": "top", "type": "*"},
        { "name": "right", "type": "*"},
        { "name": "bottom", "type": "*"},
        { "name": "hCenter", "type": "*"},
        { "name": "vCenter", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "removeAllChildren",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes all data children (DisplayObject instances) of the canvas.",
        "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": "updateDataChild",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Updates the position of any child to current canvas.   <p>For example: <pre>\\n var lbl:Label = new Label();\\n lbl.text = &quot;Last Month&quot;;\\n canvas.addChild(lbl);\\n canvas.updateDataChild(lbl,&quot;Feb&quot;,200);\\n </pre> </p>",
        "tags": [
        {  "tagName": "param",
               "values": ["child     The display object that is to be updated.", "left      Left x coordinate of the child, in data coordinates.", "top       Top y coordinate of the child, in data coordinates.", "right     Right x coordinate of the child, in data coordinates.", "bottom    Bottom y coordinate of the child, in data coordinates.", "hCenter   Middle x coordinate of the child, in data coordinates.", "vCenter   Middle y coordinate of the child, in data coordinates."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "child", "type": "mx.core.UIComponent"},
        { "name": "left", "type": "*"},
        { "name": "top", "type": "*"},
        { "name": "right", "type": "*"},
        { "name": "bottom", "type": "*"},
        { "name": "hCenter", "type": "*"},
        { "name": "vCenter", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "clear",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["flash.display.Graphics#clear()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "beginFill",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "<i>Note: With the exception of the <code>beginGradientFill()</code> and <code>beginShaderFill()</code> methods, the following information from the <code>flash.display.Graphics</code> class's <code>beginFill()</code> method applies to this method:</i>",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["flash.display.Graphics#beginFill()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "color", "type": "uint"},
        { "name": "alpha", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "curveTo",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a curve using the current line style from the current drawing position to (anchorX, anchorY) and using the control point that (controlX, controlY) specifies. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.  <p>The usage and parameters of this method are identical to the <code>curveTo()</code> method of the flash.display.Graphics class.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#curveTo()"]},
            {  "tagName": "param",
               "values": ["controlX The x coordinate of the control point.", "controlY The y coordinate of the control point.", "anchorX The x coordinate of the anchor point.", "anchorY The y coordinate of the anchor point."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "controlX", "type": "*"},
        { "name": "controlY", "type": "*"},
        { "name": "anchorX", "type": "*"},
        { "name": "anchorY", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "drawCircle",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a circle. Set the line style, fill, or both before you call the <code>drawCircle()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics"]},
            {  "tagName": "param",
               "values": ["x The x location of the center of the circle (in pixels).", "y The y location of the center of the circle (in pixels).", "radius The radius of the circle (in pixels)."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "x", "type": "*"},
        { "name": "y", "type": "*"},
        { "name": "radius", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "drawEllipse",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws an ellipse. Set the line style, fill, or both before you call the <code>drawEllipse()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#drawEllipse()"]},
            {  "tagName": "param",
               "values": ["left The x location of the top-left corner of the bounding-box of the ellipse.", "top The y location of the top-left corner of the bounding-box of the ellipse.", "right The x location of the bottom-right corner of the bounding-box of the ellipse.", "bottom The y location of the bottom-right corner of the bounding-box of the ellipse."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "left", "type": "*"},
        { "name": "top", "type": "*"},
        { "name": "right", "type": "*"},
        { "name": "bottom", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "drawRect",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a rectangle. Set the line style, fill, or both before you call the <code>drawRect()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#drawRect()"]},
            {  "tagName": "param",
               "values": ["left The x location of the top-left corner of the rectangle.", "top The y location of the top-left corner of the rectangle.", "right The x location of the bottom-right corner of the rectangle.", "bottom The y location of the bottom-right corner of the rectangle."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "left", "type": "*"},
        { "name": "top", "type": "*"},
        { "name": "right", "type": "*"},
        { "name": "bottom", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "drawRoundedRect",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a rounded rectangle. Set the line style, fill, or both before you call the <code>drawRoundRect()</code> method, by calling the <code>linestyle()</code>, <code>lineGradientStyle()</code>, <code>beginFill()</code>, <code>beginGradientFill()</code>, or <code>beginBitmapFill()</code> method. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#drawRoundRect()"]},
            {  "tagName": "param",
               "values": ["left The x location of the top-left corner of the rectangle.", "top The y location of the top-left corner of the rectangle.", "right The x location of the bottom-right corner of the rectangle.", "bottom The y location of the bottom-right corner of the rectangle.", "cornerRadius The radius of the corners, in pixels."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "left", "type": "*"},
        { "name": "top", "type": "*"},
        { "name": "right", "type": "*"},
        { "name": "bottom", "type": "*"},
        { "name": "cornerRadius", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "endFill",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "<i>Note: With the exception of the <code>beginGradientFill()</code> method, the following information from the <code>flash.display.Graphics</code> class's <code>endFill()</code> applies to this method:</i>",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["flash.display.Graphics#endFill()"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "lineStyle",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies a line style that Flash uses for subsequent calls to other Graphics methods (such as <code>lineTo()</code> or <code>drawCircle()</code>) for the object.  <p>The usage and parameters of this method are identical to the <code>lineStyle()</code> method of the flash.display.Graphics class.</p>  If a number is not specified, or if the parameter is undefined, a line is not drawn. If a value of less than 0 is passed, the default is 0. The value 0 indicates hairline thickness; the maximum thickness is 255. If a value greater than 255 is passed, the default is 255.  If a value is not indicated, the default is 0x000000 (black).  If a value is not indicated, the default is 1 (solid). If the value is less than 0, the default is 0. If the value is greater than 1, the default is 1.  This affects both the position of anchors of a curve and the line stroke size itself. With <code>pixelHinting</code> set to true, line widths are adjusted to full pixel widths. With <code>pixelHinting</code> set to false, disjoints can appear for curves and straight lines.   <ul> <li><code>LineScaleMode.NORMAL</code>: Always scale the line thickness when the object is scaled (the default).</li> <li><code>LineScaleMode.NONE</code>: Never scale the line thickness.</li> <li><code>LineScaleMode.VERTICAL</code>: Do not scale the line thickness if the object is scaled vertically only. </li> <li><code>LineScaleMode.HORIZONTAL</code>: Do not scale the line thickness if the object is scaled horizontally only. </li> </ul>  caps at the end of lines. Valid values are: <code>CapsStyle.NONE</code>, <code>CapsStyle.ROUND</code>, and <code>CapsStyle.SQUARE</code>. If a value is not indicated, use round caps.  joint appearance used at angles. Valid values are: <code>JointStyle.BEVEL</code>, <code>JointStyle.MITER</code>, and <code>JointStyle.ROUND</code>. If a value is not indicated, use round joints.  Valid values range from 1 to 255 (and values outside that range are rounded to 1 or 255). This value is only used if the jointStyle is set to &quot;miter&quot;. The <code>miterLimit</code> value represents the length that a miter can extend beyond the point at which the lines meet to form a joint. The value expresses a factor of the line thickness. For example, with a <code>miterLimit</code> factor of 2.5 and a thickness of 10 pixels, the miter is cut off at 25 pixels.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#lineStyle()"]},
            {  "tagName": "param",
               "values": ["thickness An integer that indicates the thickness of the line in points; valid values are 0-255.", "color A hexadecimal color value of the line; for example, red is 0xFF0000, blue is 0x0000FF, and so on.", "alpha A number that indicates the alpha value of the color of the line; valid values are 0 to 1.", "pixelHinting A Boolean value that specifies whether to hint strokes to full pixels.", "scaleMode A value from the flash.display.LineScaleMode class that specifies which scale mode to use:", "caps A value from the flash.display.CapsStyle class that specifies the type of", "joints A value from the flash.display.JointStyle class that specifies the type of", "miterLimit A number that indicates the limit at which a miter is cut off."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "thickness", "type": "Number"},
        { "name": "color", "type": "uint"},
        { "name": "alpha", "type": "Number"},
        { "name": "pixelHinting", "type": "Boolean"},
        { "name": "scaleMode", "type": "String"},
        { "name": "caps", "type": "String"},
        { "name": "joints", "type": "String"},
        { "name": "miterLimit", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "lineTo",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Draws a line using the current line style from the current drawing position to (x, y); the current drawing position is then set to (x, y). If the display object in which you are drawing contains content that was created with the Flash drawing tools, calls to the <code>lineTo()</code> method are drawn underneath the content. If you call <code>lineTo()</code> before any calls to the moveTo() method, the default position for the current drawing is (0, 0). If any of the parameters are missing, this method fails and the current drawing position is not changed. Coordinates are in terms of data rather than screen coordinates. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#lineTo()"]},
            {  "tagName": "param",
               "values": ["x The x coordinate of the drawing position.", "y The y coordinate of the drawing position."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "x", "type": "*"},
        { "name": "y", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "moveTo",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Moves the current drawing position to (x, y). If any of the parameters are missing, this method fails and the current drawing position is not changed. The coordinates that you pass to this method are in terms of chart data rather than screen coordinates.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Graphics#moveTo()"]},
            {  "tagName": "param",
               "values": ["x The x coordinate of the drawing position.", "y The y coordinate of the drawing position."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "x", "type": "*"},
        { "name": "y", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "validateTransform",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Calls the <code>updateTransform()</code> method of the canvas, if necessary. This method is called automatically by the canvas during the <code>commitProperties()</code> method, as necessary, but a derived canvas might call it explicitly if the generated values are needed at an explicit time. Filtering and transforming of data relies on specific values being calculated by the axes, which can in turn depend on the data that is displayed in the chart. Calling this function at the wrong time might result in extra work being done, if those values are updated.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["Returns <code>true</code> if <code>updateTransform()</code> was called. Otherwise, <code>false</code>."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": []}
      ,
      { "type": "method",
        "qname": "validateData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Calls the <code>updateMapping()</code> and <code>updateFilter()</code> methods of the canvas, if necessary. This method is called automatically by the canvas from the <code>commitProperties()</code> method, as necessary, but a derived canvas might call it explicitly if the generated values are needed at an explicit time. Loading and mapping data against the axes is designed to be acceptable by the axes at any time. It is safe this method explicitly at any point.",
        "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": "updateFilter",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called when the underlying data the canvas represents needs to be filtered against the ranges represented by the axes of the associated data transform. This can happen either because the underlying data has changed or because the range of the associated axes has changed. If you implement a custom canvas type, you should override this method and filter out any outlying data using the <code>filterCache()</code> method of the axes managed by its associated data transform. The <code>filterCache()</code> method converts any values that are out of range to <code>NaN</code>. You must be sure to call the <code>super.updateFilter()</code> method in your subclass. You should not generally call this method directly. Instead, if you need to guarantee that your data has been filtered at a given point, call the <code>validateTransform()</code> method of the CartesianDataCanvas class. You can generally assume that your <code>updateData()</code> and <code>updateMapping()</code> methods have been called prior to this method, if 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": "stripNaNs",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes any item from the provided cache whose <code>field</code> property is <code>NaN</code>. Derived classes can call this method from their updateFilter() implementation to remove any ChartItems filtered out by the axes.",
        "tags": [
        {  "tagName": "param",
               "values": ["cache An array of objects.", "field The <code>field</code> property test against."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "cache", "type": "Array"},
        { "name": "field", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "invalidateData",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Informs the canvas that the underlying data in the data provider has changed. This method triggers calls to the <code>updateMapping()</code> and <code>updateTransform()</code> methods on the next call to the <code>commitProperties()</code> method.",
        "tags": [
        {  "tagName": "param",
               "values": ["invalid <code>true</code> if the data provider's data has changed."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "invalid", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "mappingChanged",
        "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": []}
      ]
  }









