Pakket | flashx.textLayout.compose |
Interface | public interface IFlowComposer |
Geïmplementeerd door | StandardFlowComposer |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Tekstflows die met een flowcomposerimplementatie worden weergegeven kunnen dynamisch en interactief zijn. Een flowcomposer beheert een of meer weergavecontrollers. Elke controller is gekoppeld aan een weergaveobjectcontainer (zoals een Sprite) waarmee de regels die voor de tekstflow zijn gemaakt uiteindelijk worden weergegeven. In het volgende diagram wordt de relatie weergegeven tussen objecten van TextFlow, IFlowComposer, ContainerController en DisplayObjectContainer:
Een flowcomposer berekent welk gedeelte van een tekstflow in elke container past en voegt de tekstregels die van toepassing zijn toe aan het weergaveobject van de container. De IFlowComposer-interface definieert aparte methoden voor lay-outberekeningen en voor het bijwerken van de weergave. IFlowComposer definieert ook methoden voor het incrementeel samenstellen en bijwerken van een tekstflow. Deze methoden kunnen worden gebruikt om het blokkeren van de gebruikersinterface tijdens het bijwerken van lange tekstflows te vermijden.
Behalve het beheren van tekstcompositie en weergave, bedient een flowcomposer welke container focus heeft, de weergave van de selectiemarkering (die de grenzen van een container kan overschrijden) en biedt directe toegang tot alle TextLine-objecten in de flow.
Om een IFlowComposer-implementatie te gebruiken, moet u een instantie van deze implementatie toewijzen aan de flowComposer
-eigenschap van een TextFlow-object. Door de methode updateAllControllers()
aan te roepen kunt u de lay-out en weergave van de tekst instellen in de containers die zijn gekoppeld aan de flowcomposer.
Opmerking: bij eenvoudige, statische tekststromen kunt u ook een van de factory-klassen voor tekstregels gebruiken. Normaal gesproken maken factory-klassen regels met minder overhead dan een flowcomposer, maar factory-klassen bieden geen ondersteuning voor bewerkingen, dynamische wijzigingen en gebruikersinteractie.
Verwante API-elementen
FlowComposerBase
StandardFlowComposer
TextFlow
StringTextLineFactory
TextFlowTextLineFactory
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
composing : Boolean [alleen-lezen]
Geeft de waarde true als de flowcomposer momenteel een compositiebewerking uitvoert. | IFlowComposer | ||
damageAbsoluteStart : int [alleen-lezen]
De eerste ongeldige positie in het basiselement, als een absolute positie vanaf het begin van de flow. | IFlowComposer | ||
numControllers : int [alleen-lezen]
Het aantal containers dat is toegewezen aan deze IFlowComposer-instantie. | IFlowComposer | ||
numLines : int [alleen-lezen]
Het totale aantal regels samengesteld in de flow. | IFlowComposer | ||
rootElement : ContainerFormattedElement [alleen-lezen]
Het basiselement dat is gekoppeld aan deze IFlowComposer-instantie. | IFlowComposer | ||
swfContext : ISWFContext
De ISWFContext-instantie die moet worden gebruikt voor oproepen in een specifieke SWF-context. Implementaties van IFlowComposer moeten toestaan dat deze eigenschap wordt ingesteld zodat gebruikers van de interface regels kunnen maken in een andere SWF-context dan degene die de implementatie bevat. | IFlowComposer |
Methode | Gedefinieerd door | ||
---|---|---|---|
Voegt een controller toe aan deze IFlowComposer-instantie. | IFlowComposer | ||
Voegt een controller toe aan deze IFlowComposer-instantie bij de opgegeven index. | IFlowComposer | ||
Berekent het aantal regels dat nodig is om de inhoud in het hoofdelement van de flow weer te geven en de posities van deze regels in de weergavecontainers van de flow. | IFlowComposer | ||
Stelt de inhoud samen van het basiselement, tot en met de container bij de opgegeven index. | IFlowComposer | ||
Stelt de inhoud samen van het basiselement, tot en met de opgegeven positie. | IFlowComposer | ||
Markeer lijnen als beschadigd en opnieuw samen te stellen. | IFlowComposer | ||
Retourneert op de opgegeven positie de index van de controller met de inhoud. | IFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Retourneert het TextFlowLine-object met de inhoud op de opgegeven positie. | IFlowComposer | ||
Retourneert het sequentiële regelnummer van het TextFlowLine-object met de inhoud op de opgegeven positie. | IFlowComposer | ||
Retourneert het ContainerController-object op de opgegeven index. | IFlowComposer | ||
Retourneert de index van het opgegeven ContainerController-object. | IFlowComposer | ||
Retourneert de regel met het opgegeven regelnummer. | IFlowComposer | ||
Aangeroepen door de TextFlow wanneer de interactiemanager wordt gewijzigd. | IFlowComposer | ||
Geeft aan of de TextFlowLine-objecten tussen het begin van de flow en de regel met de inhoud op de opgegeven positie zijn gemarkeerd als beschadigd. | IFlowComposer | ||
Verwijdert alle controllers van deze IFlowComposer-instantie. | IFlowComposer | ||
Verwijdert een controller van deze IFlowComposer-instantie. | IFlowComposer | ||
Verwijdert de controller bij de opgegeven index van deze IFlowComposer-instantie. | IFlowComposer | ||
Stelt de focus in op de container met de locatie die door de parameter absolutePosition is opgegeven. | IFlowComposer | ||
IFlowComposer | |||
Stelt de inhoud samen van het hoofdelement en werkt de weergave bij. | IFlowComposer | ||
U moet de lengte in de regels bijwerken om de toewijzingen naar TextFlow bij te houden. | IFlowComposer | ||
Stelt de weergave samen en werkt deze bij tot en met de container bij de opgegeven index. | IFlowComposer |
composing | eigenschap |
damageAbsoluteStart | eigenschap |
numControllers | eigenschap |
numLines | eigenschap |
numLines:int
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Het totale aantal regels samengesteld in de flow. Standaard stelt TLF niet de volledige flow samen en deze waarde is mogelijk onjuist. Gebruik composeToPosition om alle regels samen te stellen.
Implementatie
public function get numLines():int
rootElement | eigenschap |
rootElement:ContainerFormattedElement
[alleen-lezen] Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Het basiselement dat is gekoppeld aan deze IFlowComposer-instantie.
Alleen een TextFlow-object kan een hoofdelement zijn.
Implementatie
public function get rootElement():ContainerFormattedElement
Verwante API-elementen
swfContext | eigenschap |
swfContext:ISWFContext
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
De ISWFContext-instantie die moet worden gebruikt voor oproepen in een specifieke SWF-context.
Implementaties van IFlowComposer moeten toestaan dat deze eigenschap wordt ingesteld zodat gebruikers van de interface regels kunnen maken in een andere SWF-context dan degene die de implementatie bevat. Een standaardimplementatie van ISWFContext moet ook worden geleverd.
Implementatie
public function get swfContext():ISWFContext
public function set swfContext(value:ISWFContext):void
Verwante API-elementen
addController | () | methode |
public function addController(controller:ContainerController):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Voegt een controller toe aan deze IFlowComposer-instantie.
De container is toegevoegd onderaan de containerlijst.
Parameters
controller:ContainerController — Het ContainerController-object dat moet worden toegevoegd.
|
addControllerAt | () | methode |
public function addControllerAt(controller:ContainerController, index:int):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Voegt een controller toe aan deze IFlowComposer-instantie bij de opgegeven index.
De lijst met controllers is op 0-basis (de eerste controller heeft index 0).
Parameters
controller:ContainerController — Het ContainerController-object dat moet worden toegevoegd.
| |
index:int — Een numerieke index die de positie in de lijst met controllers aangeeft waar het ContainerController-object moet worden ingevoegd.
|
compose | () | methode |
public function compose():Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Berekent het aantal regels dat nodig is om de inhoud in het hoofdelement van de flow weer te geven en de posities van deze regels in de weergavecontainers van de flow.
Implementaties van deze methode moeten de weergave niet bijwerken, maar moeten de resultaten opslaan, zodat volgende aanroepen tot updateAllControllers()
of samenstellen
niet opnieuw worden samengesteld als de flowinhoud niet is gewijzigd.
Als de inhoud van een container is gewijzigd, moet de methode true
retourneren.
Boolean — true als er iets is gewijzigd.
|
Verwante API-elementen
composeToController | () | methode |
public function composeToController(index:int):Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Stelt de inhoud samen van het basiselement, tot en met de container bij de opgegeven index.
Als de inhoud van een container tot en met de container op de opgegeven index is gewijzigd, retourneert de methode true
. Als index
groter is dan het aantal controllers (of niet is opgegeven), worden alle containers samengesteld.
Parameters
index:int (default = NaN ) — minimaal samenstellen tot aan deze container in de TextFlow. Als controllerIndex groter is dan het aantal controllers, stelt u samen tot het einde van de laatste container.
|
Boolean — true als er iets is gewijzigd.
|
Verwante API-elementen
composeToPosition | () | methode |
public function composeToPosition(absolutePosition:int):Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Stelt de inhoud samen van het basiselement, tot en met de opgegeven positie.
Als de inhoud van een container tot en met de container met de inhoud op de opgegeven positie is gewijzigd, retourneert de methode true
. Als absolutePosition
groter is dan de lengte van de TextFlow (of niet is opgegeven), wordt de volledige flow samengesteld.
Parameters
absolutePosition:int (default = NaN ) — minimaal samenstellen tot aan deze positie in de TextFlow. Standaard of als absolutePosition zich na het einde van de flow bevindt, stelt u samen tot het einde van de flow.
|
Boolean — true als er iets is gewijzigd.
|
Verwante API-elementen
damage | () | methode |
public function damage(startPosition:int, damageLength:int, damageType:String):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Markeer lijnen als beschadigd en opnieuw samen te stellen.
Parameters
startPosition:int — begin van het bereik voor beschadigen
| |
damageLength:int — aantal tekens voor beschadigen
| |
damageType:String — type schade. Een van flashx.textLayout.compose.FlowDamageType
|
Verwante API-elementen
findControllerIndexAtPosition | () | methode |
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert op de opgegeven positie de index van de controller met de inhoud.
Een positie kan worden gezien als de scheiding tussen twee tekens of andere elementen van een tekstflow. Als de waarde in absolutePosition
een positie aangeeft die ligt tussen het laatste teken van een container en het eerste teken van de volgende container, wordt de eerste container geretourneerd als de parameter preferPrevious
is ingesteld op true
. Als de parameter preferPrevious
is ingesteld op false
, wordt de tweede container geretourneerd.
De methode retourneert -1 als de inhoud op de opgegeven positie zich niet in een container of buiten bereik van posities in de tekstflow bevindt.
Parameters
absolutePosition:int — De positie van de inhoud waarvoor de containerindex is doorzocht.
| |
preferPrevious:Boolean (default = false ) — Geeft aan welke containerindex moet worden geretourneerd wanneer de positie zich tussen het laatste element in de ene container en het eerste element in de volgende container bevindt.
|
int — de index van de containercontroller (of -1 indien niet gevonden).
|
findLineAtPosition | () | methode |
public function findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert het TextFlowLine-object met de inhoud op de opgegeven positie.
Een positie kan worden gezien als de scheiding tussen twee tekens of andere elementen van een tekstflow. Als de waarde in absolutePosition
een positie aangeeft die ligt tussen het laatste element van een regel en het eerste element van de volgende regel, wordt de eerste regel geretourneerd als de parameter preferPrevious
is ingesteld op true
. Als de parameter preferPrevious
is ingesteld op false
, wordt de tweede regel geretourneerd.
Parameters
absolutePosition:int — De positie van de inhoud waarvoor u het TextFlowLine-object wilt instellen.
| |
preferPrevious:Boolean (default = false ) — Geeft aan welke regel wordt geretourneerd bij een positie die ligt tussen het laatste element van een regel en het eerste element van de volgende regel.
|
flashx.textLayout.compose:TextFlowLine — de TextFlowLine met de inhoud op de opgegeven positie of de waarde null (indien niet gevonden).
|
findLineIndexAtPosition | () | methode |
public function findLineIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert het sequentiële regelnummer van het TextFlowLine-object met de inhoud op de opgegeven positie.
Het nummer van de eerste regel is 0 en het nummer van de laatste regel is gelijk aan het aantal regels min één. Als de positie die is opgegeven in absolutePosition
zich na het einde van de tekstflow bevindt, moet deze methode het nummer retourneren dat wordt toegewezen aan de volgende nieuwe regel die aan de tekstflow (gelijk aan het aantal huidige regels) wordt toegevoegd.
Een positie kan worden gezien als de scheiding tussen twee tekens of andere elementen van een tekstflow. Als de waarde in absolutePosition
een positie aangeeft die ligt tussen de laatste regel van een container en de eerste regel van de volgende container, wordt de eerste container geretourneerd als de parameter preferPrevious
is ingesteld op true
. Als de parameter preferPrevious
is ingesteld op false
, wordt de tweede container geretourneerd.
Parameters
absolutePosition:int — De positie van de inhoud waarvoor u de tekstregel wilt instellen.
| |
preferPrevious:Boolean (default = false ) — Geeft aan welke containerindex moet worden geretourneerd wanneer de positie zich tussen de laatste regel in de ene container en de eerste regel in de volgende container bevindt.
|
int — de index van de tekstregel op de opgegeven positie. Indien niet gevonden, wordt aangenomen dat de eindpositie is gepasseerd en wordt het aantal regels geretourneerd.
|
getControllerAt | () | methode |
public function getControllerAt(index:int):ContainerController
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert het ContainerController-object op de opgegeven index.
Parameters
index:int — De index van het ContainerController-object dat moet worden geretourneerd.
|
ContainerController — het ContainerController-object op de opgegeven positie.
|
getControllerIndex | () | methode |
public function getControllerIndex(controller:ContainerController):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert de index van het opgegeven ContainerController-object.
Parameters
controller:ContainerController — Een referentie naar het ContainerController-object dat moet worden gevonden.
|
int — de index van het opgegeven ContainerController-object of -1 als de controller niet is gekoppeld aan deze flowcomposer.
|
getLineAt | () | methode |
public function getLineAt(index:int):flashx.textLayout.compose:TextFlowLine
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert de regel met het opgegeven regelnummer.
De lijst met regels is genummerd van nul tot het aantal regels min één. Als de waarde in index
zich buiten de begrenzingen bevindt van de lijst met regels, dan retourneert deze functie null
.
Parameters
index:int — Het regelnummer van het TextFlowLine-object dat moet worden geretourneerd.
|
flashx.textLayout.compose:TextFlowLine — de TextFlowLine met het opgegeven regelnummer of de waarde null (indien niet gevonden).
|
interactionManagerChanged | () | methode |
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Aangeroepen door de TextFlow wanneer de interactiemanager wordt gewijzigd.
Implementaties van IFlowComposer moeten gebeurtenislisteners en eigenschappen die verwijzen naar de interactiebeheerder bijwerken.
Parameters
newInteractionManager:ISelectionManager — De nieuwe ISelectionManager-instantie.
|
isDamaged | () | methode |
public function isDamaged(absolutePosition:int):Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Geeft aan of de TextFlowLine-objecten tussen het begin van de flow en de regel met de inhoud op de opgegeven positie zijn gemarkeerd als beschadigd.
Parameters
absolutePosition:int — de laatste positie in het interessegebied
|
Boolean — heeft de waarde true als een van de TextFlowLine-objecten van het begin van de flow tot aan de regel met de inhoud bij absolutePosition is gemarkeerd als beschadigd.
|
removeAllControllers | () | methode |
public function removeAllControllers():void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Verwijdert alle controllers van deze IFlowComposer-instantie.
removeController | () | methode |
public function removeController(controller:ContainerController):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Verwijdert een controller van deze IFlowComposer-instantie.
Parameters
controller:ContainerController — De ContainerController-instantie die moet worden verwijderd.
|
removeControllerAt | () | methode |
setFocus | () | methode |
public function setFocus(absolutePosition:int, preferPrevious:Boolean = false):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Stelt de focus in op de container met de locatie die door de parameter absolutePosition
is opgegeven.
De implementatie definieert welke instelling de focus bedoelt. Een implementatie kan bijvoorbeeld de ingebouwde focus
-eigenschap van het Stage-object gebruiken (als de containers InteractiveObjects waren) of de focus op een andere manier beheren.
Parameters
absolutePosition:int — Geeft in de tekstflow de positie aan van de container die de focus ontvangt.
| |
preferPrevious:Boolean (default = false ) — Als de waarde true is en de positie zich voor het eerste teken in een container bevindt, wordt de focus ingesteld op het einde van de vorige container.
|
Verwante API-elementen
setRootElement | () | methode |
public function setRootElement(newRootElement:ContainerFormattedElement):void
Parameters
newRootElement:ContainerFormattedElement |
updateAllControllers | () | methode |
public function updateAllControllers():Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Stelt de inhoud samen van het hoofdelement en werkt de weergave bij.
De tekstlay-out wordt standaard in twee fasen uitgevoerd: compositie en weergave. In de compositiefase berekent de flowcomposer hoeveel regels er nodig zijn om de inhoud weer te geven en de positie van deze regels in de weergavecontainers van de flow. De flowcomposer werkt in de weergavefase de onderliggende niveaus voor het weergaveobject bij van de bijbehorende containers. De updateAllControllers()
-methode voert beide fasen uit. Een efficiënte implementatie registreert de wijzigingen in de inhoud, zodat er alleen indien nodig een volledig proces van compositie en weergave wordt uitgevoerd.
Met deze methode worden alle tekstregels en de weergavelijst direct en synchroon bijgewerkt.
Als de inhoud van een container is gewijzigd, moet de methode true
retourneren.
Boolean — true als er iets is gewijzigd.
|
updateLengths | () | methode |
public function updateLengths(startPosition:int, deltaLength:int):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
U moet de lengte in de regels bijwerken om de toewijzingen naar TextFlow bij te houden.
Parameters
startPosition:int — begin van lengtewijziging
| |
deltaLength:int — wijziging in aantal tekens.
|
updateToController | () | methode |
public function updateToController(index:int):Boolean
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Stelt de weergave samen en werkt deze bij tot en met de container bij de opgegeven index.
De updateToController()
-methode stelt de inhoud samen en werkt de weergave bij, zodat alle containers tot en met de laatste container van de opgegeven index actueel zijn. Als u bijvoorbeeld een reeks van 20 containers hebt en u een index van 10 opgeeft, zorgt updateToController()
ervoor dat de eerste tot de tiende container (index 0-9) wordt samengesteld en weergegeven. Compositie kan op dat punt stoppen. Als de controllerIndex
gelijk is aan -1 (of niet is opgegeven), moeten alle containers worden bijgewerkt.
Met deze methode worden alle tekstregels en de weergavelijst direct en synchroon bijgewerkt.
Als de inhoud van een container is gewijzigd, moet de methode true
retourneren.
Parameters
index:int (default = NaN ) — index van de laatste container voor bijwerken, alle containers worden standaard bijgewerkt
|
Boolean — true als er iets is gewijzigd.
|
Wed Jun 13 2018, 11:42 AM Z