Package | flashx.textLayout.compose |
Interface | public interface IFlowComposer |
Implémenteurs | StandardFlowComposer |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Les enchaînements de texte affichés avec une implémentation de compositeur d’enchaînements peuvent être dynamiques et interactifs. Un compositeur d’enchaînements gère un ou plusieurs contrôleurs d’affichage. Chaque contrôleur est associé à un conteneur d’objet d’affichage (par exemple un Sprite) par l’intermédiaire duquel les lignes créées pour l’enchaînement de texte sont finalement affichées. Le diagramme suivant illustre la relation qui existe entre les objets TextFlow, IFlowComposer, ContainerController et DisplayObjectContainer :
Un compositeur d’enchaînements calcule la partie d’un l’enchaînement de texte qui entre dans chaque conteneur et ajoute les lignes de texte appropriées pour l’objet d’affichage du conteneur. L’interface IFlowComposer définit des méthodes distinctes pour calculer la présentation et pour mettre à jour l’affichage. IFlowComposer met également au point des méthodes de composition incrémentielle et de mise à jour d’un enchaînement de texte. Ces méthodes peuvent permettre d’éviter de bloquer l’interface utilisateur lors de la mise à jour d’enchaînements de texte longs.
En plus de gérer la composition et l’affichage du texte, un compositeur d’enchaînements contrôle le conteneur qui a le focus, gère l’affichage de la mise en surbrillance des sélections (qui peuvent traverser les limites des conteneurs) et fournit un accès direct à tous les objets TextLine de l’enchaînement.
Pour utiliser une implémentation IFlowComposer, affectez une occurrence de cette implémentation à 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.
Eléments de l’API associés
FlowComposerBase
StandardFlowComposer
TextFlow
StringTextLineFactory
TextFlowTextLineFactory
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. | IFlowComposer | ||
damageAbsoluteStart : int [lecture seule]
Première position non valide dans l’élément racine, comme position absolue à partir du début du flux. | IFlowComposer | ||
numControllers : int [lecture seule]
Nombre de conteneurs affectés à cette occurrence IFlowComposer. | IFlowComposer | ||
numLines : int [lecture seule]
Nombre total de lignes composées dans le flux. | IFlowComposer | ||
rootElement : ContainerFormattedElement [lecture seule]
Elément racine associé à cette occurrence IFlowComposer. | IFlowComposer | ||
swfContext : ISWFContext
L’occurrence ISWFContext à utiliser pour les appels qui doivent être effectués dans un contexte SWF spécifique. Les implémentations de IFlowComposer doivent permettre la définition de cette propriété de façon à ce que les utilisateurs de l’interface puissent créer des lignes dans un autre contexte SWF que celui qui contient l’implémentation. | IFlowComposer |
Méthode | Défini par | ||
---|---|---|---|
Ajoute un contrôleur à cette occurrence IFlowComposer. | IFlowComposer | ||
Ajoute un contrôleur à cette occurrence IFlowComposer à l’index spécifié. | IFlowComposer | ||
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. | IFlowComposer | ||
Compose le contenu de l’élément racine jusqu’au conteneur situé à l’index spécifié inclus. | IFlowComposer | ||
Compose le contenu de l’élément racine jusqu’à la position spécifiée. | IFlowComposer | ||
Marquer des lignes comme endommagées et nécessitant une recomposition. | IFlowComposer | ||
Renvoie l’index du contrôleur renfermant le contenu à la position spécifiée. | IFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Renvoie l’objet TextFlowLine renfermant le contenu à la position spécifiée. | IFlowComposer | ||
Renvoie le numéro de ligne séquentiel de l’objet TextFlowLine renfermant le contenu à la position spécifiée. | IFlowComposer | ||
Renvoie l’objet ContainerController situé à l’index spécifié. | IFlowComposer | ||
Renvoie l’index de l’objet ContainerController spécifié. | IFlowComposer | ||
Renvoie la ligne avec le numéro de ligne spécifié. | IFlowComposer | ||
Appelé par l’objet TextFlow lorsque le gestionnaire d’interaction change. | IFlowComposer | ||
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. | IFlowComposer | ||
Supprime tous les contrôleurs à partir de cette occurrence IFlowComposer. | IFlowComposer | ||
Supprime un contrôleur à partir de cette occurrence IFlowComposer. | IFlowComposer | ||
Supprime le contrôleur situé à l’index spécifié de cette occurrence IFlowComposer. | IFlowComposer | ||
Définit le focus sur le conteneur qui contient l’emplacement spécifié par le paramètre absolutePosition. | IFlowComposer | ||
IFlowComposer | |||
Compose le contenu de l’élément racine et met à jour l’affichage. | IFlowComposer | ||
Mettez à jour les longueurs dans les lignes pour conserver la correspondance de l’objet TextFlow. | IFlowComposer | ||
Compose et met à jour l’affichage jusqu’au conteneur situé à l’index spécifié inclus. | IFlowComposer |
composing | propriété |
damageAbsoluteStart | propriété |
numControllers | propriété |
numLines | propriété |
numLines:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Nombre total de lignes composées dans le flux. Par défaut, TLF ne compose pas l’ensemble du flux et cette valeur peut être inexacte. Utilisez composeToPosition pour composer toutes les lignes.
Implémentation
public function get numLines():int
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
Eléments de l’API associés
swfContext | propriété |
swfContext:ISWFContext
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
L’occurrence ISWFContext à utiliser pour les appels qui doivent être effectués dans un contexte SWF spécifique
Les implémentations de IFlowComposer doivent permettre la définition de cette propriété de façon à ce que les utilisateurs de l’interface puissent créer des lignes dans un autre contexte SWF que celui qui contient l’implémentation. Une implémentation par défaut de l’objet ISWFContext doit également être fournie.
Implémentation
public function get swfContext():ISWFContext
public function set swfContext(value:ISWFContext):void
Eléments de l’API associés
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.
|
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.
|
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.
Les implémentations de cette méthode ne doivent pas actualiser l’affichage, mais doivent enregistrer les résultats afin que les appels suivants de la méthode compose()
ou updateAllControllers()
n’a pas de composition supplémentaire si le contenu de l’enchaînement n’a pas changé.
Si le contenu d’un conteneur a changé, la méthode doit renvoyer la valeur true
.
Boolean — La valeur est true si des modifications ont eu lieu.
|
Eléments de l’API associés
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.
|
Eléments de l’API associés
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.
|
Eléments de l’API associés
damage | () | méthode |
public function damage(startPosition:int, damageLength:int, damageType:String):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Marquer des lignes comme endommagées et nécessitant une recomposition.
Paramètres
startPosition:int — début de la plage à endommager
| |
damageLength:int — nombre de caractères à endommager
| |
damageType:String — type de dommage. Une des classes flashx.textLayout.compose.FlowDamageType
|
Eléments de l’API associés
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 doit renvoyer -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 l’enchaînement 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.
|
findLineAtPosition | () | méthode |
public function findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie l’objet TextFlowLine 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 élément d’une ligne et le premier élément de la ligne suivante, alors la ligne précédente est renvoyée si le paramètre preferPrevious
est défini sur true
et la dernière ligne est renvoyée si le paramètre preferPrevious
est défini sur false
.
Paramètres
absolutePosition:int — Position du contenu pour lequel vous voulez obtenir l’objet TextFlowLine.
| |
preferPrevious:Boolean (default = false ) — Spécifie la ligne à renvoyer lorsque la position se situe entre le dernier élément d’une ligne et le premier élément de la ligne suivante.
|
flashx.textLayout.compose:TextFlowLine — Objet TextFlowLine renfermant le contenu à la position spécifiée ou valeur null s’il est introuvable.
|
findLineIndexAtPosition | () | méthode |
public function findLineIndexAtPosition(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 le numéro de ligne séquentiel de l’objet TextFlowLine renfermant le contenu à la position spécifiée.
Le numéro de la première ligne est 0 et celui de la dernière ligne est égal au nombre de lignes moins un. Si la position spécifiée dans absolutePosition
se trouve au-delà de la fin de l’enchaînement de texte, cette méthode doit renvoyer le numéro qui sera affecté à la prochaine nouvelle ligne ajoutée à l’enchaînement de texte (qui est égal au nombre de lignes).
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 la dernière ligne d’un conteneur et la première ligne 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
.
Paramètres
absolutePosition:int — Position du contenu pour lequel vous voulez obtenir la ligne de texte.
| |
preferPrevious:Boolean (default = false ) — Spécifie l’index du conteneur à renvoyer lorsque la position se situe entre la dernière ligne d’un conteneur et la première ligne du conteneur suivant.
|
int — Index de la ligne de texte à la position spécifiée. S’il est introuvable, le considère comme au-delà de la fin et renvoie le nombre de lignes.
|
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.
|
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.
|
getLineAt | () | méthode |
public function getLineAt(index:int):flashx.textLayout.compose:TextFlowLine
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Renvoie la ligne avec le numéro de ligne spécifié.
La liste des lignes est numérotée de zéro au nombre de lignes moins un. Si la valeur dans index
n’est pas dans les limites de la liste des lignes, cette fonction renvoie la valeur null
.
Paramètres
index:int — Numéro de ligne de l’objet TextFlowLine à renvoyer.
|
flashx.textLayout.compose:TextFlowLine — Objet TextFlowLine doté du numéro de ligne spécifié ou valeur null s’il est introuvable.
|
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.
Les implémentations de l’interface IFlowComposer doivent mettre à jour les écouteurs d’événement et les propriétés qui référencent le gestionnaire d’interaction.
Paramètres
newInteractionManager:ISelectionManager — La nouvelle occurrence ISelectionManager.
|
isDamaged | () | méthode |
public function isDamaged(absolutePosition:int):Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
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.
Paramètres
absolutePosition:int — Dernière position dans la zone ciblée
|
Boolean — La valeur est true si un des objets TextFlowLine entre le début de l’enchaînement jusqu’à la ligne renfermant le contenu à la position absolutePosition sont signalés comme étant endommagés.
|
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, preferPrevious: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’implémentation est chargée de définir ce que signifie la définition du focus. Par exemple, une implémentation peut utiliser la propriété focus
intégrée de l’objet Stage (à condition que les conteneurs soient des objets InteractiveObjects) ou l’implémentation peut gérer le focus de toute autre façon.
Paramètres
absolutePosition:int — Spécifie la position dans l’enchaînement de texte du conteneur qui doit recevoir le focus.
| |
preferPrevious: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
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 généralement de deux étapes : composition et affichage. Dans la phase de composition, le compositeur d’enchaînements calcule le nombre de lignes nécessaires à l’affichage du contenu, ainsi que la position de ces lignes dans les conteneurs d’affichage de l’enchaînement. 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()
est censée effectuer les deux phases. Une implémentation efficace effectuera 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 a changé, la méthode doit renvoyer la valeur true
.
Boolean — La valeur est true si des modifications ont eu lieu.
|
updateLengths | () | méthode |
public function updateLengths(startPosition:int, deltaLength:int):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | Flash Player 10, AIR 1.5 |
Mettez à jour les longueurs dans les lignes pour conserver la correspondance de l’objet TextFlow.
Paramètres
startPosition:int — Début de modification en longueur.
| |
deltaLength:int — Changement du nombre de caractères.
|
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()
est censée à la fois composer le contenu et mettre à jour l’affichage afin que tous les conteneurs jusqu’à celui qui est situé à l’index spécifié inclus soient à jour. Par exemple, si vous disposez d’une chaîne de vingt conteneurs et spécifiez l’index 10, updateToController()
doit s’assurer que les dix premiers conteneurs (index 0 à 9) sont composés et affichés. La composition peut s’arrêter à ce niveau. Si la valeur de controllerIndex
est -1 (ou n’est pas spécifiée), tous les conteneurs doivent être 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 a changé, la méthode doit renvoyer 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.
|
Tue Jun 12 2018, 09:30 AM Z