74 lines
2.0 KiB
ActionScript
Executable File
74 lines
2.0 KiB
ActionScript
Executable File
/*
|
|
Copyright (c) 2009 Yahoo! Inc. All rights reserved.
|
|
The copyrights embodied in the content of this file are licensed under the BSD (revised) open source license
|
|
*/
|
|
package com.yahoo.astra.utils
|
|
{
|
|
import flash.text.*;
|
|
|
|
/**
|
|
* Utility class for text fields
|
|
*
|
|
* @author Tripp Bridges
|
|
*/
|
|
public class TextUtil
|
|
{
|
|
/**
|
|
* Returns the width of a text field based on a <code>TextFormat</code> object and a string to be displayed
|
|
*
|
|
* @param textValue The text
|
|
* @param tf
|
|
*
|
|
* @return Number
|
|
*/
|
|
public static function getTextWidth(textValue:String, tf:TextFormat):Number
|
|
{
|
|
var textField:TextField = new TextField();
|
|
textField.selectable = false;
|
|
textField.autoSize = TextFieldAutoSize.LEFT;
|
|
textField.text = textValue;
|
|
textField.setTextFormat(tf);
|
|
return Math.max(textField.textWidth, textField.width);
|
|
|
|
}
|
|
|
|
/**
|
|
* Returns the height of a text field based on a <code>TextFormat</code> object and a string to be displayed
|
|
*
|
|
* @param textValue The text
|
|
* @param tf
|
|
*
|
|
* @return Number
|
|
*/
|
|
public static function getTextHeight(textValue:String, tf:TextFormat):Number
|
|
{
|
|
var textField:TextField = new TextField();
|
|
textField.selectable = false;
|
|
textField.autoSize = TextFieldAutoSize.LEFT;
|
|
textField.text = textValue;
|
|
textField.setTextFormat(tf);
|
|
return textField.textHeight;
|
|
}
|
|
|
|
/**
|
|
* Changes individual property of a <code>TextFormat</code> object
|
|
*/
|
|
public static function changeTextFormatProps(tf:TextFormat, tfProps:Object):TextFormat
|
|
{
|
|
for(var i:String in tfProps)
|
|
{
|
|
tf[i] = tfProps[i];
|
|
}
|
|
return tf;
|
|
}
|
|
|
|
/**
|
|
* Creates a copy of a <code>TextFormat</code> object
|
|
*/
|
|
public static function cloneTextFormat(tf:TextFormat):TextFormat
|
|
{
|
|
return new TextFormat(tf.font, tf.size, tf.color, tf.bold, tf.italic, tf.underline, tf.url, tf.target, tf.align, tf.leftMargin, tf.rightMargin, tf.indent, tf.leading);
|
|
}
|
|
|
|
}
|
|
} |