flashx.textLayout.elements

# ParagraphElement - AS3

Package | flashx.textLayout.elements
Class | public final class ParagraphElement
Inheritance | ParagraphElement ParagraphFormattedElement FlowGroupElement FlowElement Object

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

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.

Default MXML Property `mxmlChildren`

View the examples

More examples

Creating TextFlow objects

Related API Elements

InlineGraphicElement
LinkElement
SpanElement
TCYElement
TextFlow

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | alignmentBaseline : * TextLayoutFormat: Specifies the baseline to which the dominant baseline aligns. | FlowElement
|  | backgroundAlpha : * TextLayoutFormat: Alpha (transparency) value for the background (adopts default value if undefined during cascade). | FlowElement
|  | backgroundColor : * TextLayoutFormat: Background color of the text (adopts default value if undefined during cascade). | FlowElement
|  | baselineShift : * TextLayoutFormat: Amount to shift the baseline from the dominantBaseline value. | FlowElement
|  | blockProgression : * TextLayoutFormat: Specifies a vertical or horizontal progression of line placement. | FlowElement
|  | breakOpportunity : * TextLayoutFormat: Controls where lines are allowed to break when breaking wrapping text into multiple lines. | FlowElement
|  | cffHinting : * TextLayoutFormat: The type of CFF hinting used for this text. | FlowElement
|  | clearFloats : * TextLayoutFormat: Controls how text wraps around a float. | FlowElement
|  | color : * TextLayoutFormat: Color of the text. | FlowElement
|  | columnCount : * TextLayoutFormat: Number of text columns (adopts default value if undefined during cascade). | FlowElement
|  | columnGap : * TextLayoutFormat: Specifies the amount of gutter space, in pixels, to leave between the columns (adopts default value if undefined during cascade). | FlowElement
|  | columnWidth : * TextLayoutFormat: Column width in pixels (adopts default value if undefined during cascade). | FlowElement
|  | computedFormat : flashx.textLayout.formats:ITextLayoutFormat [read-only] Returns the computed format attributes that are in effect for this element. | FlowElement
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | coreStyles : Object [read-only] Returns the coreStyles on this FlowElement. | FlowElement
|  | digitCase : * TextLayoutFormat: The type of digit case used for this text. | FlowElement
|  | digitWidth : * TextLayoutFormat: Type of digit width used for this text. | FlowElement
|  | direction : * TextLayoutFormat: Specifies the default bidirectional embedding level of the text in the text block. | FlowElement
|  | dominantBaseline : * TextLayoutFormat: Specifies which element baseline snaps to the alignmentBaseline to determine the vertical position of the element on the line. | FlowElement
|  | firstBaselineOffset : * TextLayoutFormat: Specifies the baseline position of the first line in the container. | FlowElement
|  | fontFamily : * TextLayoutFormat: The name of the font to use, or a comma-separated list of font names. | FlowElement
|  | fontLookup : * TextLayoutFormat: Font lookup to use. | FlowElement
|  | fontSize : * TextLayoutFormat: The size of the text in pixels. | FlowElement
|  | fontStyle : * TextLayoutFormat: Style of text. | FlowElement
|  | fontWeight : * TextLayoutFormat: Weight of text. | FlowElement
|  | format : flashx.textLayout.formats:ITextLayoutFormat TextLayoutFormat properties applied directly to this element. | FlowElement
|  | id : String Assigns an identifying name to the element, making it possible to set a style for the element by referencing the id. | FlowElement
|  | justificationRule : * TextLayoutFormat: Rule used to justify text in a paragraph. | FlowElement
|  | justificationStyle : * TextLayoutFormat: The style used for justification of the paragraph. | FlowElement
|  | kerning : * TextLayoutFormat: Kerning adjusts the pixels between certain character pairs to improve readability. | FlowElement
|  | leadingModel : * TextLayoutFormat: Specifies the leading model, which is a combination of leading basis and leading direction. | FlowElement
|  | ligatureLevel : * TextLayoutFormat: Controls which of the ligatures that are defined in the font may be used in the text. | FlowElement
|  | lineBreak : * TextLayoutFormat: Controls word wrapping within the container (adopts default value if undefined during cascade). | FlowElement
|  | lineHeight : * TextLayoutFormat: Leading controls for the text. | FlowElement
|  | lineThrough : * TextLayoutFormat: If true, applies strikethrough, a line drawn through the middle of the text. | FlowElement
|  | linkActiveFormat : * TextLayoutFormat: Defines the formatting attributes used for links in normal state. | FlowElement
|  | linkHoverFormat : * TextLayoutFormat: Defines the formatting attributes used for links in hover state, when the mouse is within the bounds (rolling over) a link. | FlowElement
|  | linkNormalFormat : * TextLayoutFormat: Defines the formatting attributes used for links in normal state. | FlowElement
|  | listAutoPadding : * TextLayoutFormat: This specifies an auto indent for the start edge of lists when the padding value of the list on that side is auto. | FlowElement
|  | listMarkerFormat : * TextLayoutFormat: Defines the formatting attributes list markers. | FlowElement
|  | listStylePosition : * TextLayoutFormat: Legal values are ListStylePosition.INSIDE, ListStylePosition.OUTSIDE, FormatValue.INHERIT. Default value is undefined indicating not set. If undefined during the cascade this property will inherit its value from an ancestor. | FlowElement
|  | listStyleType : * TextLayoutFormat: Legal values are ListStyleType.UPPER_ALPHA, ListStyleType.LOWER_ALPHA, ListStyleType.UPPER_ROMAN, ListStyleType.LOWER_ROMAN, ListStyleType.NONE, ListStyleType.DISC, ListStyleType.CIRCLE, ListStyleType.SQUARE, ListStyleType.BOX, ListStyleType.CHECK, ListStyleType.DIAMOND, ListStyleType.HYPHEN, ListStyleType.ARABIC_INDIC, ListStyleType.BENGALI, ListStyleType.DECIMAL, ListStyleType.DECIMAL_LEADING_ZERO, ListStyleType.DEVANAGARI, ListStyleType.GUJARATI, ListStyleType.GURMUKHI, ListStyleType.KANNADA, ListStyleType.PERSIAN, ListStyleType.THAI, ListStyleType.URDU, ListStyleType.CJK_EARTHLY_BRANCH, ListStyleType.CJK_HEAVENLY_STEM, ListStyleType.HANGUL, ListStyleType.HANGUL_CONSTANT, ListStyleType.HIRAGANA, ListStyleType.HIRAGANA_IROHA, ListStyleType.KATAKANA, ListStyleType.KATAKANA_IROHA, ListStyleType.LOWER_ALPHA, ListStyleType.LOWER_GREEK, ListStyleType.LOWER_LATIN, ListStyleType.UPPER_ALPHA, ListStyleType.UPPER_GREEK, ListStyleType.UPPER_LATIN, FormatValue.INHERIT. Default value is undefined indicating not set. If undefined during the cascade this property will inherit its value from an ancestor. | FlowElement
|  | locale : * TextLayoutFormat: The locale of the text. | FlowElement
|  | mxmlChildren : Array Appends an array of children to this object. | FlowGroupElement
|  | numChildren : int [read-only] Returns the number of FlowElement children that this FlowGroupElement object has. | FlowGroupElement
|  | paddingBottom : * TextLayoutFormat: Bottom inset in pixels. | FlowElement
|  | paddingLeft : * TextLayoutFormat: Left inset in pixels. | FlowElement
|  | paddingRight : * TextLayoutFormat: Right inset in pixels. | FlowElement
|  | paddingTop : * TextLayoutFormat: Top inset in pixels. | FlowElement
|  | paragraphEndIndent : * TextLayoutFormat: A Number that specifies, in pixels, the amount to indent the paragraph's end edge. | FlowElement
|  | paragraphSpaceAfter : * TextLayoutFormat: A Number that specifies the amount of space, in pixels, to leave after the paragraph. | FlowElement
|  | paragraphSpaceBefore : * TextLayoutFormat: A Number that specifies the amount of space, in pixels, to leave before the paragraph. | FlowElement
|  | paragraphStartIndent : * TextLayoutFormat: A Number that specifies, in pixels, the amount to indent the paragraph's start edge. | FlowElement
|  | parent : FlowGroupElement [read-only] Returns the parent of this FlowElement object. | FlowElement
|  | parentRelativeEnd : int [read-only] Returns the relative end of this FlowElement object in the parent. | FlowElement
|  | parentRelativeStart : int [read-only] Returns the relative start of this FlowElement object in the parent. | FlowElement
|  | renderingMode : * TextLayoutFormat: The rendering mode used for this text. | FlowElement
|  | styleName : * TextLayoutFormat: Assigns an identifying class to the element, making it possible to set a style for the element by referencing the styleName. | FlowElement
|  | styles : Object [read-only] Returns the styles on this FlowElement. | FlowElement
|  | tabStops : * TextLayoutFormat: Specifies the tab stops associated with the paragraph. | FlowElement
|  | textAlign : * TextLayoutFormat: Alignment of lines in the paragraph relative to the container. | FlowElement
|  | textAlignLast : * TextLayoutFormat: Alignment of the last (or only) line in the paragraph relative to the container in justified text. | FlowElement
|  | textAlpha : * TextLayoutFormat: Alpha (transparency) value for the text. | FlowElement
|  | textDecoration : * TextLayoutFormat: Decoration on text. | FlowElement
|  | textIndent : * TextLayoutFormat: A Number that specifies, in pixels, the amount to indent the first line of the paragraph. | FlowElement
|  | textJustify : * TextLayoutFormat: Specifies options for justifying text. | FlowElement
|  | textLength : int [read-only] Returns the total length of text owned by this FlowElement object and its children. | FlowElement
|  | textRotation : * TextLayoutFormat: Determines the number of degrees to rotate this text. | FlowElement
|  | tracking : Object [write-only] Sets the tracking and is synonymous with the trackingRight property. | FlowElement
|  | trackingLeft : * TextLayoutFormat: Number in pixels (or percent of fontSize, like 120%) indicating the amount of tracking (manual kerning) to be applied to the left of each character. | FlowElement
|  | trackingRight : * TextLayoutFormat: Number in pixels (or percent of fontSize, like 120%) indicating the amount of tracking (manual kerning) to be applied to the right of each character. | FlowElement
|  | typeName : String Each FlowElement has a typeName. | FlowElement
|  | typographicCase : * TextLayoutFormat: The type of typographic case used for this text. | FlowElement
|  | userStyles : Object Allows you to read and write user styles on a FlowElement object. | FlowElement
|  | verticalAlign : * TextLayoutFormat: Vertical alignment or justification (adopts default value if undefined during cascade). | FlowElement
|  | whiteSpaceCollapse : * TextLayoutFormat: Collapses or preserves whitespace when importing text into a TextFlow. | FlowElement
|  | wordSpacing : * TextLayoutFormat: Specifies the optimum, minimum, and maximum spacing (as a multiplier of the width of a normal space) between words to use during justification. | FlowElement

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | ParagraphElement() Constructor - represents a paragraph in a text flow. | ParagraphElement
|  | addChild(child:FlowElement):FlowElement Appends a child FlowElement object. | FlowGroupElement
|  | addChildAt(index:uint, child:FlowElement):FlowElement Adds a child FlowElement object at the specified index position. | FlowGroupElement
|  | clearStyle(styleProp:String):void Clears the style specified by the styleProp parameter from this FlowElement object. | FlowElement
|  | deepCopy(relativeStart:int = 0, relativeEnd:int = -1):FlowElement Makes a deep copy of this FlowElement object, including any children, copying the content between the two specified character positions and returning the copy as a FlowElement object. | FlowElement
|  | equalUserStyles(otherElement:FlowElement):Boolean Compare the userStyles of this with otherElement's userStyles. | FlowElement
|  | findChildIndexAtPosition(relativePosition:int):int Given a relative text position, find the index of the first child FlowElement that contains the relative position. | FlowGroupElement
|  | findLeaf(relativePosition:int):FlowLeafElement Given a relative text position, find the leaf element that contains the position. | FlowGroupElement
|  | findNextAtomBoundary(relativePosition:int):int Scans ahead from the supplied position to find the location in the text of the next atom and returns the index. | ParagraphElement
|  | findNextWordBoundary(relativePosition:int):int Returns the index of the next word boundary in the text. | ParagraphElement
|  | findPreviousAtomBoundary(relativePosition:int):int Scans backward from the supplied position to find the location in the text of the previous atom and returns the index. | ParagraphElement
|  | findPreviousWordBoundary(relativePosition:int):int Returns the index of the previous word boundary in the text. | ParagraphElement
|  | getAbsoluteStart():int Returns the start location of the element in the text flow as an absolute index. | FlowElement
|  | getCharAtPosition(relativePosition:int):String Returns the character at the specified position, relative to this FlowElement object. | FlowElement
|  | getCharCodeAtPosition(relativePosition:int):int Returns the character code at the specified position, relative to this FlowElement. | FlowElement
|  | getChildAt(index:int):FlowElement Returns the FlowElement child at the specified index. | FlowGroupElement
|  | getChildIndex(child:FlowElement):int Searches in children for the specified FlowElement object and returns its index position. | FlowGroupElement
|  | getElementRelativeStart(ancestorElement:FlowElement):int Returns the start of this element relative to an ancestor element. | FlowElement
|  | getFirstLeaf():FlowLeafElement Returns the first FlowLeafElement descendant of this group. | FlowGroupElement
|  | getLastLeaf():FlowLeafElement Returns the last FlowLeafElement descendent of this group. | FlowGroupElement
|  | getNextParagraph():ParagraphElement Returns the paragraph that follows this one, or null if there are no more paragraphs. | ParagraphElement
|  | getNextSibling():FlowElement Returns the next FlowElement sibling in the text flow hierarchy. | FlowElement
|  | getParagraph():ParagraphElement Returns the ParagraphElement object associated with this element. | FlowElement
|  | getPreviousParagraph():ParagraphElement Returns the paragraph that precedes this one, or null, if this paragraph is the first one in the TextFlow. | ParagraphElement
|  | getPreviousSibling():FlowElement Returns the previous FlowElement sibling in the text flow hierarchy. | FlowElement
|  | getStyle(styleProp:String):* Returns the value of the style specified by the styleProp parameter, which specifies the style name and can include any user style name. | FlowElement
|  | getText(relativeStart:int = 0, relativeEnd:int = -1, paragraphSeparator:String = " "):String [override] | FlowGroupElement
|  | getTextFlow():flashx.textLayout.elements:TextFlow Climbs the text flow hierarchy to return the root TextFlow object for the element. | FlowElement
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | initialized(document:Object, id:String):void Called for MXML objects after the implementing object has been created and all component properties specified on the MXML tag have been initialized. | FlowElement
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeChild(child:FlowElement):FlowElement Removes the specified child FlowElement object from the group. | FlowGroupElement
|  | removeChildAt(index:uint):FlowElement Removes the child FlowElement object at the specified index position. | FlowGroupElement
|  | replaceChildren(beginChildIndex:int, endChildIndex:int, ... rest):void Replaces child elements in the group with the specified new elements. | FlowGroupElement
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | setStyle(styleProp:String, newValue:*):void Sets the style specified by the styleProp parameter to the value specified by the newValue parameter. | FlowElement
|  | shallowCopy(relativeStart:int = 0, relativeEnd:int = -1):FlowElement Makes a copy of this FlowElement object, copying the content between two specified character positions. | FlowElement
|  | splitAtIndex(childIndex:int):FlowGroupElement Splits this object at the position specified by the childIndex parameter. | FlowGroupElement
|  | splitAtPosition(relativePosition:int):FlowElement Splits this FlowElement object at the position specified by the relativePosition parameter, which is a relative position in the text for this element. | FlowElement
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Constructor Detail

