In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

TextEngine Sample

...
@author ...
Get Adobe Flash player
by mtok 25 Jan 2009
    Embed
package
{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Rectangle;
	import flash.text.engine.ContentElement;
	import flash.text.engine.ElementFormat;
	import flash.text.engine.FontDescription;
	import flash.text.engine.GraphicElement;
	import flash.text.engine.TextBlock;
	import flash.text.engine.TextElement;
	import flash.text.engine.GroupElement;
	import flash.text.engine.TextLine;
	import flash.text.engine.FontWeight;
	import flash.text.engine.FontPosture;
	import flash.text.engine.FontLookup;
	import flash.text.TextFormat;
	/**
	 * ...
	 * @author ...
	 */
	public class TextEngineSample001 extends Sprite
	{
		public function TextEngineSample001() 
		{
			addEventListener(Event.ADDED_TO_STAGE, addedToStage);
		}
		
		private function addedToStage(e:Event):void 
		{
			drawGrid(new Rectangle(0, 0, stage.stageWidth, stage.stageHeight), 15);

			var fontName:String = "Arial Bold";
			
			var fontDesc:FontDescription = new FontDescription(fontName);
			var elementFormat:ElementFormat = new ElementFormat(fontDesc, 40, 0xA2DE65);

			var sprite:Sprite = new Sprite();
			sprite.graphics.beginFill(0xDD669E, 1);
			sprite.graphics.drawRoundRect(0, 0, 150, 100, 20);
			sprite.graphics.endFill();
			sprite.addEventListener(MouseEvent.CLICK, clickHandler);
			
			var graphicElement:GraphicElement 
				= new GraphicElement(sprite, sprite.width, sprite.height, elementFormat, sprite);
			
			var textElement:TextElement = new TextElement("Hello, Flash Text Engine!", elementFormat);
			
			var elements:Vector.<ContentElement> = Vector.<ContentElement>([graphicElement, textElement]);
			var groupElement:GroupElement = new GroupElement(elements, elementFormat);
			
			var textBlock:TextBlock = new TextBlock();
			textBlock.content = groupElement;
			var textLine:TextLine = textBlock.createTextLine(null, 465);
			textLine.x = 10;
			textLine.y = 200;
			addChild(textLine);
			
		}
		
		private function clickHandler(e:MouseEvent):void 
		{
			trace("clickHandler");
		}
		
		private function drawGrid(rect:Rectangle, size:Number):void {
			trace("draw grid");
			var i:int;
			var g:Graphics = this.graphics;
			g.lineStyle(1, 0x53D9F0);
			i = rect.y;
			while (i < rect.height) {
				g.moveTo(0, i);
				g.lineTo(rect.width, i);
				i += size;
			}
			i = rect.x;
			while (i < rect.width) {
				g.moveTo(i, 0);
				g.lineTo(i, rect.height);
				i += size;
			}
		}
	}
	
}