{ "type": "class",
  "qname": "spark.components.Group",
  "baseClassname": "spark.components.supportClasses.GroupBase"
  ,
    "description": "The Group class is the base container class for visual elements. The Group container takes as children any components that implement the IUIComponent interface, and any components that implement the IGraphicElement interface. Use this container when you want to manage visual children, both visual components and graphical components.  <p>To improve performance and minimize application size, the Group container cannot be skinned. If you want to apply a skin, use the SkinnableContainer instead.</p>  <p><b>Note:</b> The scale grid might not function correctly when there are DisplayObject children inside of the Group, such as a component or another Group.  If the children are GraphicElement objects, and they all share the Group's DisplayObject, then the scale grid works properly.</p>  <p>Setting any of the following properties on a GraphicElement child requires that GraphicElement to create its own DisplayObject, thus negating the scale grid properties on the Group.</p>  <pre>\\n alpha\\n blendMode other than BlendMode.NORMAL or &quot;auto&quot;\\n colorTransform\\n filters\\n mask\\n matrix\\n rotation\\n scaling\\n 3D properties\\n bounds outside the extent of the Group\\n </pre>  <p>The Group container has the following default characteristics:</p> <table class=&quot;innertable&quot;> <tr><th>Characteristic</th><th>Description</th></tr> <tr><td>Default size</td><td>Large enough to display its children</td></tr> <tr><td>Minimum size</td><td>0 pixels</td></tr> <tr><td>Maximum size</td><td>10000 pixels wide and 10000 pixels high</td></tr> </table>   <p>The <code>&lt;s:Group&gt;</code> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;s:Group\\n <strong>Properties</strong>\\n blendMode=&quot;auto&quot;\\n mxmlContent=&quot;null&quot;\\n scaleGridBottom=&quot;null&quot;\\n scaleGridLeft=&quot;null&quot;\\n scaleGridRight=&quot;null&quot;\\n scaleGridTop=&quot;null&quot;\\n \\n <strong>Events</strong>\\n elementAdd=&quot;<i>No default</i>&quot;\\n elementRemove=&quot;<i>No default</i>&quot;\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "includeExample",
         "values": ["examples/GroupExample.mxml"]},
      {  "tagName": "see",
         "values": ["spark.components.DataGroup", "spark.components.SkinnableContainer"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "productversion",
         "values": ["Flex 4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "spark.components.Group",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "width",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["String", "String"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "height",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["String", "String"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "alpha",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "blendMode",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A value from the BlendMode class that specifies which blend mode to use. A bitmap can be drawn internally in two ways. If you have a blend mode enabled or an external clipping mask, the bitmap is drawn by adding a bitmap-filled square shape to the vector render. If you attempt to set this property to an invalid value, Flash Player or Adobe AIR sets the value to <code>BlendMode.NORMAL</code>.  <p>A value of &quot;auto&quot; (the default) is specific to Group's use of blendMode and indicates that the underlying blendMode should be <code>BlendMode.NORMAL</code> except when <code>alpha</code> is not equal to either 0 or 1, when it is set to <code>BlendMode.LAYER</code>. This behavior ensures that groups have correct compositing of their graphic objects when the group is translucent.</p>",
        "tags": [
        {  "tagName": "default",
               "values": [""auto""]},
            {  "tagName": "see",
               "values": ["flash.display.DisplayObject#blendMode", "flash.display.BlendMode"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Flex 4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