### ParagraphElement

()
Constructor

`public function ParagraphElement()`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Constructor - represents a paragraph in a text flow.

Method Detail

### findNextAtomBoundary

()
method

`public function findNextAtomBoundary(relativePosition:int):int`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

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.

Parameters

| `relativePosition:int` — position in the text to start from, counting from 0

Returns

| `int` — index in the text of the following atom

Related API Elements

flash.text.engine.TextLine
Example ( How to use this example )
This example finds the next atom boundaries from given offsets in a paragraph.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.elements.ParagraphElement;
        import flashx.textLayout.elements.SpanElement;
        import flashx.textLayout.elements.TextFlow;

        public class ParagraphElement_findNextAtomBoundary  extends Sprite
        {
            public function ParagraphElement_findNextAtomBoundary()
            {
                // create the TextFlow, ParagraphElement and SpanElement objects to hold paragraph
                var textFlow:TextFlow = new TextFlow();
                var paragraph:ParagraphElement = new ParagraphElement();
                var span:SpanElement = new SpanElement();
                // assign text to the span; add span to paragraph and paragraph to TextFlow
                span.text = "Hello brave, new world!";
                paragraph.addChild(span);
                textFlow.addChild(paragraph);
                // assign a controller to the stage and update it to compose and display text
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
                // find the next atom boundaries from offsets 5 and 10
                var atomBoundary:int = paragraph.findNextAtomBoundary(4);
                trace(atomBoundary); // 5
                atomBoundary = paragraph.findNextAtomBoundary(10);
                trace(atomBoundary); // 11
            }
        }
    }

