パッケージ | flashx.textLayout.compose |
インターフェイス | public interface IFlowComposer |
実装者 | StandardFlowComposer |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
フローコンポーザー実装で表示されるテキストフローには、動的およびインタラクティブなテキストフローを指定できます。フローコンポーザーは、1 つ以上の表示コントローラーを管理します。各コントローラーは表示オブジェクトコンテナ(Sprite など)に関連付けられており、それによって、テキストフローに作成された行が最終的に表示されます。次の図は、TextFlow、IFlowComposer、ContainerController および DisplayObjectContainer オブジェクト間の関係を示しています。
フローコンポーザーは各コンテナに収まるテキストフロー部分を計算し、適切なテキスト行をコンテナの表示オブジェクトに追加します。IFlowComposer インターフェイスは、レイアウトの計算および表示の更新に、別個のメソッドを定義します。また、IFlowComposer はテキストフローを徐々に構成および更新するメソッドも定義します。これらのメソッドを使用して、長いテキストフローを更新する際に、ユーザーインターフェイスをブロックするのを避けることができます。
テキストの構成と表示を管理するほかに、フローコンポーザーはフォーカスを持つコンテナを制御し、選択ハイライトの表示を管理し(コンテナ境界を交差できる)、フロー内のすべての TextLine オブジェクトへの直接アクセスを提供します。
IFlowComposer 実装を使用するには、この実装のインスタンスを TextFlow オブジェクトの flowComposer
プロパティに割り当てます。updateAllControllers()
メソッドを呼び出して、フローコンポーザーに関連付けられているコンテナでテキストをレイアウトおよび表示します。
注意:単純な静的テキストフローの場合、テキスト行のファクトリークラスの 1 つを使用することもできます。これらのファクトリークラスを使用すると、一般にフローコンポーザーよりも少ないオーバーヘッドで行を作成できますが、編集、動的な変更、ユーザー操作はサポートされません。
関連する API エレメント
FlowComposerBase
StandardFlowComposer
TextFlow
StringTextLineFactory
TextFlowTextLineFactory
プロパティ | 定義元 | ||
---|---|---|---|
composing : Boolean [読み取り専用]
フローコンポーザーが現在、構成操作を実行している場合は True。 | IFlowComposer | ||
damageAbsoluteStart : int [読み取り専用]
フローの開始からの絶対位置としての、ルートエレメント内の最初の無効な位置。 | IFlowComposer | ||
numControllers : int [読み取り専用]
この IFlowComposer インスタンスに割り当てられているコンテナ数。 | IFlowComposer | ||
numLines : int [読み取り専用]
フロー内で構成される合計行数。 | IFlowComposer | ||
rootElement : ContainerFormattedElement [読み取り専用]
この IFlowComposer インスタンスに関連付けられているルートエレメント。 | IFlowComposer | ||
swfContext : ISWFContext
特定の SWF コンテキストでの呼び出しで使用する ISWFContext インスタンスです。IFlowComposer の実装では、インターフェイスのユーザーが実装を含む SWF コンテキスト以外の SWF コンテキストで行を作成できるように、このプロパティの設定を許可する必要があります。 | IFlowComposer |
メソッド | 定義元 | ||
---|---|---|---|
コントローラーをこの IFlowComposer インスタンスに追加します。 | IFlowComposer | ||
コンテナを、指定されたインデックスにあるこの IFlowComposer インスタンスに追加します。 | IFlowComposer | ||
フローのルートエレメントのコンテンツを表示するために必要な行数、およびフローの表示コンテナでのこれらの行の位置を計算します。 | IFlowComposer | ||
指定されたインデックスにあるコンテナまで、ルートエレメントのコンテンツを構成します。 | IFlowComposer | ||
指定された位置までルートエレメントのコンテンツを構成します。 | IFlowComposer | ||
損傷していて再構成が必要なものとして行にマークをつけます。 | IFlowComposer | ||
指定された位置のコンテンツを含むコントローラーのインデックスを返します。 | IFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
指定された位置のコンテンツを含む、TextFlowLine オブジェクトを返します。 | IFlowComposer | ||
指定された位置のコンテンツを含む TextFlowLine オブジェクトの、連続する行番号を返します。 | IFlowComposer | ||
指定されたインデックスにある ContainerController オブジェクトを返します。 | IFlowComposer | ||
指定された ContainerController オブジェクトのインデックスを返します。 | IFlowComposer | ||
指定された行番号の行を返します。 | IFlowComposer | ||
操作マネージャーの変更時に TextFlow によって呼び出されます。 | IFlowComposer | ||
フローの開始と指定された位置のコンテンツを含む行との間の TextFlowLine オブジェクトに、損傷とマークされるものがあるかどうかを示します。 | IFlowComposer | ||
この IFlowComposer インスタンスからすべてのコントローラーを削除します。 | IFlowComposer | ||
この IFlowComposer インスタンスから 1 つのコントローラーを削除します。 | IFlowComposer | ||
この IFlowComposer インスタンスから、指定されたインデックスにあるコントローラーを削除します。 | IFlowComposer | ||
absolutePosition パラメーターによって指定された位置を含むコンテナにフォーカスを設定します。 | IFlowComposer | ||
IFlowComposer | |||
ルートエレメントのコンテンツを構成し、表示を更新します。 | IFlowComposer | ||
TextFlow へのマッピングが維持されるように行の長さを更新します。 | IFlowComposer | ||
指定されたインデックスにあるコンテナまで、表示を構成および更新します。 | IFlowComposer |
composing | プロパティ |
damageAbsoluteStart | プロパティ |
numControllers | プロパティ |
numLines | プロパティ |
rootElement | プロパティ |
rootElement:ContainerFormattedElement
[読み取り専用] 言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
この IFlowComposer インスタンスに関連付けられているルートエレメント。
ルートエレメントにすることができるのは、TextFlow オブジェクトのみです。
実装
public function get rootElement():ContainerFormattedElement
関連する API エレメント
swfContext | プロパティ |
swfContext:ISWFContext
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
特定の SWF コンテキストでの呼び出しで使用する ISWFContext インスタンス
IFlowComposer の実装では、インターフェイスのユーザーが実装を含む SWF コンテキスト以外の SWF コンテキストで行を作成できるように、このプロパティの設定を許可する必要があります。ISWFContext のデフォルト実装も提供する必要があります。
実装
public function get swfContext():ISWFContext
public function set swfContext(value:ISWFContext):void
関連する API エレメント
addController | () | メソッド |
public function addController(controller:ContainerController):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
コントローラーをこの IFlowComposer インスタンスに追加します。
コンテナがコンテナリストの末尾に追加されます。
パラメーター
controller:ContainerController — 追加する ContainerController オブジェクトです。
|
addControllerAt | () | メソッド |
public function addControllerAt(controller:ContainerController, index:int):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
コンテナを、指定されたインデックスにあるこの IFlowComposer インスタンスに追加します。
コントローラーのリストは 0 を基準としています(最初のコントローラーのインデックスは 0 です)。
パラメーター
controller:ContainerController — 追加する ContainerController オブジェクトです。
| |
index:int — コントローラーリストで ContainerController オブジェクトを挿入する位置を指定する数値インデックスです。
|
compose | () | メソッド |
public function compose():Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
フローのルートエレメントのコンテンツを表示するために必要な行数、およびフローの表示コンテナでのこれらの行の位置を計算します。
このメソッドの実装で表示を更新することはできませんが、フローコンテンツが変更されていない場合、以後の compose()
または updateAllControllers()
の呼び出しで追加の再構成が実行されないように、結果を保存する必要があります。
いずれかのコンテナのコンテンツが変更された場合、メソッドは true
を返す必要があります。
Boolean — 何かが変更された場合は true。
|
関連する API エレメント
composeToController | () | メソッド |
public function composeToController(index:int):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックスにあるコンテナまで、ルートエレメントのコンテンツを構成します。
指定されたインデックスにあるコンテナまでのいずれかコンテナのコンテンツが変更された場合、メソッドは true
を返します。コントローラーの数よりも index
が大きい場合(または指定されていない場合)、すべてのコンテナが構成されます。
パラメーター
index:int (default = NaN ) — テキストフローで少なくともこのコンテナまで構成します。コントローラーの数よりも controllerIndex が大きい場合は、最終コンテナの最後まで構成します。
|
Boolean — 何かが変更された場合は true。
|
関連する API エレメント
composeToPosition | () | メソッド |
public function composeToPosition(absolutePosition:int):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された位置までルートエレメントのコンテンツを構成します。
指定された位置のコンテンツを保持するコンテナまでのいずれかのコンテナのコンテンツが変更された場合、メソッドは true
を返します。absolutePosition
が TextFlow の長さよりも大きい場合(または指定されていない場合)、フロー全体が構成されます。
パラメーター
absolutePosition:int (default = NaN ) — テキストフローで少なくともこの位置まで構成します。デフォルトまたはフローの末尾が absolutePosition を超える場合、フローの最後まで構成されます。
|
Boolean — 何かが変更された場合は true。
|
関連する API エレメント
damage | () | メソッド |
public function damage(startPosition:int, damageLength:int, damageType:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
損傷していて再構成が必要なものとして行にマークをつけます。
パラメーター
startPosition:int — 損傷範囲の始点
| |
damageLength:int — 損傷の文字数
| |
damageType:String — 損傷のタイプ。flashx.textLayout.compose.FlowDamageType の 1 つ
|
関連する API エレメント
findControllerIndexAtPosition | () | メソッド |
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された位置のコンテンツを含むコントローラーのインデックスを返します。
位置は、テキストフローの 2 つの文字間または他のエレメント間の仕切りと見なすことができます。absolutePosition
の値が、あるコンテナの最後の文字と次のコンテナの最初の文字の間の位置である場合、preferPrevious
パラメーターが true
に設定されている場合は前のコンテナが返され、preferPrevious
パラメーターが false
に設定されている場合は後のコンテナが返されます。
指定された位置のコンテンツがどのコンテナにもない場合、またはテキストフローの位置の範囲外にある場合、メソッドは -1 を返す必要があります。
パラメーター
absolutePosition:int — コンテナインデックスがシークされるコンテンツの位置です。
| |
preferPrevious:Boolean (default = false ) — あるコンテナの最終エレメントと次のコンテナの最初のエレメントの間に位置がある場合に、返されるコンテナインデックスを指定します。
|
int — コンテナコントローラーのインデックス、またはない場合は -1。
|
findLineAtPosition | () | メソッド |
public function findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された位置のコンテンツを含む、TextFlowLine オブジェクトを返します。
位置は、テキストフローの 2 つの文字間または他のエレメント間の仕切りと見なすことができます。absolutePosition
の値が、ある行の最後のエレメントと次の行の最初のエレメントの間の位置である場合、preferPrevious
パラメーターが true
に設定されている場合は前の行が返され、preferPrevious
パラメーターが false
に設定されている場合は後の行が返されます。
パラメーター
absolutePosition:int — TextFlowLine オブジェクトが必要なコンテンツの位置。
| |
preferPrevious:Boolean (default = false ) — ある行の最後のエレメントと次の行の最初のエレメントの間に位置がある場合に、返される行を指定します。
|
flashx.textLayout.compose:TextFlowLine — 指定された位置のコンテンツを含む TextFlowLine、または見つからない場合は null。
|
findLineIndexAtPosition | () | メソッド |
public function findLineIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された位置のコンテンツを含む TextFlowLine オブジェクトの、連続する行番号を返します。
最初の行の番号は 0 で、最後の行の番号は行数から 1 を引いた数です。absolutePosition
で指定された位置がテキストフローの末尾よりも後の場合、このメソッドはテキストフローに追加された次の新規行に割り当てられる数(現在の行数)を返す必要があります。
位置は、テキストフローの 2 つの文字間または他のエレメント間の仕切りと見なすことができます。absolutePosition
の値が、あるコンテナの最後の行と次のコンテナの最初の行の間の位置である場合、preferPrevious
パラメーターが true
に設定されている場合は前のコンテナが返され、preferPrevious
パラメーターが false
に設定されている場合は後のコンテナが返されます。
パラメーター
absolutePosition:int — テキスト行が必要なコンテンツの位置。
| |
preferPrevious:Boolean (default = false ) — あるコンテナの最後の行と次のコンテナの最初の行の間に位置がある場合に、返されるコンテナインデックスを指定します。
|
int — 指定された位置のテキスト行のインデックス。見つからない場合は、末尾よりも後として処理し、行数を返します。
|
getControllerAt | () | メソッド |
public function getControllerAt(index:int):ContainerController
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックスにある ContainerController オブジェクトを返します。
パラメーター
index:int — 返す ContainerController オブジェクトのインデックスです。
|
ContainerController — 指定された位置の ContainerController オブジェクトです。
|
getControllerIndex | () | メソッド |
public function getControllerIndex(controller:ContainerController):int
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された ContainerController オブジェクトのインデックスを返します。
パラメーター
controller:ContainerController — 検索する ContainerController オブジェクトへの参照です。
|
int — 指定された ContainerController オブジェクトのインデックス、またはこのフローコンポーザーにコントローラーが関連付けられていない場合は -1。
|
getLineAt | () | メソッド |
public function getLineAt(index:int):flashx.textLayout.compose:TextFlowLine
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定された行番号の行を返します。
行のリストには、ゼロから行数マイナス 1 の数までの番号が付けられています。index
の値が行リストの範囲外の場合、この関数は null
を返します。
パラメーター
index:int — 返す TextFlowLine オブジェクトの行番号。
|
flashx.textLayout.compose:TextFlowLine — 指定された行番号の TextFlowLine、または見つからない場合は null 。
|
interactionManagerChanged | () | メソッド |
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
操作マネージャーの変更時に TextFlow によって呼び出されます。
IFlowComposer の実装は、操作マネージャーを参照するイベントリスナーおよびプロパティを更新する必要があります。
パラメーター
newInteractionManager:ISelectionManager — 新しい ISelectionManager インスタンス。
|
isDamaged | () | メソッド |
public function isDamaged(absolutePosition:int):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
フローの開始と指定された位置のコンテンツを含む行との間の TextFlowLine オブジェクトに、損傷とマークされるものがあるかどうかを示します。
パラメーター
absolutePosition:int — 該当領域の最後の位置
|
Boolean — フローの開始から absolutePosition のコンテンツを含む行までの TextFlowLine オブジェクトに損傷とマークされるものがある場合は、true。
|
removeAllControllers | () | メソッド |
public function removeAllControllers():void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
この IFlowComposer インスタンスからすべてのコントローラーを削除します。
removeController | () | メソッド |
public function removeController(controller:ContainerController):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
この IFlowComposer インスタンスから 1 つのコントローラーを削除します。
パラメーター
controller:ContainerController — 削除する ContainerController インスタンスです。
|
removeControllerAt | () | メソッド |
setFocus | () | メソッド |
public function setFocus(absolutePosition:int, preferPrevious:Boolean = false):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
absolutePosition
パラメーターで指定された位置を含むコンテナにフォーカスを設定します。
実装では、フォーカスの設定とは何かを定義します。例えば、実装では Stage オブジェクトの組み込みの focus
プロパティを使用できます(コンテナが InteractiveObjects の場合)。また、フォーカスを他の方法で管理することもできます。
パラメーター
absolutePosition:int — フォーカスを受け取るコンテナのテキストフローでの位置を指定します。
| |
preferPrevious:Boolean (default = false ) — true で、位置がコンテナの最初の文字より前の場合、前のコンテナの末尾にフォーカスを設定します。
|
関連する API エレメント
setRootElement | () | メソッド |
public function setRootElement(newRootElement:ContainerFormattedElement):void
パラメーター
newRootElement:ContainerFormattedElement |
updateAllControllers | () | メソッド |
public function updateAllControllers():Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
ルートエレメントのコンテンツを構成し、表示を更新します。
テキストレイアウトは通常、構成と表示の 2 つの段階で行われます。構成段階では、フローコンポーザーは、コンテンツの表示に必要な行数およびフローの表示コンテナでのこれらの行の位置を計算します。表示段階では、フローコンポーザーはコンテナの表示オブジェクトの子を更新します。updateAllControllers()
メソッドは、両方の段階を実行します。効率的な実装では、コンテンツへの変更を監視し、必要な場合にのみ、構成および表示のフルサイクルが実行されるようにします。
このメソッドはすべてのテキスト行を更新し、リストを直ちに同期的に表示します。
いずれかのコンテナのコンテンツが変更されると、メソッドは true
を返します。
Boolean — 何かが変更された場合は true。
|
updateLengths | () | メソッド |
updateToController | () | メソッド |
public function updateToController(index:int):Boolean
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | Flash Player 10, AIR 1.5 |
指定されたインデックスにあるコンテナまで、表示を構成および更新します。
updateToController()
メソッドはコンテンツの構成と表示の更新の両方を実行し、指定されたインデックスにあるコンテナまでのすべてのコンテナが最新になるようにします。例えば、20 個のコンテナチェーンがあり、10 というインデックスを指定した場合、updateToController()
により最初から 10 番目までの(インデックス 0 から 9)コンテナが構成および表示されます。構成は、そのポイントで終了できます。controllerIndex
が -1(または指定されていない場合)、すべてのコンテナを更新する必要があります。
このメソッドはすべてのテキスト行を更新し、リストを直ちに同期的に表示します。
いずれかのコンテナのコンテンツが変更されると、メソッドは true
を返します。
パラメーター
index:int (default = NaN ) — 更新する最後のコンテナのインデックス。デフォルトでは、すべてのコンテナが更新されます。
|
Boolean — 何かが変更された場合は true。
|
Tue Jun 12 2018, 10:34 AM Z