{ "type": "class",
  "qname": "mx.containers.utilityClasses.Flex",
  "baseClassname": ""
  ,
    "description": "The Flex class is for internal use only.",
  "tags": [
  {  "tagName": "private",
         "values": []}  ],
  "members": [
  { "type": "method",
        "qname": "flexChildWidthsProportionally",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "This function sets the width of each child so that the widths add up to spaceForChildren. Each child is set to its preferred width if its percentWidth is zero. If it's percentWidth is a positive number the child grows depending on the size of its parent The height of each child is set to its preferred height. The return value is any extra space that's left over after growing all children to their maxWidth.   distributed across all the children.   after growing all children to their maxWidth.",
        "tags": [
        {  "tagName": "param",
               "values": ["parent The parent container of the children.", "spaceForChildren The space that is to be", "h height for all children."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["Any extra space that's left over"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "parent", "type": "org.apache.royale.core.ILayoutView"},
        { "name": "spaceForChildren", "type": "Number"},
        { "name": "h", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "flexChildHeightsProportionally",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "This function sets the height of each child so that the heights add up to spaceForChildren. Each child is set to its preferred height if its percentHeight is zero. If its percentHeight is a positive number, the child grows (or shrinks) to consume its share of extra space. The width of each child is set to its preferred width. The return value is any extra space that's left over after growing all children to their maxHeight.   distributed across all children .",
        "tags": [
        {  "tagName": "param",
               "values": ["parent The parent container of the children.", "spaceForChildren The space that is to be", "w width for all children."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "parent", "type": "org.apache.royale.core.ILayoutView"},
        { "name": "spaceForChildren", "type": "Number"},
        { "name": "w", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "flexChildrenProportionally",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "This function distributes excess space among the flexible children. It does so with a view to keep the children's overall size close the ratios specified by their percent.   among the flexible children.  is called, each object should define the following properties: - percent: the percentWidth or percentHeight of the child (depending on whether we're growing in a horizontal or vertical direction) - min: the minimum width (or height) for that child - max: the maximum width (or height) for that child  will be defined for each child object. The size property contains the portion of the spaceToDistribute to be distributed to the child. Ideally, the sum of all size properties is spaceToDistribute. If all the children hit their minWidth/maxWidth/minHeight/maxHeight before the space was distributed, then the remaining unused space is returned. Otherwise, the return value is zero.",
        "tags": [
        {  "tagName": "param",
               "values": ["spaceForChildren The total space for all children", "spaceToDistribute The space that needs to be distributed", "childInfoArray An array of Objects. When this function"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["When this function finishes executing, a "size" property"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "spaceForChildren", "type": "Number"},
        { "name": "spaceToDistribute", "type": "Number"},
        { "name": "totalPercent", "type": "Number"},
        { "name": "childInfoArray", "type": "Array"}]}
      ,
      { "type": "method",
        "qname": "distributeExtraHeight",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "This function distributes excess space among the flexible children because of rounding errors where we want to keep children's dimensions full pixel amounts.  This only distributes the extra space if there was some rounding down and there are still flexible children.",
        "tags": [
        {  "tagName": "param",
               "values": ["parent The parent container of the children.", "spaceForChildren The total space for all children"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "parent", "type": "org.apache.royale.core.ILayoutView"},
        { "name": "spaceForChildren", "type": "Number"}]}
      ,
      { "type": "method",
        "qname": "distributeExtraWidth",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "This function distributes excess space among the flexible children because of rounding errors where we want to keep children's dimensions full pixel amounts.  This only distributes the extra space if there was some rounding down and there are still flexible children.",
        "tags": [
        {  "tagName": "param",
               "values": ["parent The parent container of the children.", "spaceForChildren The total space for all children"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "parent", "type": "org.apache.royale.core.ILayoutView"},
        { "name": "spaceForChildren", "type": "Number"}]}
      ]
  }