### findNextWordBoundary

()
method

`public function findNextWordBoundary(relativePosition:int):int`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Returns the index of the next word boundary in the text.

Scans ahead from the supplied position to find the next position in the text that starts or ends a word.

Parameters

| `relativePosition:int` — position in the text to start from, counting from 0

Returns

| `int` — index in the text of the next word boundary

Example ( How to use this example )
This example finds the next word boundaries in a paragraph from given offsets.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.elements.ParagraphElement;
        import flashx.textLayout.elements.SpanElement;
        import flashx.textLayout.elements.TextFlow;

        public class ParagraphElement_findNextWordBoundary  extends Sprite
        {
            public function ParagraphElement_findNextWordBoundary()
            {
                // create the TextFlow, ParagraphElement and SpanElement objects to hold paragraph
                var textFlow:TextFlow = new TextFlow();
                var paragraph:ParagraphElement = new ParagraphElement();
                var span:SpanElement = new SpanElement();
                // assign text to the span; add span to paragraph and paragraph to TextFlow
                span.text = "Hello brave, new world!";
                paragraph.addChild(span);
                textFlow.addChild(paragraph);
                // assign a controller to the stage and update it to compose and display text
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
                // find the next word boundary from offsets 0 and 12
                var wordBoundary:int = paragraph.findNextWordBoundary(0);
                trace(wordBoundary); // 5
                wordBoundary = paragraph.findNextWordBoundary(12);
                trace(wordBoundary); // 13
            }
        }
    }

