package 
{
    import flash.display.Sprite;
    
    import org.tinytlf.ITextEngine;
    import org.tinytlf.components.TextField;
    import org.tinytlf.examples.*;
    import org.tinytlf.examples.smileys.*;
    import org.tinytlf.layout.*;
    import org.tinytlf.layout.factories.*;
    
    [SWF("900", height="300")]
    public class SuperSmiley extends Sprite
    {
        [Embed("assets/fonts/Archer-Medium-Pro.otf", fontFamily="ArcherMedium")]
        private var archer:Class;
        
        public function SuperSmiley()
        {
            var tf:TextField = new TextField();
            tf.style = 
                "*{" +
                    "fontName:ArcherMedium;" +
                    "fontSize: 20;" +
                    "textAlign: justify;" +
                    "color:0x000000" +
                "}";
            
            var engine:ITextEngine = tf.engine;
            engine.decor.mapDecoration('identity', IdentityDecoration);
            
//            var factory:ITextBlockFactory = engine.layout.textBlockFactory;
//            factory.mapElementFactory('smiley', SmileyElementFactory);
            
            tf.layoutConstraintFactory = new SmileyConstraintFactory();
            
//            tf.text = '<body><p identity="true" foreground="true">This smiley <img baselineShift="-20" src="assets/smileys/SuperSmiley.png" width="100" height="100"/> is inordinately happy.</p></body>';
            tf.text = '<body><p>Lorem ipsum dolor sit amet, consectetur <smiley face=":)"/> ' +
                'elit. Cras ultrices tortor <smiley face=":*"/> erat adipiscing pulvinar. ' +
                'Nulla et nisl quam, <smiley face=":|"/> blandit ipsum. Pellentesque ac dolor ' +
                '<smiley face=";)"/> turpis sollicitudin cursus non non neque. Cras tristique ' +
                'ullamcorper neque at vehicula. Nunc tincidunt lectus sed elit ' +
                'aliquet ac <smiley face=":D"/> arcu congue. ' +
                'Morbi augue lacus, porttitor sed ' +
                'semper eget, elementum nec lacus. ' +
                '<img src="assets/smileys/SuperSmiley.png" paddingLeft="10" paddingRight="10" width="100" height="100"/>' +
                'Fusce dictum lacus sed justo ' +
                'dictum lacinia. <smiley face=":P"/> nec orci ac quam feugiat venenatis ' +
                'vel et ' +
                'libero. Vestibulum ante ipsum primis in faucibus orci luctus et ' +
                'ultrices posuere <smiley face=";("/> Curae; Donec sit amet elit eu ipsum ' +
                'consectetur pretium vitae in nibh. Nullam tincidunt sapien id ' +
                'libero porta ultrices. <smiley face=":("/> varius sodales tortor vitae vehicula. ' +
                'Quisque ut erat a sem vehicula luctus. Vestibulum ornare quam nec ' +
                'tellus aliquam semper. <smiley face=":$"/> consequat arcu auctor eros mattis sed ' +
                'imperdiet magna pharetra. Integer blandit blandit magna ac facilisis. ' +
                'Praesent id leo <smiley face=":o"/>. Class aptent taciti sociosqu ad litora torquent ' +
                'per conubia nostra, per inceptos himenaeos. Nulla cursus sapien eu nunc ' +
                'convallis in <smiley face="o.O"/> magna aliquam.</p></body>';
            
            tf.width = 900;
            tf.y = 100;
            
            addChild(tf);
        }
    }
}