Package | flashx.textLayout.compose |
Classe | public class StandardFlowComposer |
Héritage | StandardFlowComposer FlowComposerBase Object |
Implémente | IFlowComposer |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Chaque appel de la méthode compose()
ou updateAllControllers()
normalise d’abord l’enchaînement de texte. Le processus de normalisation vérifie les parties de l’objet TextFlow qui ont été modifiées et adopte l’approche suivante :
- Supprime entièrement les objets FlowLeafElement et SubParagraphGroupElement vides.
- Fusionne les plages associées dont les attributs sont identiques.
- Ajoute un paragraphe vide si un flux est entièrement vide.
Pour utiliser une classe StandardFlowComposer, affectez-la à la propriété flowComposer
d’un objet TextFlow. Appelez la méthode updateAllControllers()
pour mettre en forme et afficher le texte dans les conteneurs associés au compositeur d’enchaînements.
Remarque : pour les enchaînements de texte simples et statiques, vous pouvez également utiliser la méthode des classes de fabrique de ligne de texte. Ces classes de fabrique créent généralement des lignes plus facilement qu’un compositeur d’enchaînements, mais elles ne prennent pas en charge les modifications, les changements dynamiques et l’interaction de l’utilisateur.
Plus d’exemples
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
composing : Boolean [lecture seule]
La valeur est true si le compositeur de flux exécute actuellement l’opération de composition. | StandardFlowComposer | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
damageAbsoluteStart : int [lecture seule]
Position absolue qui précède immédiatement le premier élément du flux de texte devant être composé et mis à jour. | FlowComposerBase | ||
numControllers : int [lecture seule]
Nombre de conteneurs affectés à cette occurrence IFlowComposer. | StandardFlowComposer | ||
numLines : int [lecture seule]
Nombre total de lignes composées dans le flux. | FlowComposerBase | ||
rootElement : ContainerFormattedElement [lecture seule]
Elément racine associé à cette occurrence IFlowComposer. | StandardFlowComposer | ||
swfContext : ISWFContext
L’occurrence ISWFContext utilisée pour effectuer des appels FTE le cas échéant. | FlowComposerBase | ||
textFlow : flashx.textLayout.elements:TextFlow [lecture seule]
Objet TextFlow auquel le compositeur de flux est associé. | FlowComposerBase |
Méthode | Défini par | ||
---|---|---|---|
Crée un objet StandardFlowComposer. | StandardFlowComposer | ||
Ajoute un contrôleur à cette occurrence IFlowComposer. | StandardFlowComposer | ||
Ajoute un contrôleur à cette occurrence IFlowComposer à l’index spécifié. | StandardFlowComposer | ||
Calcule le nombre de lignes nécessaires à l’affichage du contenu de l’élément racine du flux et les positions de ces lignes dans les conteneurs d’affichage du flux. | StandardFlowComposer | ||
Compose le contenu de l’élément racine jusqu’au conteneur situé à l’index spécifié inclus. | StandardFlowComposer | ||
Compose le contenu de l’élément racine jusqu’à la position spécifiée. | StandardFlowComposer | ||
Marquer des lignes comme endommagées et nécessitant une recomposition. | FlowComposerBase | ||
Renvoie l’index du contrôleur renfermant le contenu à la position spécifiée. | StandardFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Renvoie l’objet TextFlowLine renfermant le contenu à la position spécifiée. | FlowComposerBase | ||
Renvoie le numéro de ligne séquentiel de l’objet TextFlowLine renfermant le contenu à la position spécifiée. | FlowComposerBase | ||
Renvoie la position absolue du premier élément de contenu dans l’objet ContainerController spécifié. | StandardFlowComposer | ||
Renvoie l’objet ContainerController situé à l’index spécifié. | StandardFlowComposer | ||
Renvoie l’index de l’objet ContainerController spécifié. | StandardFlowComposer | ||
Renvoie la ligne avec le numéro de ligne spécifié. | FlowComposerBase | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
Appelé par l’objet TextFlow lorsque le gestionnaire d’interaction change. | StandardFlowComposer | ||
Indique si des objets TextFlowLine entre le début du flux et la ligne renfermant le contenu à la position spécifiée sont signalés comme étant endommagés. | FlowComposerBase | ||
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 | ||
Supprime tous les contrôleurs à partir de cette occurrence IFlowComposer. | StandardFlowComposer | ||
Supprime un contrôleur à partir de cette occurrence IFlowComposer. | StandardFlowComposer | ||
Supprime le contrôleur situé à l’index spécifié de cette occurrence IFlowComposer. | StandardFlowComposer | ||
Définit le focus sur le conteneur qui contient l’emplacement spécifié par le paramètre absolutePosition. | StandardFlowComposer | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
StandardFlowComposer | |||
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 | ||
Compose le contenu de l’élément racine et met à jour l’affichage. | StandardFlowComposer | ||
Mettez à jour les longueurs dans les lignes pour conserver la correspondance de l’objet TextFlow. | FlowComposerBase | ||
Compose et met à jour l’affichage jusqu’au conteneur situé à l’index spécifié inclus. | StandardFlowComposer | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
Méthode | Défini par | ||
---|---|---|---|
Renvoie la valeur true si la composition est nécessaire. Sinon, la valeur false est renvoyée. | StandardFlowComposer |
composing | propriété |
numControllers | propriété |
rootElement | propriété |
rootElement:ContainerFormattedElement
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Elément racine associé à cette occurrence IFlowComposer.
Seul un objet TextFlow peut être un élément racine.
Implémentation
public function get rootElement():ContainerFormattedElement
StandardFlowComposer | () | Constructeur |
public function StandardFlowComposer()
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Crée un objet StandardFlowComposer.
Pour utiliser un objet StandardFlowComposer, affectez-le à la propriété flowComposer
d’un objet TextFlow. Appelez la méthode updateAllControllers()
pour mettre en forme et afficher le texte dans les conteneurs associés au compositeur d’enchaînements.
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.compose.StandardFlowComposer; public class StandardFlowComposer_constructor { public function createComposer(textFlow:TextFlow):void { textFlow.flowComposer = new StandardFlowComposer(); } } }
addController | () | méthode |
public function addController(controller:ContainerController):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Ajoute un contrôleur à cette occurrence IFlowComposer.
Le conteneur est ajouté à la fin de la liste des conteneurs.
Paramètres
controller:ContainerController — Objet ContainerController à ajouter.
|
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_addController { import flash.display.Sprite; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public function setupController(textFlow:TextFlow):void { var container:Sprite = new Sprite(); var controller:ContainerController = new ContainerController( container, 400, 200 ); textFlow.flowComposer.addController( controller ); } } }
addControllerAt | () | méthode |
public function addControllerAt(controller:ContainerController, index:int):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Ajoute un contrôleur à cette occurrence IFlowComposer à l’index spécifié.
La liste des contrôleurs est en base 0 (le premier contrôleur a l’index 0).
Paramètres
controller:ContainerController — Objet ContainerController à ajouter.
| |
index:int — Index numérique qui indique la position dans la liste des contrôleurs à laquelle insérer l’objet ContainerController.
|
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_addControllerAt { import flash.display.Sprite; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public function setupController(textFlow:TextFlow):void { var container:Sprite = new Sprite(); var controller:ContainerController = new ContainerController( container, 400, 200 ); textFlow.flowComposer.addControllerAt( controller, 0 ); } } }
compose | () | méthode |
public function compose():Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Calcule le nombre de lignes nécessaires à l’affichage du contenu de l’élément racine du flux et les positions de ces lignes dans les conteneurs d’affichage du flux.
La méthode compose()
ne compose du contenu que s’il a changé depuis la dernière opération de composition. Les résultats sont enregistrés afin que les appels suivants de la méthode compose()
ou updateAllControllers()
n’ pas de composition supplémentaire si le contenu du flux n’a pas changé.
Si le contenu d’un conteneur a changé, la méthode renvoie la valeur true
.
Boolean — La valeur est true si des modifications ont eu lieu.
|
Eléments de l’API associés
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_compose { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.compose(); } } }
composeToController | () | méthode |
public function composeToController(index:int):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Compose le contenu de l’élément racine jusqu’au conteneur situé à l’index spécifié inclus.
Si le contenu d’un conteneur jusqu’au conteneur situé à l’index spécifié inclus a changé, la méthode renvoie la valeur true
. Si index
est supérieur au nombre de contrôleurs (ou non spécifié), tous les conteneurs sont composés.
Paramètres
index:int (default = NaN ) — Composez au moins jusqu’à ce conteneur dans l’objet TextFlow Si controllerIndex est supérieur au nombre de contrôleurs, composez jusqu’à la fin du dernier conteneur.
|
Boolean — La valeur est true si des modifications ont eu lieu.
|
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_composeToController { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.composeToController( 3 ); } } }
composeToPosition | () | méthode |
public function composeToPosition(absolutePosition:int):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Compose le contenu de l’élément racine jusqu’à la position spécifiée.
Si le contenu d’un conteneur jusqu’au conteneur possédant le contenu situé à la position spécifiée inclus a changé, la méthode renvoie la valeur true
. Si absolutePosition
est supérieure à la longueur de TextFlow (ou non spécifiée), l’ensemble de l’enchaînement est composé.
Paramètres
absolutePosition:int (default = NaN ) — Composez au moins jusqu’à cette position dans l’objet TextFlow. Par défaut ou si absolutePosition va au-delà de la fin de l’enchaînement, composez jusqu’à la fin de ce dernier.
|
Boolean — La valeur est true si des modifications ont eu lieu.
|
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_composeToPosition { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.composeToPosition( 344 ); } } }
findControllerIndexAtPosition | () | méthode |
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie l’index du contrôleur renfermant le contenu à la position spécifiée.
Une position peut être considérée comme étant la division entre deux caractères ou d’autres éléments d’un flux de texte. Si la valeur dans absolutePosition
correspond à une position située entre le dernier caractère d’un conteneur et le premier caractère du suivant, alors le conteneur précédent est renvoyé si le paramètre preferPrevious
est défini sur true
et le dernier conteneur est renvoyé si le paramètre preferPrevious
est défini sur false
.
La méthode renvoie -1 si le contenu à la position spécifiée n’est pas dans un conteneur ou n’est pas compris dans la plage des positions dans le flux de texte.
Paramètres
absolutePosition:int — Position du contenu pour lequel l’index du conteneur est recherché.
| |
preferPrevious:Boolean (default = false ) — Spécifie l’index du conteneur à renvoyer lorsque la position se situe entre le dernier élément d’un conteneur et le premier élément du conteneur suivant.
|
int — Index du contrôleur du conteneur ou -1 s’il est introuvable.
|
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.compose.StandardFlowComposer; public class StandardFlowComposer_findControllerIndexAtPosition { public function findControllerIndexAtPosition(textFlow:TextFlow):void { var index:int = textFlow.flowComposer.findControllerIndexAtPosition( 344 ); } } }
getAbsoluteStart | () | méthode |
public function getAbsoluteStart(controller:ContainerController):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie la position absolue du premier élément de contenu dans l’objet ContainerController spécifié.
Une position se calcule en comptabilisant la division entre deux caractères ou d’autres éléments d’un flux de texte. La position qui précède le premier élément d’un flux est zéro. Une position absolue est la position à partir du début du flux.
Paramètres
controller:ContainerController — Objet ContainerController associé à ce compositeur de flux.
|
int — Position située avant le premier caractère ou le graphique dans l’objet ContainerController.
|
getControllerAt | () | méthode |
public function getControllerAt(index:int):ContainerController
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie l’objet ContainerController situé à l’index spécifié.
Paramètres
index:int — Index de l’objet ContainerController à renvoyer.
|
ContainerController — Objet ContainerController à la position spécifiée.
|
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public class StandardFlowComposer_getControllerAt { public function findControllerIndexAtPosition(textFlow:TextFlow):void { var controller:ContainerController = textFlow.flowComposer.getControllerAt( 0 ); } } }
getControllerIndex | () | méthode |
public function getControllerIndex(controller:ContainerController):int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie l’index de l’objet ContainerController spécifié.
Paramètres
controller:ContainerController — Référence à l’objet ContainerController à rechercher.
|
int — Index de l’objet ContainerController spécifié ou -1 si le contrôleur n’est pas associé à ce compositeur d’enchaînements.
|
Exemple ( Comment utiliser cet exemple )
package flashx.textLayout.compose.examples { import flashx.textLayout.elements.TextFlow; import flashx.textLayout.container.ContainerController; public class StandardFlowComposer_getControllerIndex { public function getControllerIndex(textFlow:TextFlow, controller:ContainerController):void { var index:int = textFlow.flowComposer.getControllerIndex( controller ); } } }
interactionManagerChanged | () | méthode |
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Appelé par l’objet TextFlow lorsque le gestionnaire d’interaction change.
Cette fonction est appelée automatiquement. Le code n’a généralement pas besoin d’appeler cette méthode. Les classes qui étendent la classe StandardFlowComposer peuvent annuler cette méthode pour mettre à jour les écouteurs d’événement et autres propriétés liées au gestionnaire d’interaction.
Paramètres
newInteractionManager:ISelectionManager — La nouvelle occurrence ISelectionManager.
|
preCompose | () | méthode |
removeAllControllers | () | méthode |
public function removeAllControllers():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Supprime tous les contrôleurs à partir de cette occurrence IFlowComposer.
removeController | () | méthode |
public function removeController(controller:ContainerController):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Supprime un contrôleur à partir de cette occurrence IFlowComposer.
Paramètres
controller:ContainerController — Occurrence ContainerController à supprimer.
|
removeControllerAt | () | méthode |
setFocus | () | méthode |
public function setFocus(absolutePosition:int, leanLeft:Boolean = false):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Définit le focus sur le conteneur qui contient l’emplacement spécifié par le paramètre absolutePosition
.
L’objet StandardFlowComposer appelle la méthode setFocus()
de l’objet ContainerController contenant la position spécifiée du flux de texte.
Paramètres
absolutePosition:int — Spécifie la position dans l’enchaînement de texte du conteneur qui doit recevoir le focus.
| |
leanLeft:Boolean (default = false ) — Si la valeur est true et si la position se trouve avant le premier caractère dans un conteneur, définit le focus à la fin du conteneur précédent.
|
Eléments de l’API associés
setRootElement | () | méthode |
public function setRootElement(newRootElement:ContainerFormattedElement):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Paramètres
newRootElement:ContainerFormattedElement |
updateAllControllers | () | méthode |
public function updateAllControllers():Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Compose le contenu de l’élément racine et met à jour l’affichage.
La présentation du texte se compose de deux étapes : composition et affichage. Dans la phase de composition, le compositeur de flux calcule le nombre de lignes nécessaires à l’affichage du contenu, ainsi que la position de ces lignes dans les conteneurs d’affichage du flux. Dans la phase d’affichage, le compositeur d’enchaînements met à jour les enfants de l’objet d’affichage de ses conteneurs. La méthode updateAllControllers()
initialise les deux phases en séquence. L’objet StandardFlowComposer effectue le suivi des modifications apportées au contenu afin d’effectuer un cycle complet de composition et d’affichage uniquement lorsque cela est nécessaire.
Cette méthode met à jour toutes les lignes de texte et la liste d’affichage immédiatement et de façon synchronisée.
Si le contenu d’un conteneur est modifié, la méthode renvoie la valeur true
.
Boolean — La valeur est true si des modifications ont eu lieu.
|
updateToController | () | méthode |
public function updateToController(index:int):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Compose et met à jour l’affichage jusqu’au conteneur situé à l’index spécifié inclus.
La méthode updateToController()
compose le contenu et met à jour l’affichage de tous les conteneurs jusqu’au conteneur situé à l’index spécifié inclus. Par exemple, si vous disposez d’une chaîne de 20 conteneurs et spécifiez l’index 10, updateToController()
vérifie que les dix premiers conteneurs (index 0 à 9) sont composés et affichés. La composition s’arrête à ce niveau. Si la valeur de controllerIndex
est -1 (ou n’est pas spécifiée), tous les conteneurs sont mis à jour.
Cette méthode met à jour toutes les lignes de texte et la liste d’affichage immédiatement et de façon synchronisée.
Si le contenu d’un conteneur est modifié, la méthode renvoie la valeur true
.
Paramètres
index:int (default = NaN ) — Index du dernier conteneur à mettre à jour. Par défaut, tous les conteneurs sont mis à jour.
|
Boolean — La valeur est true , si des modifications ont eu lieu.
|
importToFlow()
de l’objet TextConverter.
package flashx.textLayout.compose.examples { import flash.display.Sprite; import flashx.textLayout.compose.StandardFlowComposer; import flashx.textLayout.container.ContainerController; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow; public class StandardFlowComposer_ClassExample extends Sprite { private var poem:String = "Sonnet 18\n" + "Shall I compare thee to a summer's day?\n" + "Thou art more lovely and more temperate:\n" + "Rough winds do shake the darling buds of May,\n" + "And summer's lease hath all too short a date:\n" + "Sometime too hot the eye of heaven shines,\n" + "And often is his gold complexion dimmed,\n" + "And every fair from fair sometime declines,\n" + "By chance, or nature's changing course untrimmed:\n" + "But thy eternal summer shall not fade,\n" + "Nor lose possession of that fair thou ow'st,\n" + "Nor shall death brag thou wand'rest in his shade,\n" + "When in eternal lines to time thou grow'st,\n" + "So long as men can breathe or eyes can see,\n" + "So long lives this, and this gives life to thee.\n" + "William Shakespeare\n"; private var flow:TextFlow; public function StandardFlowComposer_ClassExample() { var firstContainer:Sprite = new Sprite(); firstContainer.x = 180; firstContainer.y = 30; this.stage.addChild( firstContainer ); var secondContainer:Sprite = new Sprite(); secondContainer.x = 30; secondContainer.y = 130 this.stage.addChild( secondContainer ); var firstController:ContainerController = new ContainerController( firstContainer, 300, 100 ); var secondController:ContainerController = new ContainerController( secondContainer, 800, 600 ); flow = TextConverter.importToFlow( poem, TextConverter.PLAIN_TEXT_FORMAT ); flow.flowComposer = new StandardFlowComposer();; flow.flowComposer.addController( firstController ); flow.flowComposer.addController( secondController ); flow.flowComposer.updateAllControllers(); } } }
Tue Jun 12 2018, 09:30 AM Z