### findPreviousAtomBoundary

()
method

`public function findPreviousAtomBoundary(relativePosition:int):int`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

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.

Parameters

| `relativePosition:int` — position in the text to start from, counting from 0

Returns

| `int` — index in the text of the previous cluster

Related API Elements

flash.text.engine.TextLine
Example ( How to use this example )
This example finds the previous atom boundaries from given offsets in a paragraph.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.elements.ParagraphElement;
        import flashx.textLayout.elements.SpanElement;
        import flashx.textLayout.elements.TextFlow;

        public class ParagraphElement_findPreviousAtomBoundary  extends Sprite
        {
            public function ParagraphElement_findPreviousAtomBoundary()
            {
                // create the TextFlow, ParagraphElement and SpanElement objects to hold paragraph
                var textFlow:TextFlow = new TextFlow();
                var paragraph:ParagraphElement = new ParagraphElement();
                var span:SpanElement = new SpanElement();
                // assign text to the span; add span to paragraph and paragraph to TextFlow
                span.text = "Hello brave, new world!";
                paragraph.addChild(span);
                textFlow.addChild(paragraph);
                // assign a controller to the stage and update it to compose and display text
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
                // find the previous atom boundaries from offsets 6 and 13
                var atomBoundary:int = paragraph.findPreviousAtomBoundary(6);
                trace(atomBoundary); // 5
                atomBoundary = paragraph.findPreviousAtomBoundary(13);
                trace(atomBoundary); // 12
            }
        }
    }

