| パッケージ | flash.text.engine |
| クラス | public final class TextLine |
| 継承 | TextLine DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ActionScript コードから直接 TextLine オブジェクトを作成することはできません。new TextLine() を呼び出すと、例外がスローされます。TextLine オブジェクトを作成するには、TextBlock の createTextLine() メソッドを呼び出します。
TextLine は、その内容をレンダリングするのに必要な最低限の情報をカプセル化します。行のアトムのプロパティについて説明する、いくつかのメソッドを介した操作に役立つ追加情報を取得できます。アトムとは、グラフィックエレメントと文字(結合された文字のグループを含む)の両方、テキスト行を構成する分割できないエンティティについて言及する用語です。これらのメソッドが呼び出されるまで、これらのメソッドが必要とするデータを作成したり、格納したりすることはできません。メモリのオーバーヘッドを避けるため、不必要にアトムデータを作成しないでください。アトムデータが必要なくなった場合、flushAtomData() メソッドを呼び出して、ガベージコレクションで処理されるようにすることができます。
以下のメソッドおよびプロパティは、アトムデータがまだ存在しない場合にそれらを生成します。
atomCount
getAtomBidiLevel()
getAtomBounds()
getAtomCenter()
getAtomIndexAtCharIndex()
getAtomIndexAtPoint()
getAtomGraphic()
getAtomTextBlockBeginIndex()
getAtomTextBlockEndIndex()
getAtomTextRotation()
getAtomWordBoundaryOnLeft()
テキスト行に対する通常のイベント送出処理が終了した後で、テキスト行が有効な場合は、テキスト行に指定されるコンテンツエレメントオブジェクトの eventMirror プロパティで指定されるイベントディスパッチャにイベントがミラーされます。これらのオブジェクトは、TextLine.mirrorRegions プロパティに記録されます。イベント通知が失敗または停止した場合や、テキスト行が有効ではない場合は、イベントがミラーされません。
マウスイベントのミラーは特殊なケースです。ミラー領域は実際には表示オブジェクトではないので、mouseOver イベントと mouseOut イベントはシミュレートされます。rollOver イベントと rollOut イベントはシミュレートされません。自然に発生するすべての mouseOver イベント、mouseOut イベント、rollOver イベントおよび rollOut イベントは、そのターゲットがテキスト行であるか、テキスト行の子であるかに関係なしに無視され、ミラーされません。
TextLine オブジェクトの起点は、ベースラインの先頭です。 ローマン体のベースラインにラテン語のテキストがある行の垂直位置(y プロパティ)を設定しない場合は、Sprite の最上部の下にテキストのデセンダだけが表示されるので、そこにテキスト行を追加します。次の図を参照してください。
TextLine クラスには、DisplayObjectContainer、InteractiveObject、DisplayObject、EventDispatcher などの祖先クラスがあり、これらからプロパティやメソッドを継承します。以下に示す継承プロパティは TextLine オブジェクトに適用できません。
contextMenu
focusRect
tabChildren
tabEnabled
tabIndex
transform
これらのプロパティを設定しようとすると、テキストエンジンから IllegalOperationError のエラーがスローされます。これらのプロパティは読み取ることはできますが、常にデフォルト値が設定されています。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | accessibilityProperties : AccessibilityProperties
この表示オブジェクトの現在のアクセシビリティオプションです。 | DisplayObject | |
![]() | alpha : Number
指定されたオブジェクトのアルファ透明度値を示します。 | DisplayObject | |
| ascent : Number [読み取り専用]
行のベースラインから最も高さのある文字の最上部までのピクセル数を指定します。 | TextLine | ||
| atomCount : int [読み取り専用]
行内のアトムの数、つまりスペースおよびグラフィックエレメントを含む、分割できないエレメントの数です。 | TextLine | ||
![]() | blendMode : String
使用するブレンドモードを指定する BlendMode クラスの値です。 | DisplayObject | |
![]() | blendShader : Shader [書き込み専用]
前景と背景のブレンドに使用するシェーダを設定します。 | DisplayObject | |
![]() | cacheAsBitmap : Boolean
true に設定されている場合、表示オブジェクトの内部ビットマップ表現が Flash Player または Adobe AIR にキャッシュされます。 | DisplayObject | |
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。 | Object | |
![]() | contextMenu : NativeMenu
このオブジェクトに関連付けられたコンテキストメニューを指定します。 | InteractiveObject | |
| descent : Number [読み取り専用]
行のベースラインから最も下に突き出している文字の最下部までのピクセル数を指定します。 | TextLine | ||
![]() | doubleClickEnabled : Boolean
オブジェクトが doubleClick イベントを受け取るかどうかを指定します。 | InteractiveObject | |
![]() | filters : Array
表示オブジェクトに現在関連付けられている各フィルタオブジェクトが格納されているインデックス付きの配列です。 | DisplayObject | |
![]() | focusRect : Object
このオブジェクトがフォーカス矩形を表示するかどうかを指定します。 | InteractiveObject | |
| hasGraphicElement : Boolean [読み取り専用]
テキスト行がグラフィックエレメントを含んでいるかどうかを示します。 | TextLine | ||
![]() | height : Number
表示オブジェクトの高さを示します (ピクセル単位)。 | DisplayObject | |
![]() | loaderInfo : LoaderInfo [読み取り専用]
この表示オブジェクトが属するファイルのロード情報を含む LoaderInfo オブジェクトを返します。 | DisplayObject | |
![]() | mask : DisplayObject
呼び出し元の表示オブジェクトは、指定された mask オブジェクトによってマスクされます。 | DisplayObject | |
| mirrorRegions : Vector.<TextLineMirrorRegion> [読み取り専用]
行に関連付けられた、TextLineMirrorRegion オブジェクトを含む Vector です。存在しない場合は null になります。 | TextLine | ||
![]() | mouseChildren : Boolean
オブジェクトの子に対してマウスが有効かどうかを調べます。 | DisplayObjectContainer | |
![]() | mouseEnabled : Boolean
このオブジェクトがマウスメッセージを受け取るかどうかを指定します。 | InteractiveObject | |
![]() | mouseX : Number [読み取り専用]
マウス位置の x 座標を示します(ピクセル単位)。 | DisplayObject | |
![]() | mouseY : Number [読み取り専用]
マウス位置の y 座標を示します(ピクセル単位)。 | DisplayObject | |
![]() | name : String
DisplayObject のインスタンス名を示します。 | DisplayObject | |
| nextLine : TextLine [読み取り専用]
TextBlock 内の次の TextLine。現在の線がブロック内の最後の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。 | TextLine | ||
![]() | numChildren : int [読み取り専用]
このオブジェクトの子の数を返します。 | DisplayObjectContainer | |
![]() | opaqueBackground : Object
表示オブジェクトが特定の背景色で不透明であるかどうかを指定します。 | DisplayObject | |
![]() | parent : DisplayObjectContainer [読み取り専用]
この表示オブジェクトを含む DisplayObjectContainer オブジェクトを示します。 | DisplayObject | |
| previousLine : TextLine [読み取り専用]
TextBlock 内の前の TextLine。これがブロック内の最初の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。 | TextLine | ||
![]() | prototype : Object [静的]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。 | Object | |
| rawTextLength : int [読み取り専用]
グラフィックエレメントを表す U+FDEF 文字および行の一部だが表示されない行末の空白を含む、行になったテキストブロック内の生のテキストの長さです。 | TextLine | ||
![]() | root : DisplayObject [読み取り専用]
読み込まれた SWF ファイル内の表示オブジェクトの場合、root プロパティはその SWF ファイルが表す表示リストのツリー構造部分の一番上にある表示オブジェクトとなります。 | DisplayObject | |
![]() | rotation : Number
DisplayObject インスタンスの元の位置からの回転角を度単位で示します。 | DisplayObject | |
![]() | rotationX : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの x 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | rotationY : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの y 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | rotationZ : Number
DisplayObject インスタンスの 3D 親コンテナを基準にした元の位置からの z 軸の回転角を度単位で示します。 | DisplayObject | |
![]() | scale9Grid : Rectangle
現在有効な拡大 / 縮小グリッドです。 | DisplayObject | |
![]() | scaleX : Number
基準点から適用されるオブジェクトの水平スケール(パーセンテージ)を示します。 | DisplayObject | |
![]() | scaleY : Number
オブジェクトの基準点から適用されるオブジェクトの垂直スケール(percentage)を示します。 | DisplayObject | |
![]() | scaleZ : Number
オブジェクトの基準点から適用されるオブジェクトの奥行きスケール(パーセンテージ)を示します。 | DisplayObject | |
![]() | scrollRect : Rectangle
表示オブジェクトのスクロール矩形の境界です。 | DisplayObject | |
| specifiedWidth : Number [読み取り専用]
行を作成したときに、TextBlock.createTextLine() メソッドに対して指定された幅です。 | TextLine | ||
![]() | stage : Stage [読み取り専用]
表示オブジェクトのステージです。 | DisplayObject | |
![]() | tabChildren : Boolean
オブジェクトの子に対してタブが有効かどうかを調べます。 | DisplayObjectContainer | |
![]() | tabEnabled : Boolean
このオブジェクトがタブ順序に含まれるかどうかを指定します。 | InteractiveObject | |
![]() | tabIndex : int
SWF ファイル内のオブジェクトのタブ順序を指定します。 | InteractiveObject | |
| textBlock : TextBlock [読み取り専用]
このテキスト行を含む TextBlock。行の有効性が TextLineValidity.STATIC の場合は null になります。 | TextLine | ||
| textBlockBeginIndex : int [読み取り専用]
テキストブロックの生のテキストで、行の最初にあたる文字のインデックスです。 | TextLine | ||
| textHeight : Number [読み取り専用]
テキスト行の論理的な高さ、つまり ascent + descent に等しくなります。 | TextLine | ||
![]() | textSnapshot : TextSnapshot [読み取り専用]
この DisplayObjectContainer インスタンスの TextSnapshot オブジェクトを返します。 | DisplayObjectContainer | |
| textWidth : Number [読み取り専用]
テキスト行の論理的な幅です。テキストエンジンが行をレイアウトするのに使用します。 | TextLine | ||
![]() | transform : Transform
表示オブジェクトのマトリックス、カラー変換、ピクセル境界に関係するプロパティを持つオブジェクトです。 | DisplayObject | |
| unjustifiedTextWidth : Number [読み取り専用]
位置揃えをしていない場合の行の幅です。 | TextLine | ||
| userData : *
作成者が任意のデータをテキスト行に関連付けるための方法を提供します。 | TextLine | ||
| validity : String
テキスト行の現在の有効性を指定します。 | TextLine | ||
![]() | visible : Boolean
表示オブジェクトが可視かどうかを示します。 | DisplayObject | |
![]() | width : Number
表示オブジェクトの幅を示します (ピクセル単位)。 | DisplayObject | |
![]() | x : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの x 座標を示します。 | DisplayObject | |
![]() | y : Number
親 DisplayObjectContainer のローカル座標を基準にした DisplayObject インスタンスの y 座標を示します。 | DisplayObject | |
![]() | z : Number
3D 親コンテナを基準にした、DisplayObject インスタンスの z 軸に沿った z 座標位置を示します。 | DisplayObject | |
| メソッド | 定義元 | ||
|---|---|---|---|
![]() |
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。 | DisplayObjectContainer | |
![]() |
この DisplayObjectContainer インスタンスに子 DisplayObject インスタンスを追加します。 | DisplayObjectContainer | |
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。 | EventDispatcher | |
![]() |
特定の point ポイントを指定して呼び出した DisplayObjectContainer.getObjectsUnderPoint() メソッドから返されたリストに、セキュリティ上の制約のために省略される表示オブジェクトがあるかどうかを示します。 | DisplayObjectContainer | |
![]() |
指定された表示オブジェクトが、DisplayObjectContainer インスタンスの子であるか、インスタンス自体であるかを指定します。 | DisplayObjectContainer | |
![]() |
イベントをイベントフローに送出します。 | EventDispatcher | |
TextLine の基になるコンテンツを XML ストリングとしてダンプします。 | TextLine | ||
ガベージコレクションのために行のアトムデータを解放します。 | TextLine | ||
指定されたインデックス位置にあるアトムの双方向レベルを取得します。 | TextLine | ||
テキスト行を基準として、指定されたインデックス位置にあるアトムの境界を取得します。 | TextLine | ||
指定されたインデックス位置にあるベースラインに従って測定したアトムの中心を取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムのグラフィックを取得します(アトムが文字の場合は null)。 | TextLine | ||
charIndex パラメータで指定された文字を含むアトムのインデックスを返します。行内の各アトムにその文字が指定されていない場合は -1 を返します。 | TextLine | ||
x パラメータおよび y パラメータで指定されたポイントにあるアトムのインデックスを返します。そのポイントにアトムがない場合は -1 を返します。 | TextLine | ||
指定されたインデックス位置にあるアトムのテキストブロック開始インデックスを取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムのテキストブロック終了インデックスを取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムの回転を取得します。 | TextLine | ||
指定されたインデックス位置にあるアトムの左側に単語境界があるかどうかを示します。 | TextLine | ||
TextBlock.baselineZero を基準にして、指定されたベースラインの位置を取得します。 | TextLine | ||
![]() |
targetCoordinateSpace オブジェクトの座標系を基準にして、表示オブジェクトの領域を定義する矩形を返します。 | DisplayObject | |
![]() |
指定のインデックス位置にある子表示オブジェクトインスタンスを返します。 | DisplayObjectContainer | |
![]() |
指定された名前に一致する子表示オブジェクトを返します。 | DisplayObjectContainer | |
![]() |
子 DisplayObject インスタンスのインデックス位置を返します。 | DisplayObjectContainer | |
mirror パラメータの指定と mirror プロパティが一致する、行の最初の TextLineMirrorRegion を返します。一致しない場合は null を返します。 | TextLine | ||
![]() |
指定されたポイントの下にあり、この DisplayObjectContainer インスタンスの子 (または孫など) であるオブジェクトの配列を返します。 | DisplayObjectContainer | |
![]() |
シェイプ上の線を除き、targetCoordinateSpace パラメータによって定義された座標系に基づいて、表示オブジェクトの境界を定義する矩形を返します。 | DisplayObject | |
![]() |
point オブジェクトをステージ (グローバル) 座標から表示オブジェクトの (ローカル) 座標に変換します。 | DisplayObject | |
![]() |
ステージ(グローバル)座標の 2 次元のポイントを 3 次元の表示オブジェクトの(ローカル)座標に変換します。 | DisplayObject | |
![]() |
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。 | EventDispatcher | |
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
表示オブジェクトの境界ボックスを評価して、obj 表示オブジェクトの境界ボックスと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() |
表示オブジェクトを評価して、x および y パラメータで指定されたポイントと重複または交差するかどうかを調べます。 | DisplayObject | |
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
3 次元の表示オブジェクトの(ローカル)座標の 3 次元のポイントをステージ(グローバル)座標の 2 次元のポイントに変換します。 | DisplayObject | |
![]() |
point オブジェクトを表示オブジェクトの (ローカル) 座標からステージ (グローバル) 座標に変換します。 | DisplayObject | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
DisplayObjectContainer インスタンスの子リストから指定の child DisplayObject インスタンスを削除します。 | DisplayObjectContainer | |
![]() |
DisplayObjectContainer の子リストの指定された index 位置から子 DisplayObject を削除します。 | DisplayObjectContainer | |
![]() |
EventDispatcher オブジェクトからリスナーを削除します。 | EventDispatcher | |
![]() |
表示オブジェクトコンテナの既存の子の位置を変更します。 | DisplayObjectContainer | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
指定された 2 つの子オブジェクトの z 順序(重ね順)を入れ替えます。 | DisplayObjectContainer | |
![]() |
子リスト内の指定されたインデックス位置に該当する 2 つの子オブジェクトの z 順序 (重ね順) を入れ替えます。 | DisplayObjectContainer | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
![]() |
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。 | EventDispatcher | |
| 定数 | 定義元 | ||
|---|---|---|---|
| MAX_LINE_WIDTH : int = 1000000 [静的]
テキスト行の最大要求幅(ピクセル単位)です。 | TextLine | ||
| ascent | プロパティ |
ascent:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
行のベースラインから最も高さのある文字の最上部までのピクセル数を指定します。グラフィックエレメントのみを含む TextLine については、ascent を 0 に設定します。
public function get ascent():Number| atomCount | プロパティ |
atomCount:int [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
行内のアトムの数、つまりスペースおよびグラフィックエレメントを含む、分割できないエレメントの数です。
このプロパティにアクセスすると、まだアトムデータが存在しない場合は、アトムデータが作成されます。
public function get atomCount():intIllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| descent | プロパティ |
descent:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
行のベースラインから最も下に突き出している文字の最下部までのピクセル数を指定します。グラフィックエレメントのみを含む TextLine については、descent を 0 に設定します。
public function get descent():Number| hasGraphicElement | プロパティ |
hasGraphicElement:Boolean [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキスト行がグラフィックエレメントを含んでいるかどうかを示します。
public function get hasGraphicElement():Boolean関連項目
| mirrorRegions | プロパティ |
mirrorRegions:Vector.<TextLineMirrorRegion> [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
行に関連付けられた、TextLineMirrorRegion オブジェクトを含む Vector です。存在しない場合は null になります。
public function get mirrorRegions():Vector.<TextLineMirrorRegion>関連項目
| nextLine | プロパティ |
nextLine:TextLine [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock 内の次の TextLine または null(現在の線がブロック内の最後の行である場合、または行の有効性が TextLineValidity.STATIC の場合)。
public function get nextLine():TextLine関連項目
| previousLine | プロパティ |
previousLine:TextLine [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock 内の前の TextLine。これがブロック内の最初の行である場合、または行の有効性が TextLineValidity.STATIC の場合は null になります。
public function get previousLine():TextLine関連項目
| rawTextLength | プロパティ |
rawTextLength:int [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
グラフィックエレメントを表す U+FDEF 文字および行の一部だが表示されない行末の空白を含む、行になったテキストブロック内の生のテキストの長さです。
public function get rawTextLength():int関連項目
| specifiedWidth | プロパティ |
specifiedWidth:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
行を作成したときに、TextBlock.createTextLine() メソッドに対して指定された幅です。この値は、変更によって行の改行処理が再度必要になるのかどうかを判断するときに便利です。
public function get specifiedWidth():Number関連項目
| textBlock | プロパティ |
textBlock:TextBlock [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
このテキスト行を含む TextBlock。行の有効性が TextLineValidity.STATIC の場合は null になります。
public function get textBlock():TextBlock関連項目
| textBlockBeginIndex | プロパティ |
textBlockBeginIndex:int [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキストブロックの生のテキストで、行の最初にあたる文字のインデックスです。
public function get textBlockBeginIndex():int関連項目
| textHeight | プロパティ |
textHeight:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキスト行の論理的な高さ、つまり ascent + descent に等しくなります。インキが使用される高さを取得するには、継承された height プロパティにアクセスします。
値は、TextBlock.baselineZero が文字であるかどうかにより、行を結合する文字の最上部と最下部、またはアセントとディセントのいずれかのベースライン間の差に基づいて計算されます。グラフィックエレメントは、これらのベースラインの計算では考慮されません。
public function get textHeight():Number関連項目
| textWidth | プロパティ |
textWidth:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキスト行の論理的な幅です。テキストエンジンが行をレイアウトするのに使用します。継承された width プロパティにアクセスし、描画されたすべてのピクセルによる境界ボックスの実際の幅を取得します。
public function get textWidth():Number関連項目
specifiedWidth、textWidth および width の各プロパティの値をトレースします。トレース出力は次のとおりです。
package {
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.FontDescription;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontPosture;
public class TextLine_textWidthExample extends Sprite {
public function TextLine_textWidthExample() {
var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, ";
var yPos:Number = 20;
var fontDescription:FontDescription = new FontDescription();
var textBlock:TextBlock = new TextBlock();
fontDescription.fontPosture = FontPosture.NORMAL;
var format:ElementFormat = new ElementFormat(fontDescription, 12);
var textElement:TextElement = new TextElement(str, format);
textBlock.content = textElement;
createLine(textBlock, yPos);
var fontDescriptionItalic = fontDescription.clone();
fontDescriptionItalic.fontPosture = FontPosture.ITALIC;
var formatItalic = new ElementFormat(fontDescriptionItalic, 12);
textElement = new TextElement(str, formatItalic);
textBlock.content = textElement;
createLine(textBlock, yPos + 20);
}
private function createLine(textBlock:TextBlock, yPos:Number):void {
var textLine:TextLine = textBlock.createTextLine (null, 500);
trace("specifiedWidth is: " + textLine.specifiedWidth);
trace("textWidth is: " + textLine.textWidth);
trace("width is: " + textLine.width);
addChild(textLine);
textLine.x = 15;
textLine.y = yPos;
}
}
}
| unjustifiedTextWidth | プロパティ |
unjustifiedTextWidth:Number [読み取り専用] | 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
位置揃えをしていない場合の行の幅です。位置揃えされていないテキストの場合、この値は textWidth と同じです。位置揃えされているテキストの場合、この値は位置揃えされていなかった場合の長さであり、textWidth の値が実際の行の幅を表します。例えば、次のストリングが位置揃えされ、幅に 500 を指定して TextBlock.createTextLine() に送信された場合は、実際の幅が 500 ですが、位置揃えされていない幅は 268.9921875 になります。
public function get unjustifiedTextWidth():Number関連項目
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.FontDescription;
import flash.text.engine.ElementFormat;
import flash.text.engine.SpaceJustifier;
import flash.text.engine.LineJustification;
var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, ";
var fontDescription:FontDescription = new FontDescription();
var textBlock:TextBlock = new TextBlock();
var format:ElementFormat = new ElementFormat(fontDescription, 12);
var textElement:TextElement = new TextElement(str, format);
textBlock.content = textElement;
var spaceJustifier:SpaceJustifier = new SpaceJustifier("en", LineJustification.ALL_INCLUDING_LAST);
textBlock.textJustifier = spaceJustifier;
var textLine:TextLine = textBlock.createTextLine(null, 500);
textLine.y = 20;
addChild(textLine);
trace("textWidth value is: " + textLine.textWidth); // 500.00244140625
trace("unjustifiedTextWidth is: " + textLine.unjustifiedTextWidth); // 268.9921875
| userData | プロパティ |
public var userData:*| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
作成者が任意のデータをテキスト行に関連付けるための方法を提供します。
| validity | プロパティ |
validity:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキスト行の現在の有効性を指定します。このプロパティのシステム値は、TextLineValidity クラスのメンバー内に含まれます。このプロパティの設定規則は、次のようになります。
有効性が TextLineValidity のメンバーではないいずれかのストリングに設定される場合、行は USER_INVALID であると見なされます。USER_INVALID は、このような値を表すためにここで使用される抽象値です。
TextBlock のコンテンツが変更されると、Flash Player のコードは、影響を受けたテキスト行、前の行およびすべての継続行を INVALID としてマークします。以前は最初に影響を受けた行にあったコンテンツ部分が、変更によってその前の行に取り込まれるようになる場合、前の行は無効とマークされる必要があります。
新しく改行された行は、常に VALID です。Flash Player は、継続行を VALID から POSSIBLY_INVALID または INVALID に変更することがあります。このコードは、改行内容が同じである場合は POSSIBLY_INVALID の行を VALID に、同じでない場合は INVALID に変更します。
ユーザーコードでは、VALID の行を INVALID または USER_INVALID とマークしたり、USER_INVALID の行を VALID とマークしたりできます。ユーザーコードは、行を POSSIBLY_INVALID とマークすることはできません。
ユーザーコードは、いずれの行も STATIC とマークできます。この操作を行うと、block メンバーが null になります。またこれにより、行のアトムデータがクリアされ、再作成されないようになります。STATIC のテキスト行内のグラフィックエレメントが STATIC のテキスト行の派生元であるテキストブロックから改行された新しいテキスト行の部分である場合、それらはすべて削除され、親が再設定されます。
public function get validity():String public function set validity(value:String):voidArgumentError — 現在の値が TextLineValidity.STATIC の場合。
| |
ArgumentError — 現在の値が TextLineValidity.INVALID で、新しい値が TextValidity.STATIC 以外の値である場合。
| |
ArgumentError — 現在の値が TextLineValidity.POSSIBLY_INVALID で、新しい値が TextLineValidity.VALID である場合。
| |
ArgumentError — 新しい値が TextLineValidity.POSSIBLY_INVALID の場合。
|
関連項目
| dump | () | メソッド |
public function dump():String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextLine の基になるコンテンツを XML ストリングとしてダンプします。これは自動化されたテストで役立ちます。これにはテキスト、書式およびレンダリング情報が含まれます。Flash Player デバッグ版でのみ使用可能です。
出力について詳しくは、TextBlock.dump() メソッドを参照してください。
注意:このメソッドからのコンテンツおよび出力のフォーマットは、今後変更される可能性があります。アドビ システムズ社は、このメソッドの後方互換性は保証していません。
戻り値String |
関連項目
| flushAtomData | () | メソッド |
public function flushAtomData():void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ガベージコレクションのために行のアトムデータを解放します。「アトム」とは、テキスト行を構成する分割できないエンティティについて言及する用語です。テキストエンジンは、atomCount プロパティにアクセスするか、アトムに関する情報を取り出すメソッドのどれかを呼び出したときにアトムデータを生成します。
関連項目
| getAtomBidiLevel | () | メソッド |
public function getAtomBidiLevel(atomIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にあるアトムの双方向レベルを取得します。TextBlock.bidiLevel と行を構成する文字の Unicode の双方向プロパティの組み合わせで決まります。
例えば、テキストブロックがヘブライ語のテキストで始まる場合、TextBlock.bidiLevel に 1 を設定して、右から左方向をデフォルトに設定します。テキストの中に英語の引用(左から右方向)がある場合は、そのテキストの AtomBidiLevel には 2 が設定されています。その英語の中にアラビア語(右から左方向)が入っている場合には、AtomBidiLevel は 3 になります。アラビア語の中で数字(左から右方向)が出てくる場合は、その数字の AtomBidiLevel の設定値は 4 です。アトムがどの行で終わるかは関係ありません。ヘブライ語のアトムは AtomBidiLevel が 1、英語のアトムは AtomBidiLevel が 2、アラビア語のアトムは AtomBidiLevel が 3、数字のアトムは AtomBidiLevel が 4 です。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
int — atomIndex で指定された位置のアトムの双方向レベルです。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomBounds | () | メソッド |
public function getAtomBounds(atomIndex:int):Rectangle| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキスト行を基準として、指定されたインデックス位置にあるアトムの境界を取得します。指定されたアトムの境界は、行の水平座標(x)、行の垂直座標(y)、幅(w)および高さ(h)で構成されます。すべての値はピクセル単位です。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
Rectangle — atomIndex で指定された位置のアトムの境界です。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomCenter | () | メソッド |
public function getAtomCenter(atomIndex:int):Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にあるベースラインに従って測定したアトムの中心を取得します。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
Number — atomIndex で指定された位置のアトムの中心です。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomGraphic | () | メソッド |
public function getAtomGraphic(atomIndex:int):DisplayObject| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にあるアトムのグラフィックを取得します(アトムが文字の場合は null)。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
DisplayObject — atomIndex で指定された位置のアトムのグラフィックです。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomIndexAtCharIndex | () | メソッド |
public function getAtomIndexAtCharIndex(charIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
charIndex パラメータで指定された文字を含むアトムのインデックスを返します。行内の各アトムにその文字が指定されていない場合は -1 を返します。charIndex は、行を含むテキストブロックのコンテンツ全体に対する相対的な値です。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
charIndex:int — 文字の 0 から始まるインデックス値です。つまり、最初の文字は 0、2 番目の文字は 1 で、以下同様に続きます。
|
int — charIndex の位置にある文字を含むアトムのインデックスです。行内の各アトムにその文字が指定されていない場合は -1 を返します。
|
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomIndexAtPoint | () | メソッド |
public function getAtomIndexAtPoint(stageX:Number, stageY:Number):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
x パラメータおよび y パラメータで指定されたポイントにあるアトムのインデックスを返します。そのポイントにアトムがない場合は -1 を返します。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
このメソッドが取り出す座標値はグローバル座標なので、MouseEvent.stageX および MouseEvent.stageY プロパティと一緒に使うことが簡単にできます。
パラメータ
stageX:Number — 検査対象のポイントのグローバル x 座標です。
| |
stageY:Number — 検査対象のポイントのグローバル y 座標です。
|
int — このポイントにあるアトムのインデックスです。指定されたポイントがどのアトムの上にもない場合は -1 を返します。
|
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomTextBlockBeginIndex | () | メソッド |
public function getAtomTextBlockBeginIndex(atomIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にあるアトムのテキストブロック開始インデックスを取得します。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
int — atomIndex で指定された位置のアトムのテキストブロック開始インデックスです。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomTextBlockEndIndex | () | メソッド |
public function getAtomTextBlockEndIndex(atomIndex:int):int| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にあるアトムのテキストブロック終了インデックスを取得します。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
int — atomIndex で指定された位置のアトムのテキストブロック終了インデックスです。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomTextRotation | () | メソッド |
public function getAtomTextRotation(atomIndex:int):String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にあるアトムの回転を取得します。このプロパティには、TextRotation 定数が使用されます。アトムの回転は、エレメントおよび行の累積された回転です。主に、TextLine を操作するときにキャレット(カーソル)の方向を設定するために使用されます。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
String — atomIndex で指定された位置のアトムの回転です。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getAtomWordBoundaryOnLeft | () | メソッド |
public function getAtomWordBoundaryOnLeft(atomIndex:int):Boolean| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックス位置にあるアトムの左側に単語境界があるかどうかを示します。単語境界は、行に指定される文字の Unicode プロパティに基づいて決定されます。
このメソッドを呼び出すと、まだアトムデータが存在しない場合は、アトムデータが作成されます。
パラメータ
atomIndex:int — アトムの 0 から始まるインデックス値です。つまり、最初のアトムは 0、2 番目のアトムは 1 で、以下同様に続きます。
|
Boolean — atomIndex で指定された位置のアトムの左側に単語境界があるかどうかを示すブール値です。
|
RangeError — 指定されたアトムのインデックスは範囲外です。
| |
IllegalOperationError — 行の validity は、TextLineValidity.STATIC です。
|
関連項目
| getBaselinePosition | () | メソッド |
public function getBaselinePosition(baseline:String):Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
TextBlock.baselineZero を基準にして、指定されたベースラインの位置を取得します。
パラメータ
baseline:String — 位置を取得するベースラインです。TextBaseline の値を使用します。
|
Number — TextBlock.baselineZero を基準とする、指定されたベースラインの位置です。
|
ArgumentError — 指定された baseline が、TextBaseline のメンバーでない場合。
|
関連項目
| getMirrorRegion | () | メソッド |
public function getMirrorRegion(mirror:EventDispatcher):TextLineMirrorRegion| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
mirror パラメータの指定と mirror プロパティが一致する行の最初の TextLineMirrorRegion を返します。一致しない場合は null を返します。
単一の TextElement でも、双方向および改行の状態によっては 1 行または複数行に対する複数の TextLineMirrorRegion オブジェクトを作成できます。nextRegion および previousRegion プロパティは、1 つのテキストエレメントから生成されたすべてのミラー領域をリンクします。
パラメータ
mirror:EventDispatcher — 検索対象の EventDispatcher ミラーオブジェクトです。
|
TextLineMirrorRegion — 指定された値と mirror プロパティが一致する行の最初の TextLineMirrorRegion です。一致しない場合は null になります。
|
関連項目
| MAX_LINE_WIDTH | 定数 |
public static const MAX_LINE_WIDTH:int = 1000000| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | Flash Player 10, AIR 1.5 |
テキスト行の最大要求幅(ピクセル単位)です。 TextBlock.createTextLine() メソッドはこの定数を width パラメータの値を指定しない場合のデフォルト値として使用します。
関連項目
getAtomBounds() を使用して、各テキスト行にフレームを作成する手順を表示します。
package {
import flash.display.Sprite;
import flash.text.engine.TextBlock;
import flash.text.engine.TextElement;
import flash.text.engine.TextLine;
import flash.text.engine.ElementFormat;
import flash.text.engine.FontDescription;
import flash.text.engine.FontPosture;
import flash.text.engine.FontWeight;
import fl.controls.NumericStepper;
import flash.events.Event;
import flash.geom.Rectangle;
public class TextLineExample extends Sprite {
private var atomStepper:NumericStepper = new NumericStepper();
private var atomDataContainer:Sprite;
private var fontDescriptionItalic:FontDescription = new FontDescription("Arial", FontWeight.NORMAL, FontPosture.ITALIC);
private var fontDescriptionNormal:FontDescription = new FontDescription("Arial", FontWeight.NORMAL , FontPosture.NORMAL);
private var textBlock:TextBlock = new TextBlock();
private var textLine:TextLine;
public function TextLineExample():void {
var myText:String = "I am a TextElement, created from a String and assigned " +
"to the content property of a TextBlock. From the text block, " +
"the createTextLine() method created these lines, 300 pixels wide, " +
"for display." ;
atomStepper.minimum = 0;
atomStepper.value = 0;
atomStepper.width = 50;
addChild(atomStepper);
atomStepper.x = 20;
atomStepper.y = 120;
atomStepper.addEventListener(Event.CHANGE, nsChange);
var directions:String = "Click up / down arrows to frame atoms in text block above.";
var formatItalic:ElementFormat = new ElementFormat(fontDescriptionItalic);
formatItalic.fontSize = 12;
var textElement1:TextElement = new TextElement(directions, formatItalic);
textBlock.content = textElement1;
createLines(textBlock, 15, 160, 400, this);
var formatNormal:ElementFormat = new ElementFormat(fontDescriptionNormal);
formatNormal.fontSize = 16;
var textElement2:TextElement = new TextElement(myText, formatNormal);
textBlock.content = textElement2;
createLines(textBlock, 15.0, 20.0, 300, this);
textLine = textBlock.firstLine;
atomStepper.maximum = textLine.atomCount - 1;
showAtom(textLine, 0);
}
private function nsChange(event:Event):void
{
removeAtom(textLine);
if (atomStepper.value == textLine.atomCount - 1)
{
if(textLine != textBlock.lastLine)
{
textLine = textLine.nextLine;
atomStepper.maximum = textLine.atomCount - 1;
atomStepper.value = 0;
}
}
showAtom(textLine, atomStepper.value);
}
private function createLines(textBlock, startX, startY, width, container)
{
var textLine:TextLine = textBlock.createTextLine (null, width);
while (textLine)
{
textLine.x = startX;
textLine.y = startY;
startY += textLine.height + 2;
container.addChild(textLine);
textLine = textBlock.createTextLine (textLine, width);
}
}
private function showAtom(textLine, i):void
{
var box:Sprite = new Sprite();
var mcGraphics = box.graphics;
var bounds:Rectangle = textLine.getAtomBounds(i);
mcGraphics.lineStyle(1, 0xFF0000, 1.0);
mcGraphics.drawRect(bounds.left, bounds.top, bounds.width, bounds.height);
textLine.userData = textLine.addChild(box);
displayAtomData(textLine,i);
}
private function displayAtomData(textLine, i)
{
if(atomDataContainer != null)
removeChild(atomDataContainer);
atomDataContainer=new Sprite();
var format = new ElementFormat(fontDescriptionNormal);
format.color = 0x00000FF;
var n:int = 0;
var nxtY:Number = 0;
var atomInfo:String = "value of getAtomBidiLevel() is: " + textLine.getAtomBidiLevel(i)+"\n"
+"value of getAtomCenter() is: " + textLine.getAtomCenter(i)+"\n"
+"value of getAtomIndexAtCharIndex() is: " + textLine.getAtomIndexAtCharIndex(i)+"\n"
+"value of getAtomTextBlockBeginIndex() is: " + textLine.getAtomTextBlockBeginIndex(i)+"\n"
+"value of getAtomTextBlockEndIndex() is: " + textLine.getAtomTextBlockEndIndex(i)+"\n"
+"value of getAtomTextRotation() is: " + textLine.getAtomTextRotation(i)+"\n";
var atomtextBlock:TextBlock = new TextBlock();
var textElement3:TextElement = new TextElement(atomInfo, format);
atomtextBlock.content = textElement3;
createLines(atomtextBlock,20,200,500, atomDataContainer)
addChild(atomDataContainer);
}
private function removeAtom(textLine):void
{
textLine.removeChild(textLine.userData);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/text/engine/TextLine.html