flash on 2011-9-11

by fujiopera
♥0 | Line 37 | Modified 2011-09-11 13:36:25 | MIT License
play

ActionScript3 source code

/**
 * Copyright fujiopera ( http://wonderfl.net/user/fujiopera )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/3zXY
 */

package {
    import flash.display.Sprite;
    import flash.text.engine.TextBaseline;
    import flashx.textLayout.container.ContainerController;
    import flashx.textLayout.elements.ParagraphElement;
    import flashx.textLayout.elements.SpanElement;
    import flashx.textLayout.elements.TextFlow;
    import flashx.textLayout.formats.TextAlign;

    public class TextLayoutFormat_alignmentBaselineExample extends Sprite
    {
        public function TextLayoutFormat_alignmentBaselineExample()
        {
            // create text flow with dominantBaseline of ASCENT and 3 spans
            var textFlow:TextFlow = new TextFlow();
            var paragraph:ParagraphElement = new ParagraphElement();
            paragraph.fontFamily = "Helvetica";
            paragraph.fontSize = 20;
            paragraph.dominantBaseline = TextBaseline.ASCENT    
            var spanOne:SpanElement = new SpanElement();
            var spanTwo:SpanElement = new SpanElement();
            var spanThree:SpanElement = new SpanElement();
            spanOne.text = "Hello, World  ";
            spanTwo.text = "Hello, World  ";
            spanThree.text = "Hello, World";
            
            // add spans to paragraph and specify alignment baseline for each
            paragraph.addChild(spanOne);
            spanOne.alignmentBaseline = TextBaseline.USE_DOMINANT_BASELINE;    
            paragraph.addChild(spanTwo);
            spanTwo.alignmentBaseline = TextBaseline.DESCENT;
            paragraph.addChild(spanThree);
            spanThree.alignmentBaseline = TextBaseline.IDEOGRAPHIC_CENTER;
            
            // add paragraph to TextFlow and set container position
            textFlow.addChild(paragraph);
            this.x = 50;
            this.y = 100;
            
            // update controller to display on stage
            textFlow.flowComposer.addController(new ContainerController(this,400,300));
            textFlow.flowComposer.updateAllControllers();    
        }
    }
}