### findPreviousWordBoundary

()
method

`public function findPreviousWordBoundary(relativePosition:int):int`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Returns the index of the previous word boundary in the text.

Scans backward from the supplied position to find the previous position in the text that starts or ends a word.

Parameters

| `relativePosition:int` — position in the text to start from, counting from 0

Returns

| `int` — index in the text of the previous word boundary

Example ( How to use this example )
This example finds the previous word boundaries in a paragraph from given offsets.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.elements.ParagraphElement;
        import flashx.textLayout.elements.SpanElement;
        import flashx.textLayout.elements.TextFlow;

        public class ParagraphElement_findPreviousWordBoundary  extends Sprite
        {
            public function ParagraphElement_findPreviousWordBoundary()
            {
                // create the TextFlow, ParagraphElement and SpanElement objects to hold paragraph
                var textFlow:TextFlow = new TextFlow();
                var paragraph:ParagraphElement = new ParagraphElement();
                var span:SpanElement = new SpanElement();
                // assign text to the span; add span to paragraph and paragraph to TextFlow
                span.text = "Hello brave, new world!";
                paragraph.addChild(span);
                textFlow.addChild(paragraph);
                // assign a controller to the stage and update it to compose and display text
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
                // find the previous word boundary from offsets 0 and 12
                var wordBoundary:int = paragraph.findPreviousWordBoundary(22);
                trace(wordBoundary); // 17
                wordBoundary = paragraph.findPreviousWordBoundary(11);
                trace(wordBoundary); // 6
            }
        }
    }

