Pakket | flashx.textLayout.compose |
Klasse | public class StandardFlowComposer |
Overerving | StandardFlowComposer FlowComposerBase Object |
Implementatie | IFlowComposer |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Bij elke oproep tot samenstellen()
of updateAllControllers()
wordt als eerste stap de tekstflow genormaliseerd. Het normalisatieproces controleert de gewijzigde delen van het TextFlow-object en start de volgende stappen:
- Hiermee wordt het lege FlowLeafElement en de SubParagraphGroupElement-objecten verwijderd.
- Hiermee worden bereiken op hetzelfde niveau met identieke kenmerken samengevoegd.
- Hiermee wordt een lege alinea toegevoegd als een flow leeg is.
Om StandardFlowComposer te gebruiken, moet u het toewijzen aan de eigenschap flowComposer
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
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
composing : Boolean [alleen-lezen]
Geeft de waarde true als de flowcomposer momenteel een compositiebewerking uitvoert. | StandardFlowComposer | ||
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
damageAbsoluteStart : int [alleen-lezen]
De absolute positie die direct voorafgaat aan het eerste element in de tekstflow waarvoor compositie is vereist en die moet worden bijgewerkt. | FlowComposerBase | ||
numControllers : int [alleen-lezen]
Het aantal containers dat is toegewezen aan deze IFlowComposer-instantie. | StandardFlowComposer | ||
numLines : int [alleen-lezen]
Het totale aantal regels samengesteld in de flow. | FlowComposerBase | ||
rootElement : ContainerFormattedElement [alleen-lezen]
Het basiselement dat is gekoppeld aan deze IFlowComposer-instantie. | StandardFlowComposer | ||
swfContext : ISWFContext
De ISWFContext-instantie die gebruikt wordt om, indien nodig, FTE-oproepen te maken. | FlowComposerBase | ||
textFlow : flashx.textLayout.elements:TextFlow [alleen-lezen]
Het TextFlow-object waaraan deze flowcomposer is gekoppeld. | FlowComposerBase |
Methode | Gedefinieerd door | ||
---|---|---|---|
Maakt een StandardFlowComposer-object. | StandardFlowComposer | ||
Voegt een controller toe aan deze IFlowComposer-instantie. | StandardFlowComposer | ||
Voegt een controller toe aan deze IFlowComposer-instantie bij de opgegeven index. | StandardFlowComposer | ||
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. | StandardFlowComposer | ||
Stelt de inhoud samen van het basiselement, tot en met de container bij de opgegeven index. | StandardFlowComposer | ||
Stelt de inhoud samen van het basiselement, tot en met de opgegeven positie. | StandardFlowComposer | ||
Markeer lijnen als beschadigd en opnieuw samen te stellen. | FlowComposerBase | ||
Retourneert op de opgegeven positie de index van de controller met de inhoud. | StandardFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Retourneert het TextFlowLine-object met de inhoud op de opgegeven positie. | FlowComposerBase | ||
Retourneert het sequentiële regelnummer van het TextFlowLine-object met de inhoud op de opgegeven positie. | FlowComposerBase | ||
Retourneert de absolute positie van het eerste inhoudselement in het opgegeven ContainerController-object. | StandardFlowComposer | ||
Retourneert het ContainerController-object op de opgegeven index. | StandardFlowComposer | ||
Retourneert de index van het opgegeven ContainerController-object. | StandardFlowComposer | ||
Retourneert de regel met het opgegeven regelnummer. | FlowComposerBase | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Aangeroepen door de TextFlow wanneer de interactiemanager wordt gewijzigd. | StandardFlowComposer | ||
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. | FlowComposerBase | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Verwijdert alle controllers van deze IFlowComposer-instantie. | StandardFlowComposer | ||
Verwijdert een controller van deze IFlowComposer-instantie. | StandardFlowComposer | ||
Verwijdert de controller bij de opgegeven index van deze IFlowComposer-instantie. | StandardFlowComposer | ||
Stelt de focus in op de container met de locatie die door de parameter absolutePosition is opgegeven. | StandardFlowComposer | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
StandardFlowComposer | |||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Stelt de inhoud samen van het hoofdelement en werkt de weergave bij. | StandardFlowComposer | ||
U moet de lengte in de regels bijwerken om de toewijzingen naar TextFlow bij te houden. | FlowComposerBase | ||
Stelt de weergave samen en werkt deze bij tot en met de container bij de opgegeven index. | StandardFlowComposer | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
Methode | Gedefinieerd door | ||
---|---|---|---|
Retourneert de waarde true als een compositie noodzakelijk is. Retourneert false in alle andere gevallen. | StandardFlowComposer |
composing | eigenschap |
numControllers | eigenschap |
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
StandardFlowComposer | () | Constructor |
public function StandardFlowComposer()
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Maakt een StandardFlowComposer-object.
Om een StandardFlowComposer-object te gebruiken, moet u het toewijzen aan de eigenschap flowComposer
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.
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | 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.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | 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.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | 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.
De compose()
-methode stelt alleen inhoud samen als deze is gewijzigd sinds de laatste compositiebewerking. Resultaten worden opgeslagen, zodat volgende aanroepen om updateAllControllers
of te compose()
geen extra hercompositie uitvoeren als de flowinhoud niet is gewijzigd.
Als de inhoud van een container is gewijzigd, retourneert de methode de waarde true
.
Boolean — true als er iets is gewijzigd.
|
Verwante API-elementen
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_compose { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.compose(); } } }
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.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | 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.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | 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).
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | methode |
public function getAbsoluteStart(controller:ContainerController):int
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
Retourneert de absolute positie van het eerste inhoudselement in het opgegeven ContainerController-object.
Er wordt een positie berekend door de scheiding tussen twee tekens of twee andere elementen van een tekstflow te tellen. De positie voor het eerste element van een flow is nul. Een absolute positie is de positie zoals geteld vanaf het begin van de flow.
Parameters
controller:ContainerController — Een ContainerController-object dat gekoppeld is aan deze flowcomposer.
|
int — de positie voor het eerste teken of de eerste afbeelding in de ContainerController.
|
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.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | 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.
|
Voorbeeld ( Hoe dit voorbeeld te gebruiken )
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 | () | 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.
Deze functie wordt automatisch aangeroepen. Uw code hoeft deze methode niet standaard aan te roepen. Klassen die StandardFlowComposer uitbreiden, kunnen deze methode negeren om listeners van gebeurtenissen en andere eigenschappen afhankelijk van de interactiebeheerder bij te werken.
Parameters
newInteractionManager:ISelectionManager — De nieuwe ISelectionManager-instantie.
|
preCompose | () | methode |
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, leanLeft: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 StandardFlowComposer roept de setFocus)
-methode van het ContainerController-object aan, die de opgegeven tekstflowpositie bevat.
Parameters
absolutePosition:int — Geeft in de tekstflow de positie aan van de container die de focus ontvangt.
| |
leanLeft: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
Taalversie: | ActionScript 3.0 |
Runtimeversies: | Flash Player 10, AIR 1.5 |
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 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 start beide fasen na elkaar. De StandardFlowComposer 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, retourneert de methode de waarde true
.
Boolean — true als er iets is gewijzigd.
|
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 van alle containers bij tot en met de container op de opgegeven index. 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. De compositie stopt hier. Als de controllerIndex
gelijk is aan -1 (of niet is opgegeven), worden alle containers bijgewerkt.
Met deze methode worden alle tekstregels en de weergavelijst direct en synchroon bijgewerkt.
Als de inhoud van een container is gewijzigd, retourneert de methode de waarde true
.
Parameters
index:int (default = NaN ) — index van de laatste container voor bijwerken (alle containers worden standaard bijgewerkt)
|
Boolean — true als er iets is gewijzigd.
|
importToFlow()
-methode.
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(); } } }
Wed Jun 13 2018, 11:42 AM Z