{ "type": "class",
  "qname": "org.apache.royale.textLayout.events.CompositionCompleteEvent",
  "baseClassname": "org.apache.royale.events.Event"
  ,
    "description": "A ITextFlow instance dispatches this event after a compose operation completes. Each text container has two states: composition and display. This event notifies you when the composition phase has ended. This provides an opportunity to make any necessary and appropriate changes to the container before you display the text. For example, you can use this event to add highlighting of certain words or characters in the text flow before the text is displayed.  <p>The three main methods that dispatch this event are <code>compose()</code>, <code>updateToController()</code>, and <code>updateAllControllers()</code>. All three of these methods are in the StandardFlowComposer class.</p>  <p><strong>Note: </strong>If the event is dispatched by the <code>updateAllControllers()</code> method, do not call <code>updateAllControllers()</code> again in your event handler function. Such a call would be a recursive call because the <code>updateAllControllers()</code> method executes both the composition and display steps. The <code>updateAllControllers()</code> dispatches this event after composition completes, but before the display step executes. The same reasoning applies to the <code>updateToController()</code> method. </p>",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.textLayout.elements.ITextFlow"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "COMPOSITION_COMPLETE",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>compositionComplete</code> event object",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "org.apache.royale.textLayout.events.CompositionCompleteEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor This event cannot be cancelled.",
        "tags": [
        {  "tagName": "param",
               "values": ["type event type - use the static property COMPOSITION_COMPLETE.", "bubbles Indicates whether an event is a bubbling event. This event does not bubble.", "cancelable Indicates whether the behavior associated with the event can be prevented.", "textFlow The ITextFlow which was composed", "compositionStart start of composition, in terms of an index into the text flow.", "compositionLength length number of characters composed"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "type", "type": "String"},
        { "name": "bubbles", "type": "Boolean"},
        { "name": "cancelable", "type": "Boolean"},
        { "name": "textFlow", "type": "org.apache.royale.textLayout.elements.ITextFlow"},
        { "name": "compositionStart", "type": "int"},
        { "name": "compositionLength", "type": "int"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "compositionStart",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The start location of the text range affected by the composition, expressed as an index into the text flow.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "compositionLength",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The number of characters composed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.elements.ITextFlow",
        "qname": "textFlow",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "ITextFlow on which composition has been completed.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