### getNextParagraph

()
method

`public function getNextParagraph():ParagraphElement`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Returns the paragraph that follows this one, or null if there are no more paragraphs.

Returns

| `ParagraphElement` — the next paragraph or null if there are no more paragraphs.

Related API Elements

getPreviousParagraph()
Example ( How to use this example )
This example imports three paragraphs of text from xml markup, accesses the first paragraph using getChildAtIndex(0), and uses getNextParagraph() to access the second paragraph.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flashx.textLayout.conversion.TextConverter;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.elements.ParagraphElement;
        import flashx.textLayout.elements.SpanElement;
        import flashx.textLayout.elements.TextFlow;

        public class ParagraphElement_getNextParagraph  extends Sprite
        {
            public function ParagraphElement_getNextParagraph()
            {
                // create TextFlow object
                var textFlow:TextFlow = new TextFlow();
                // create content for TextFlow using XML markup
                var simpleText:String = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                    "<flow:TextFlow xmlns:flow=\"http://ns.adobe.com/textLayout/2008\">"+
                        "<flow:p>"+
                            "<flow:span>This is the first paragraph.</flow:span>"+
                        "</flow:p>"+
                        "<flow:p>"+
                            "<flow:span>This is the second paragraph.</flow:span>"+
                        "</flow:p>"+
                        "<flow:p>"+
                            "<flow:span>This is the third paragraph.</flow:span>"+
                        "</flow:p>"+
                    "</flow:TextFlow>";
                // import the xml markup into a TextFlow object and display it on the stage
                textFlow = TextConverter.importToFlow(simpleText, TextConverter.TEXT_LAYOUT_FORMAT);
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
                // get first paragraph
                var p:ParagraphElement = textFlow.getChildAt(0) as ParagraphElement;
                // get next paragraph and display its content
                var nextParagraph:ParagraphElement = p.getNextParagraph();
                trace("nextParagraph.text is: " + nextParagraph.getText());
            }
        }
    }

