Package | flashx.textLayout.factory |
Classe | public class TextFlowTextLineFactory |
Héritage | TextFlowTextLineFactory TextLineFactoryBase Object |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Les lignes de texte sont statiques et créées pour correspondre à un seul rectangle de délimitation, mais elles peuvent avoir plusieurs paragraphes et formats, ainsi que des graphiques intégrés. Pour créer des objets TextLine directement à partir d’une chaîne, utilisez la classe StringTextLineFactory.
Remarque : avec les graphiques intégrés, la propriété source
de l’objet InlineGraphicElement doit être une occurrence d’un objet DisplayObject ou un objet Class représentant un actif intégré. Les objets URLRequest ne peuvent pas être utilisés. La largeur et la hauteur du graphique intégré au moment où la ligne est créée sont utilisées pour composer le flux.
Eléments de l’API associés
Méthode | Défini par | ||
---|---|---|---|
Crée un objet TextFlowTextLineFactory. | TextFlowTextLineFactory | ||
Crée des objets TextLine à partir du flux de texte spécifié. | TextFlowTextLineFactory | ||
Plus petit rectangle dans lequel le contenu mis en forme s’adapte. | TextLineFactoryBase | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
TextFlowTextLineFactory | () | Constructeur |
public function TextFlowTextLineFactory()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Crée un objet TextFlowTextLineFactory.
createTextLines | () | méthode |
public function createTextLines(callback:Function, textFlow:flashx.textLayout.elements:TextFlow):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Crée des objets TextLine à partir du flux de texte spécifié.
Les lignes de texte sont composées de façon à correspondre aux limites affectées à la propriété compositionBounds
. A mesure que chaque ligne est créée, la fabrique appelle la fonction spécifiée dans le paramètre callback
. Cette fonction est transmise à l’objet TextLine et est chargée d’afficher la ligne. Si une ligne présente une couleur d’arrière-plan, la fabrique appelle également la fonction de rappel avec un objet Shape contenant un rectangle de la couleur d’arrière-plan.
Notez que les stratégies de défilement de la fabrique vont contrôler le nombre de lignes qui sont générées.
Paramètres
callback:Function — Fonction à appeler avec chaque objet TextLine généré. La fonction de rappel est appelée avec un objet Shape représentant une couleur d’arrière-plan (si présente) et avec des objets TextLine pour le texte.
| |
textFlow:flashx.textLayout.elements:TextFlow — Objet TextFlow à partir duquel sont créées les lignes de texte.
|
createTextLines()
, est appelée deux fois à l’aide de la même expression. Les propriétés de fabrique et les formats d’enchaînement sont ajustés entre chaque appel afin de créer un effet en « ombre portée ».
package flashx.textLayout.factory.examples { import flash.display.Sprite; import flash.display.DisplayObject; import flash.geom.Rectangle; import flash.text.engine.TextLine; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.factory.TextFlowTextLineFactory; import flashx.textLayout.formats.TextLayoutFormat; public class TextFlowTextLineFactory_example extends Sprite { public function TextFlowTextLineFactory_example() { var factory:TextFlowTextLineFactory = new TextFlowTextLineFactory(); factory.compositionBounds = new Rectangle( 100, 100, 200, 130 ); var flow:TextFlow = new TextFlow(); var format:TextLayoutFormat = new TextLayoutFormat(); format.fontFamily = "LilyUPC, Verdana, _sans"; format.fontSize = 32; format.color = 0x000000; format.textAlpha = .5; var span:SpanElement = new SpanElement(); span.text = "The quick brown fox jumped over the lazy dog."; span.format = format; var para:ParagraphElement = new ParagraphElement(); para.addChild( span ); flow.addChild( para ); factory.createTextLines( useTextLines, flow ); factory.compositionBounds = new Rectangle( 99, 99, 200, 130 ); format.color = 0x990000; format.textAlpha = 1; span.format = format; factory.createTextLines( useTextLines, flow ); graphics.beginFill(0x555555,.5); graphics.drawRect( 99, 99, 201, 131 ); graphics.endFill(); } private function useTextLines( lineOrShape:DisplayObject ):void { this.addChild( lineOrShape ); } } }
Tue Jun 12 2018, 09:30 AM Z