{ "type": "class",
  "qname": "org.apache.royale.textLayout.container.ContainerController",
  "baseClassname": "org.apache.royale.textLayout.formats.TextLayoutFormatBase"
  ,
    "description": "The ContainerController class defines the relationship between a TextFlow object and a container. A TextFlow may have one or more rectangular areas that can hold text; the text is said to be flowing through the containers. Each container is a Sprite that is the parent DisplayObject for the TextLines. Each container has a ContainerController that manages the container; the controller holds the target width and height for the text area, populates the container with TextLines, and handles scrolling. A controller also has a format associated with it that allows some formatting attributes to be applied to the text in the container. This allows, for instance, a TextFlow to have one container where the text appears in a single column, and a second container in the same TextFlow with two column text. Not all formatting attributes that can be applied to the container will affect the text; only the ones that affect container-level layout. The diagram below illustrates the relationship between the TextFlow, its flowComposer, and the display list.  <p><img src=&quot;../../../images/textLayout_multiController.gif&quot; alt=&quot;IContainerController&quot;></img></p>",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.textLayout.compose.IFlowComposer", "org.apache.royale.textLayout.elements.TextFlow", "org.apache.royale.text.engine.ITextLine"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "_mouseWheelListenerAttached",
        "return": "Boolean",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "allListenersAttached",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.utils.ObjectMap",
        "qname": "interactiveObjects",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "oldInteractiveObjects",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "hasScrollRect",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "<p>This property enables a client to test for a ScrollRect object without accessing the DisplayObject.scrollRect property, which can have side effects in some cases.</p>",
        "tags": [
        {  "tagName": "private",
               "values": []},
            {  "tagName": "return",
               "values": ["true if the controller has attached a ScrollRect instance."]}  ]},
      { "type": "method",
        "qname": "org.apache.royale.textLayout.container.ContainerController",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor - creates a ContainerController instance. The ContainerController has a default <code>compositionWidth</code> and <code>compositionHeight</code> so that some text appears in the container if you don't specify its width height.",
        "tags": [
        {  "tagName": "param",
               "values": ["container The DisplayObjectContainer in which to manage the text lines.", "compositionWidth The initial width for composing text in the container.", "compositionHeight The initial height for composing text in the container."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "container", "type": "org.apache.royale.core.IParentIUIBase"},
        { "name": "compositionWidth", "type": "Number"},
        { "name": "compositionHeight", "type": "Number"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "effectiveBlockProgression",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.compose.IFlowComposer",
        "qname": "flowComposer",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the flow composer object that composes and highlights text into the container that this controller manages.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.compose.IFlowComposer"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "shapesInvalid",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.container.ColumnState",
        "qname": "columnState",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns a ColumnState object, which describes the number and characteristics of columns in the container. These values are updated when the text is recomposed, either as a result of <code>IFlowComposer.compose()</code> or <code>IFlowComposer.updateAllControllers()</code>.",
        "tags": [
        {  "tagName": "see",
               "values": ["ColumnState"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IParentIUIBase",
        "qname": "container",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the container display object that holds the text lines for this ContainerController instance.",
        "tags": [
        {  "tagName": "see",
               "values": ["#ContainerController()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "compositionWidth",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the horizontal extent allowed for text inside the container. The value is specified in pixels.",
        "tags": [
        {  "tagName": "see",
               "values": ["#setCompositionSize()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "compositionHeight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the vertical extent allowed for text inside the container. The value is specified in pixels.",
        "tags": [
        {  "tagName": "see",
               "values": ["#setCompositionSize()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "measureWidth",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "measureHeight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "method",
        "qname": "setCompositionSize",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Sets the width and height allowed for text in the container. Width and height can be specified in pixels or <code>NaN</code> can be used for either value.  <code>NaN</code> indicates measure that value. This can be used to find the widest line and/or the total height of all the content.  When NaN is specified as the width lines are broken with a maximum width of <code>ITextLine.MAX_LINE_WIDTH</code>. When <code>NaN</code> is specified as the height the container is assumed to have unlimited height.  The actual measured values can be read back in <code>getContentBounds</code>. When the computed <code>blockProgression</code> property of <code>TextFlow</code> is <code>BlockProgression.RL</code> the meanings of width and height are exchanged.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.text.engine.ITextLine#MAX_LINE_WIDTH", "org.apache.royale.textLayout.formats.BlockProgression", "#getContentBounds()"]},
            {  "tagName": "param",
               "values": ["w The width in pixels that's available for text in the container.  <code>NaN</code> indicates no specified width.", "h The height in pixels that's available for text in the container.   <code>NaN</code> indicates no specified height."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "w", "type": "Number"},
        { "name": "h", "type": "Number"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.elements.ITextFlow",
        "qname": "textFlow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the TextFlow object whose content appears in the container. Either the <code>textFlow</code> and <code>rootElement</code> values are the same, or this is the root element's TextFlow object. For example, if the container's root element is a DivElement, the value would be the TextFlow object to which the DivElement belongs.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.elements.TextFlow TextFlow"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.elements.IContainerFormattedElement",
        "qname": "rootElement",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the root element that appears in the container. The root element could be a DivElement or TextFlow instance, for example.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.elements.IContainerFormattedElement", "org.apache.royale.textLayout.elements.DivElement", "org.apache.royale.textLayout.elements.TextFlow"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.edit.ISelectionManager",
        "qname": "interactionManager",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.elements.TextFlow#interactionManager"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.textLayout.elements.TextFlow#interactionManager"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "uncomposedTextLength",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "finalParcelStart",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "absoluteStart",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the first character in the container. If this is not the first container in the flow, this value is updated when the text is composed, that is when the IFlowComposer's <code>compose()</code> or <code>updateAllControllers()</code> methods are called.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.compose.IFlowComposer"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "textLength",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the total number of characters in the container. This can include text that is not currently in view, if the container is scrollable. This value is updated when the text is composed (when the IFlowComposer's <code>compose()</code> or <code>updateAllControllers()</code> methods are called).",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.compose.IFlowComposer"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "isDamaged",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Determines whether the container has text that requires composing.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["true if the container requires composing."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "horizontalScrollPolicy",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the horizontal scrolling policy, which you can set by assigning one of the constants of the ScrollPolicy class: ON, OFF, or AUTO.",
        "tags": [
        {  "tagName": "see",
               "values": ["ScrollPolicy"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "verticalScrollPolicy",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the vertical scrolling policy, which you can set by assigning one of the constants of the ScrollPolicy class: ON, OFF, or, AUTO.",
        "tags": [
        {  "tagName": "see",
               "values": ["ScrollPolicy"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "horizontalScrollPosition",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the current horizontal scroll location on the stage. The value specifies the number of pixels from the left.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "verticalScrollPosition",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies the current vertical scroll location on the stage. The value specifies the number of pixels from the top.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "getContentBounds",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the area that the text occupies, as reflected by the last compose or update operation. The width and the height might be estimated, if the container is scrollable and the text exceeds the visible area.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.geom.Rectangle Rectangle"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["describes the area that the text occupies."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.geom.Rectangle",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "contentLeft",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "contentTop",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "contentHeight",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the vertical extent of the text. For horizontal text, it includes space taken for descenders on the last line. If not all the text is composed, this returns an estimated value based on how much text is already composed; the more text that is composed, the more accurate s the estimate. To get a completely accurate value, recompose with the rootElement's flowComposer before accessing contentHeight. You can get the composed bounds of the text by getting the contentLeft, contentTop, contentWidth, contentHeight properties.",
        "tags": [
        {  "tagName": "private",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Number",
        "qname": "contentWidth",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the horizontal extent of the text. For vertical text, it includes space taken for descenders on the last line. If not all the text is composed, this returns an estimated value based on how much text is already composed; the more text that is composed, the more accurate is the estimate. To get a completely accurate value, recompose with the rootElement's flowComposer before accessing contentWidth. You can get the composed bounds of the text by getting the contentLeft, contentTop, contentWidth, contentHeight properties.",
        "tags": [
        {  "tagName": "private",
               "values": []},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "scrollToRange",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Scrolls so that the text range is visible in the container.  either the start or the end of the selection, expressed as an offset from the start of the text flow. the start or the end of the selection.",
        "tags": [
        {  "tagName": "param",
               "values": ["activePosition The end of the selection that is changed when you extend the selection. It can be", "anchorPosition    The stable end of the selection when you extend the selection. It can be either"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "activePosition", "type": "int"},
        { "name": "anchorPosition", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "invalidateContents",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Marks all the text in this container as needing composing.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "attachTransparentBackgroundForHit",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "No mouse clicks or moves will be generated for the container unless it has a background covering its area.  Text Layout Framework wants those events so that clicking on a container will select the text in it.  This code adds or updates (on size change) that background for Sprite containers only. This may cause clients problems - definitely no hits is a problem - add this code to explore the issues - expect feedback.",
          "return": "void",
          "params": [{ "name": "justClear", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "createContextMenu",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates a context menu for the ContainerController. Use the methods of the ContextMenu class to add items to the menu. <p>You can override this method to define a custom context menu.</p>",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.ui.ContextMenu ContextMenu"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.textLayout.dummy.ContextMenu",
          "params": []}
      ,
      { "type": "method",
        "qname": "dispose",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "autoScrollIfNecessary",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Handle a scroll event during a &quot;drag&quot; selection.",
        "tags": [
        {  "tagName": "param",
               "values": ["mouseX The horizontal position of the mouse cursor on the stage.", "mouseY The vertical position of the mouse cursor  on the stage."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "mouseX", "type": "int"},
        { "name": "mouseY", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getScrollDelta",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Figure out the scroll distance required to scroll up or down by the specified number of lines. Negative numbers scroll upward, bringing more of the top of the TextFlow into view. Positive numbers scroll downward, bringing the next line from the bottom into full view.  <p>When scrolling up, for example, the method makes the next line fully visible. If the next line is partially obscured and the number of lines specified is 1, the partially obscured line becomes fully visible.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["nLines The number of lines to scroll."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["the delta amount of space to scroll"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Number",
          "params": [{ "name": "numLines", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "mouseOverHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>MouseEvent.MOUSE_OVER</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_OVER MouseEvent.MOUSE_OVER"]},
            {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "mouseOutHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>MouseEvent.MOUSE_OUT</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_OUT MouseEvent.MOUSE_OUT"]},
            {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "mouseWheelHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>MouseEvent.MOUSE_WHEEL</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_WHEEL MouseEvent.MOUSE_WHEEL"]},
            {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "mouseDownHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>MouseEvent.MOUSE_DOWN</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_DOWN MouseEvent.MOUSE_DOWN"]},
            {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "mouseUpHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>MouseEvent.MOUSE_UP</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_UP MouseEvent.MOUSE_UP"]},
            {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "beginMouseCapture",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called to request clients to begin the forwarding of mouseup and mousemove events from outside a security sandbox.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "endMouseCapture",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Called to inform clients that the the forwarding of mouseup and mousemove events from outside a security sandbox is no longer needed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "mouseUpSomewhere",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Client call to forward a mouseUp event from outside a security sandbox.  Coordinates of the mouse up are not needed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "mouseMoveSomewhere",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Client call to forward a mouseMove event from outside a security sandbox.  Coordinates of the mouse move are not needed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "mouseMoveHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>MouseEvent.MOUSE_MOVE</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#MOUSE_MOVE MouseEvent.MOUSE_MOVE"]},
            {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "mouseDoubleClickHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>MouseEvent.DOUBLE_CLICK</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.MouseEvent#DOUBLE_CLICK MouseEvent.DOUBLE_CLICK"]},
            {  "tagName": "param",
               "values": ["event The MouseEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.MouseEvent"}]}
      ,
      { "type": "method",
        "qname": "focusChangeHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>FocusEvent.KEY_FOCUS_CHANGE</code> and <code>FocusEvent.MOUSE_FOCUS_CHANGE</code> events when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.FocusEvent#KEY_FOCUS_CHANGE FocusEvent.KEY_FOCUS_CHANGE", "org.apache.royale.events.FocusEvent#MOUSE_FOCUS_CHANGE FocusEvent.MOUSE_FOCUS_CHANGE"]},
            {  "tagName": "param",
               "values": ["event The FocusEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IParentIUIBase"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "focusInHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>FocusEvent.FOCUS_IN</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.FocusEvent#FOCUS_IN FocusEvent.FOCUS_IN"]},
            {  "tagName": "param",
               "values": ["event The FocusEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "focusOutHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>FocusEvent.FOCUS_OUT</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.FocusEvent#FOCUS_OUT FocusEvent.FOCUS_OUT"]},
            {  "tagName": "param",
               "values": ["event The FocusEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "activateHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>Event.ACTIVATE</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.Event#ACTIVATE Event.ACTIVATE"]},
            {  "tagName": "param",
               "values": ["event The Event object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "deactivateHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>Event.DEACTIVATE</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.Event#DEACTIVATE Event.DEACTIVATE"]},
            {  "tagName": "param",
               "values": ["event The Event object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "keyDownHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>KeyboardEvent.KEY_DOWN</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.KeyboardEvent#KEY_DOWN KeyboardEvent.KEY_DOWN"]},
            {  "tagName": "param",
               "values": ["The KeyboardEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.KeyboardEvent"}]}
      ,
      { "type": "method",
        "qname": "keyUpHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>Keyboard.KEY_UP</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.KeyboardEvent#KEY_UP KeyboardEvent.KEY_UP"]},
            {  "tagName": "param",
               "values": ["event The KeyboardEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.KeyboardEvent"}]}
      ,
      { "type": "method",
        "qname": "keyFocusChangeHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>FocusEvent.KEY_FOCUS_CHANGE</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.FocusEvent#KEY_FOCUS_CHANGE FocusEvent.KEY_FOCUS_CHANGE"]},
            {  "tagName": "param",
               "values": ["event The FocusEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "textInputHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>TextEvent.TEXT_INPUT</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.TextEvent#TEXT_INPUT TextEvent.TEXT_INPUT"]},
            {  "tagName": "param",
               "values": ["event  The TextEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.text.events.TextEvent"}]}
      ,
      { "type": "method",
        "qname": "softKeyboardActivatingHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.SoftKeyboardEvent#SOFT_KEYBOARD_ACTIVATING SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING"]},
            {  "tagName": "param",
               "values": ["event  The SoftKeyboardEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "imeStartCompositionHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>IMEEvent.IME_START_COMPOSITION</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.IMEEvent.IME_START_COMPOSITION"]},
            {  "tagName": "param",
               "values": ["event  The IMEEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.text.events.IMEEvent"}]}
      ,
      { "type": "method",
        "qname": "menuSelectHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes the <code>ContextMenuEvent.MENU_SELECT</code> event when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.ContextMenuEvent#MENU_SELECT ContextMenuEvent.MENU_SELECT"]},
            {  "tagName": "param",
               "values": ["The ContextMenuEvent object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.textLayout.events.ContextMenuEvent"}]}
      ,
      { "type": "method",
        "qname": "editHandler",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Processes an edit event (CUT, COPY, PASTE, SELECT_ALL) when the client manages events.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.events.Event Event"]},
            {  "tagName": "param",
               "values": ["The Event object."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "event", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "selectRange",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Sets the range of selected text in a component implementing ITextSupport. If either of the arguments is out of bounds the selection should not be changed. Components which wish to support inline IME should call into this method.",
        "tags": [
        {  "tagName": "param",
               "values": ["anchorIndex The zero-based index value of the character at the anchor end of the selection", "activeIndex The zero-based index value of the character at the active end of the selection."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "anchorIndex", "type": "int"},
        { "name": "activeIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "addCellSelections",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Add cell selection shapes to the displaylist.",
          "return": "void",
          "params": [{ "name": "cells", "type": "Array"},
        { "name": "color", "type": "uint"},
        { "name": "tableBlock", "type": "org.apache.royale.textLayout.compose.ITextFlowTableBlock"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "containerControllerInitialFormat",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "attachTransparentBackground",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "method",
        "qname": "updateGraphics",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IParentIUIBase", "org.apache.royale.core.IUIBase"]}  ],
          "return": "void",
          "params": [{ "name": "updateStart", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "getFirstTextLineChildIndex",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Gets the index at which the first text line must appear in its parent. The default implementation of this method, which may be overriden, returns the child index of the first <code>org.apache.royale.text.engine.ITextLine</code> child of <code>container</code> if one exists, and that of the last child of <code>container</code> otherwise.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.text.engine.ITextLine", "#container"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["the index at which the first text line must appear in its parent."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": []}
      ,
      { "type": "method",
        "qname": "addTextLine",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Adds a <code>org.apache.royale.text.engine.ITextLine</code> object as a descendant of <code>container</code>. The default implementation of this method, which may be overriden, adds the object as a direct child of <code>container</code> at the specified index.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.text.engine.ITextLine", "#container"]},
            {  "tagName": "param",
               "values": ["textLine the <code>org.apache.royale.text.engine.ITextLine</code> object to add", "index insertion index of the text line in its parent"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "textLine", "type": "org.apache.royale.text.engine.ITextLine"},
        { "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "removeTextLine",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes a <code>org.apache.royale.text.engine.ITextLine</code> object from its parent. The default implementation of this method, which may be overriden, removes the object from <code>container</code> if it is a direct child of the latter.  This method may be called even if the object is not a descendant of <code>container</code>. Any implementation of this method must ensure that no action is taken in this case.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.text.engine.ITextLine", "#container"]},
            {  "tagName": "param",
               "values": ["textLine the <code>org.apache.royale.text.engine.ITextLine</code> object to remove"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "textLine", "type": "org.apache.royale.text.engine.ITextLine"}]}
      ,
      { "type": "method",
        "qname": "addTableBlock",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Adds a <code>TableBlockContainer</code> object as a descendant of <code>container</code>. The default implementation of this method, which may be overriden, adds the object as a direct child of <code>container</code> at the specified index.",
        "tags": [
        {  "tagName": "see",
               "values": ["#container"]},
            {  "tagName": "param",
               "values": ["textLine the <code>TableBlockContainer</code> object to add", "index insertion index of the text line in its parent"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "block", "type": "org.apache.royale.textLayout.elements.TableBlockContainer"},
        { "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "removeTableBlock",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes a <code>TableBlockContainer</code> object from its parent. The default implementation of this method, which may be overriden, removes the object from <code>container</code> if it is a direct child of the latter.  This method may be called even if the object is not a descendant of <code>container</code>. Any implementation of this method must ensure that no action is taken in this case.",
        "tags": [
        {  "tagName": "see",
               "values": ["#container"]},
            {  "tagName": "param",
               "values": ["textLine the <code>TableBlockContainer</code> object to remove"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "block", "type": "org.apache.royale.textLayout.elements.TableBlockContainer"}]}
      ,
      { "type": "method",
        "qname": "addBackgroundShape",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Adds a <code>flash.display.Shape</code> object on which background shapes (such as background color) are drawn. The default implementation of this method, which may be overriden, adds the object to <code>container</code> just before the first <code>org.apache.royale.text.engine.ITextLine</code> child, if one exists, and after the last exisiting child otherwise.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Shape", "org.apache.royale.text.engine.ITextLine", "#container"]},
            {  "tagName": "param",
               "values": ["shape <code>flash.display.Shape</code> object to add"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "shape", "type": "org.apache.royale.core.IUIBase"}]}
      ,
      { "type": "method",
        "qname": "removeBackgroundShape",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes a <code>flash.display.Shape</code> object on which background shapes (such as background color) are drawn. The default implementation of this method, which may be overriden, removes the object from its <code>parent</code>.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.Shape", "org.apache.royale.text.engine.ITextLine", "#container"]},
            {  "tagName": "param",
               "values": ["shape <code>flash.display.Shape</code> object to remove"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "shape", "type": "org.apache.royale.core.IUIBase"}]}
      ,
      { "type": "method",
        "qname": "addSelectionContainer",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Adds a <code>flash.display.DisplayObjectContainer</code> object to which selection shapes (such as block selection highlight, cursor etc.) are added. The default implementation of this method, which may be overriden, has the following behavior: The object is added just before first <code>org.apache.royale.text.engine.ITextLine</code> child of <code>container</code> if one exists and the object is opaque and has normal blend mode. In all other cases, it is added as the last child of <code>container</code>.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.DisplayObjectContainer", "org.apache.royale.text.engine.ITextLine", "#container"]},
            {  "tagName": "param",
               "values": ["selectionContainer <code>flash.display.DisplayObjectContainer</code> object to add"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "selectionContainer", "type": "org.apache.royale.core.IParentIUIBase"}]}
      ,
      { "type": "method",
        "qname": "removeSelectionContainer",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes the <code>flash.display.DisplayObjectContainer</code> object which contains selection shapes (such as block selection highlight, cursor etc.). The default implementation of this method, which may be overriden, removes the object from its parent if one exists.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.DisplayObjectContainer", "#container"]},
            {  "tagName": "param",
               "values": ["selectionContainer <code>flash.display.DisplayObjectContainer</code> object to remove"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "selectionContainer", "type": "org.apache.royale.core.IParentIUIBase"}]}
      ,
      { "type": "method",
        "qname": "addInlineGraphicElement",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Adds a <code>flash.display.DisplayObject</code> object as a descendant of <code>parent</code>. The default implementation of this method, which may be overriden, adds the object as a direct child of <code>parent</code> at the specified index. This is called to add InlineGraphicElements to the ITextLine or container.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.DisplayObjectContainer", "flash.display.DisplayObject", "#container"]},
            {  "tagName": "param",
               "values": ["parent the <code>flash.display.DisplayObjectContainer</code> object to add the inlineGraphicElement to", "inlineGraphicElement the <code>flash.display.DisplayObject</code> object to add", "index insertion index of the float in its parent"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "parent", "type": "org.apache.royale.core.IParentIUIBase"},
        { "name": "inlineGraphicElement", "type": "org.apache.royale.core.IUIBase"},
        { "name": "index", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "removeInlineGraphicElement",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Removes a <code>flash.display.DisplayObject</code> object from its parent. The default implementation of this method, which may be overriden, removes the object from <code>container</code> if it is a direct child of the latter.  This method may be called even if the object is not a descendant of <code>parent</code>. Any implementation of this method must ensure that no action is taken in this case.",
        "tags": [
        {  "tagName": "see",
               "values": ["flash.display.DisplayObjectContainer", "flash.display.DisplayObject", "#container"]},
            {  "tagName": "param",
               "values": ["float the <code>flash.display.DisplayObject</code> object to remove"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 2.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "parent", "type": "org.apache.royale.core.IParentIUIBase"},
        { "name": "inlineGraphicElement", "type": "org.apache.royale.core.IUIBase"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "textLines",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "method",
        "qname": "updateVisibleRectangle",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If scrolling, sets the scroll rectangle to the container rectangle so that any lines that are halfway in view are clipped to the scrollable region. If not scrolling, clear the scroll rectangle so that no clipping occurs.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Object",
        "qname": "userStyles",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Allows you to read and write user styles on a ContainerController object.  Note that reading this property makes a copy of the userStyles set in the format of this element.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "coreStyles",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the <code>coreStyles</code> on this ContainerController.  Note that the getter makes a copy of the core styles dictionary. The returned object includes the formats that are defined by TextLayoutFormat and are in TextLayoutFormat.description. The returned object consists of an array of <em>stylename-value</em> pairs.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.formats.TextLayoutFormat"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "Object",
        "qname": "styles",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the styles on this ContainerController.  Note that the getter makes a copy of the styles dictionary. The returned object includes all styles set in the format property including core and user styles. The returned object consists of an array of <em>stylename-value</em> pairs.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.formats.TextLayoutFormat"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "format",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Stores the ITextLayoutFormat object that contains the attributes for this container. The controller inherits the container properties from the TextFlow of which it is part. This property allows different controllers in the same text flow to have, for example, different column settings or padding.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.formats.ITextLayoutFormat"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "getStyle",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Returns the value of the style specified by the <code>styleProp</code> parameter.",
        "tags": [
        {  "tagName": "param",
               "values": ["styleProp The name of the style property whose value you want."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["The current value for the specified style."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "*",
          "params": [{ "name": "styleProp", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "setStyle",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Sets the value of the style specified by the <code>styleProp</code> parameter to the value specified by the <code>newValue</code> parameter.",
        "tags": [
        {  "tagName": "param",
               "values": ["styleProp The name of the style property whose value you want to set.", "newValue The value that you want to assign to the style."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "styleProp", "type": "String"},
        { "name": "newValue", "type": "*"}]}
      ,
      { "type": "method",
        "qname": "clearStyle",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Clears the style specified by <code>styleProp</code> from this FlowElement. Sets the value to <code>undefined</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "styleProp", "type": "String"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "computedFormat",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns an ITextLayoutFormat instance with the attributes applied to this container, including the attributes inherited from its root element.",
        "tags": [
        {  "tagName": "see",
               "values": ["#rootElement"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["object that describes the container's attributes."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "formatForCascade",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "composedLines",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private Return the array. Client code may add lines to the array."},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "numFloats",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private"}]
  }



