{ "type": "class",
  "qname": "org.apache.royale.textLayout.factory.TextFlowTextLineFactory",
  "baseClassname": "org.apache.royale.textLayout.factory.TextLineFactoryBase"
  ,
    "description": "The TextFlowTextLineFactory class provides a simple way to create TextLines for displaying text from a text flow.  <p>The text lines are static and created fit in a single bounding rectangle, but can have multiple paragraphs and formats as well as inline graphics. To create ITextLine objects directly from a string, use StringTextLineFactory.</p>  <p><b>Note:</b> When using inline graphics, the <code>source</code> property of the InlineGraphicElement object must either be an instance of a DisplayObject or a Class object representing an embedded asset. URLRequest objects cannot be used. The width and height of the inline graphic at the time the line is created is used to compose the flow. </p>",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.textLayout.elements.TextFlow TextFlow", "org.apache.royale.textLayout.factory.StringTextLineFactory StringTextLineFactory"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.textLayout.factory.TextFlowTextLineFactory",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates a TextFlowTextLineFactory object.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "method",
        "qname": "createTextLines",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates ITextLine objects from the specified text flow.  <p>The text lines are composed to fit the bounds assigned to the <code>compositionBounds</code> property. As each line is created, the factory calls the function specified in the <code>callback</code> parameter. This function is passed the ITextLine object and is responsible for displaying the line. If a line has a background color, the factory also calls the callback function with a Shape object containing a rectangle of the background color.</p>  <p>Note that the scroll policies of the factory will control how many lines are generated.</p>  The callback will be called with a Shape object representing any background color (if present), and with ITextLine objects for the text.",
        "tags": [
        {  "tagName": "param",
               "values": ["callback function to call with each generated ITextLine object.", "textFlow The TextFlow from which the lines are created."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "callback", "type": "Function"},
        { "name": "textFlow", "type": "org.apache.royale.textLayout.elements.ITextFlow"}]}
      ,
      { "type": "accessor",
        "access": "write-only",
        "return": "Function",
        "qname": "truncatedTextFlowCallback",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "@private Test hook: Sets a callback function for getting the truncated text flow. This function is only called if truncation is performed. It takes a single parameter which will have the following value: null, if nothing fits A text flow representing the truncated text (containing inital text from the original text flow followed by the truncation indicator), otherwise"}]
  }