### getPreviousParagraph

()
method

`public function getPreviousParagraph():ParagraphElement`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 10, AIR 1.5

Returns the paragraph that precedes this one, or null, if this paragraph is the first one in the TextFlow.

Returns

| `ParagraphElement`

Related API Elements

getNextParagraph()
Example ( How to use this example )
This example imports three paragraphs of text from xml markup, accesses the second paragraph using getChildAtIndex(1), and uses getPreviousParagraph() to access the first paragraph.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flashx.textLayout.conversion.TextConverter;
        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.elements.ParagraphElement;
        import flashx.textLayout.elements.SpanElement;
        import flashx.textLayout.elements.TextFlow;

        public class ParagraphElement_getPreviousParagraph  extends Sprite
        {
            public function ParagraphElement_getPreviousParagraph()
            {
                // create TextFlow object
                var textFlow:TextFlow = new TextFlow();
                // create content for TextFlow using XML markup
                var simpleText:String = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                    "<flow:TextFlow xmlns:flow=\"http://ns.adobe.com/textLayout/2008\">"+
                        "<flow:p>"+
                            "<flow:span>This is the first paragraph.</flow:span>"+
                        "</flow:p>"+
                        "<flow:p>"+
                            "<flow:span>This is the second paragraph.</flow:span>"+
                        "</flow:p>"+
                        "<flow:p>"+
                            "<flow:span>This is the third paragraph.</flow:span>"+
                        "</flow:p>"+
                    "</flow:TextFlow>";
                // import the xml markup into a TextFlow object and display it on the stage
                textFlow = TextConverter.importToFlow(simpleText, TextConverter.TEXT_LAYOUT_FORMAT);
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
                // get second paragraph (first = 0)
                var p:ParagraphElement = textFlow.getChildAt(1) as ParagraphElement;
                // get  previous paragraph and display its content
                var prevParagraph:ParagraphElement = p.getPreviousParagraph();
                trace("prevParagraph.text is: " + prevParagraph.getText());
            }
        }
    }

Examples How to use this example
ParagraphElementExample.as
This example creates and formats three paragraphs of text.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flash.text.engine.FontPosture;

        import flashx.textLayout.container.ContainerController;
        import flashx.textLayout.elements.ParagraphElement;
        import flashx.textLayout.elements.SpanElement;
        import flashx.textLayout.elements.TextFlow;
        import flashx.textLayout.formats.TextLayoutFormat;

        public class ParagraphElementExample extends Sprite {

            // create the TextFlow object
            private var textFlow:TextFlow = new TextFlow();

            // Create Strings of text for the paragraphs
            private var para1String:String = "In the first paragraph of a "
            private var para1String2:String = "cheap"
            private var para1String3:String ="Western novel, a cowboy meets a saloon girl.";
            private var para2String:String = "In the middle of the cheap novel a really bad guy, "+
                            "who is having a relationship with the saloon girl, sees the cowboy help "+
                            "her onto her horse as she smiles at him warmly."
            private var para3String:String = "In the last paragraph of the cheap novel, the cowboy kills "+
                                "the really bad guy in a shootout in the middle of main street and "+
                                "then rides into the sunset with the saloon girl on the back of his horse.";

            public function ParagraphElementExample()
            {
                // create a TextLayoutFormat object to use in formatting the paragraphs
                var textLayoutFormat:TextLayoutFormat = new TextLayoutFormat();
                var paragraph1:ParagraphElement = new ParagraphElement();

                // create the ParagraphElement objects
                var paragraph2:ParagraphElement = new ParagraphElement();
                var paragraph3:ParagraphElement = new ParagraphElement();

                // create the SpanElement objects to hold the content of the paragraphs
                var p1Span1:SpanElement = new SpanElement();
                var p1Span2:SpanElement = new SpanElement();
                var p1Span3:SpanElement = new SpanElement();
                var p2Span:SpanElement = new SpanElement();
                var p3Span:SpanElement = new SpanElement();

                // assign the strings of text for the 1st paragraph to spans
                p1Span1.text = para1String;
                p1Span2.text = para1String2;
                p1Span2.fontStyle = FontPosture.ITALIC;  // italicize 'cheap'
                p1Span3.text = para1String3;

                // add spans to first paragraph
                paragraph1.addChild(p1Span1);
                paragraph1.addChild(p1Span2);
                paragraph1.addChild(p1Span3);

                // assign the string of text for the 2nd paragraph to a span
                // and add the span to the second paragraph
                p2Span.text = para2String;
                paragraph2.addChild(p2Span);

                // assign the string of text for the 3rd paragraph to a span
                // and add the span to the third paragraph
                p3Span.text = para3String;
                paragraph3.addChild(p3Span);

                // add the paragraphs to the TextFlow
                textFlow.addChild(paragraph1);
                textFlow.addChild(paragraph2);
                textFlow.addChild(paragraph3);

                // set the text formatting properties
                textLayoutFormat.fontSize = 14;
                textLayoutFormat.textIndent = 15;
                textLayoutFormat.paragraphSpaceAfter = 15;
                textLayoutFormat.paddingTop = 4;
                textLayoutFormat.paddingLeft = 4;

                // assign the format object to the TextFlow
                textFlow.hostFormat = textLayoutFormat;

                // assign a controller to the stage and update it to compose and
                // display the text
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
            }
        }
    }

