TextLineMetrics Example. May 16, 2007 at 9:32 am

Just a quick example for using the TextLineMetrics combined with the textArea-component.

import flash.text.TextLineMetrics;
import flash.display.Sprite;
import flash.events.Event;
myTextArea.text = “hello world”;

var rect :Sprite;
var tH :Number;
var lH :Number;
var mL :Number;
var metrics :TextLineMetrics;
var xPos :Number;
var yPos :Number;

rect = new Sprite();
rect.x = rect.y = 0;

rect.graphics.beginFill( 0xFFFF00, 1 );
rect.graphics.drawRect ( 0, 0, 10, 10 );
rect.graphics.endFill();

addChild( rect );

function fieldObserver ( event: Event ) {

tH = myTextArea.textHeight;
lH = myTextArea.getLineMetrics( 0 ).height;
mL = Math.ceil( tH / lH );

metrics = myTextArea.getLineMetrics( mL-1 );

xPos = metrics.width + myTextArea.x;
yPos = tH - ( lH * myTextArea.verticalScrollPosition );

rect.x = xPos;
rect.y = yPos + myTextArea.y;

}

addEventListener( Event.ENTER_FRAME, fieldObserver );

“hey look - it´s a cursor !”

Leave a Reply