{ "type": "class",
  "qname": "org.apache.royale.textLayout.elements.ParagraphElement",
  "baseClassname": "org.apache.royale.textLayout.elements.ParagraphFormattedElement"
  ,
    "description": "The ParagraphElement class represents a paragraph in the text flow hierarchy. Its parent is a ParagraphFormattedElement, and its children can include spans (SpanElement), images (inLineGraphicElement), links (LinkElement) and TCY (Tatechuuyoko - ta-tae-chu-yo-ko) elements (TCYElement). The paragraph text is stored in one or more SpanElement objects, which define ranges of text that share the same attributes. A TCYElement object defines a small run of Japanese text that runs perpendicular to the line, as in a horizontal run of text in a vertical line. A TCYElement can also contain multiple spans.",
  "tags": [
  {  "tagName": "see",
         "values": ["InlineGraphicElement", "LinkElement", "SpanElement", "TCYElement", "ITextFlow"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.textLayout.elements.ParagraphElement",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor - represents a paragraph in a text flow.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "className",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "interactiveChildrenCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "getTextBlocks",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "Vector.<org.apache.royale.text.engine.ITextBlock>",
          "params": []}
      ,
      { "type": "method",
        "qname": "getTextBlockAbsoluteStart",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "int",
          "params": [{ "name": "tb", "type": "org.apache.royale.text.engine.ITextBlock"}]}
      ,
      { "type": "method",
        "qname": "getTextBlockStart",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "int",
          "params": [{ "name": "tb", "type": "org.apache.royale.text.engine.ITextBlock"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "abstract",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "defaultTypeName",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "@private"},
      { "type": "method",
        "qname": "removeEmptyTerminator",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "splitAtPosition",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "org.apache.royale.textLayout.elements.IFlowElement",
          "params": [{ "name": "relativePosition", "type": "int"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Array",
        "qname": "mxmlChildren",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Appends an array of children to this object. Uses the <code>replaceChildren()</code> method to append each element in the array. Intended for use during an mxml compiled import.",
        "tags": [
        {  "tagName": "see",
               "values": ["FlowGroupElement#replaceChildren()", "FlowGroupElement#replaceChildren()"]},
            {  "tagName": "param",
               "values": ["array - array of children to attach.  Each element of the array must be a FlowElement object or a String.", "array - array of children to attach.  Each element of the array must be a FlowElement object or a String."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5", "Flash 10", "AIR 1.5"]},
            {  "tagName": "throws",
               "values": ["TypeError if array element is not a FlowElement or String", "TypeError if array element is not a FlowElement or String"]},
            {  "tagName": "langversion",
               "values": ["3.0", "3.0"]}  ]},
      { "type": "method",
        "qname": "getNextParagraph",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the paragraph that follows this one, or null if there are no more paragraphs.",
        "tags": [
        {  "tagName": "see",
               "values": ["#getPreviousParagraph()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.textLayout.elements.ParagraphElement"]},
            {  "tagName": "return",
               "values": ["the next paragraph or null if there are no more paragraphs."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.textLayout.elements.IParagraphElement",
          "params": []}
      ,
      { "type": "method",
        "qname": "getPreviousParagraph",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the paragraph that precedes this one, or null, if this paragraph is the first one in the ITextFlow.",
        "tags": [
        {  "tagName": "see",
               "values": ["#getNextParagraph()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.textLayout.elements.IParagraphElement",
          "params": []}
      ,
      { "type": "method",
        "qname": "findPreviousAtomBoundary",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Scans backward from the supplied position to find the location in the text of the previous atom and returns the index. The term atom refers to both graphic elements and characters (including groups of combining characters), the indivisible entities that make up a text line.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.text.engine.ITextLine"]},
            {  "tagName": "param",
               "values": ["relativePosition  position in the text to start from, counting from 0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["index in the text of the previous cluster"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "relativePosition", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "findNextAtomBoundary",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Scans ahead from the supplied position to find the location in the text of the next atom and returns the index. The term atom refers to both graphic elements and characters (including groups of combining characters), the indivisible entities that make up a text line.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.text.engine.ITextLine"]},
            {  "tagName": "param",
               "values": ["relativePosition  position in the text to start from, counting from 0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["index in the text of the following atom"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "relativePosition", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "findPreviousWordBoundary",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the index of the previous word boundary in the text.  <p>Scans backward from the supplied position to find the previous position in the text that starts or ends a word. </p>",
        "tags": [
        {  "tagName": "param",
               "values": ["relativePosition  position in the text to start from, counting from 0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["index in the text of the previous word boundary"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "relativePosition", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "findNextWordBoundary",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Returns the index of the next word boundary in the text.  <p>Scans ahead from the supplied position to find the next position in the text that starts or ends a word. </p>",
        "tags": [
        {  "tagName": "param",
               "values": ["relativePosition  position in the text to start from, counting from 0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "return",
               "values": ["index in the text of the next word boundary"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "int",
          "params": [{ "name": "relativePosition", "type": "int"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "computedFormat",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "@private"},
      { "type": "method",
        "qname": "incInteractiveChildrenCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "decInteractiveChildrenCount",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "void",
          "params": []}
      ,
      { "type": "method",
        "qname": "hasInteractiveChildren",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "Boolean",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.elements.ISpanElement",
        "qname": "terminatorSpan",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}}]
  }