ParagraphElementExample2.as
This example imports xml markup into a TextFlow object. The xml markup defines the same three paragraphs of text, and their formatting, as the preceding example.
Copy

    package flashx.textLayout.elements.examples
    {
        import flash.display.Sprite;
        import flashx.textLayout.elements.TextFlow;
        import flashx.textLayout.conversion.TextConverter;
        import flashx.textLayout.container.ContainerController;

        public class ParagraphElementExample2 extends Sprite {

            // create the TextFlow object
            private var textFlow:TextFlow = new TextFlow();

            // xml markup that defines the attributes and contents of a text flow
            private var simpleText:String = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                    "<flow:TextFlow xmlns:flow=\"http://ns.adobe.com/textLayout/2008\" verticalScrollPolicy=\"auto\" horizontalScrollPolicy=\"auto\" editingMode=\"readWrite\" fontSize=\"14\" textIndent=\"15\" marginBottom=\"15\" paddingTop=\"4\" paddingLeft=\"4\">"+
                        "<flow:p>"+
                            "<flow:span>In the first paragraph of a </flow:span>"+
                            "<flow:span fontStyle=\"italic\">cheap</flow:span>"+
                            "<flow:span> Western novel, a cowboy meets a saloon girl.</flow:span>"+
                        "</flow:p>"+
                        "<flow:p>"+
                            "<flow:span>In the middle of the cheap novel a really bad guy, </flow:span>"+
                            "<flow:span>who is having a relationship with the saloon girl, sees the cowboy help </flow:span>"+
                            "<flow:span>her onto her horse as she smiles at him warmly.</flow:span>"+
                        "</flow:p>"+
                        "<flow:p>"+
                            "<flow:span>In the last paragraph of the cheap novel, the cowboy kills the really </flow:span>"+
                            "<flow:span> bad guy in a shootout in the middle of main street and then rides into the sunset with </flow:span>"+
                            "<flow:span>the saloon girl on the back of his horse.</flow:span>" +
                        "</flow:p>"+
                      "</flow:TextFlow>";

            public function ParagraphElementExample2()
            {
                // import the xml markup into a TextFlow object and display it on the stage
                textFlow = TextConverter.importToFlow(simpleText, TextConverter.TEXT_LAYOUT_FORMAT);
                textFlow.flowComposer.addController(new ContainerController(this, 200, 400));
                textFlow.flowComposer.updateAllControllers();
            }
        }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00