Paket | flashx.textLayout.compose |
Klass | public class StandardFlowComposer |
Arv | StandardFlowComposer FlowComposerBase Object |
Implementerar | IFlowComposer |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Varje anrop till compose()
eller updateAllControllers()
normaliserar textflödet till att börja med. Under normaliseringsprocessen kontrolleras de delar av TextFlow-objektet som ändrades och därefter sker följande:
- Tomma FlowLeafElement- och SubParagraphGroupElement-objekt tas bort.
- Jämställda spann med identiska attribut sammanfogas.
- Ett tomt stycke läggs till om flödet är tomt.
Om du vill använda en StandardFlowComposer ska du tilldela den till flowComposer
-egenskapen för ett TextFlow-objekt. Anropa metoden updateAllControllers()
för att utforma och visa texten i de behållare som är kopplade till flödesdispositionen.
Obs! För enkla, statiska textflöden kan du också använda någon av fabriksklasserna för textrad. De här fabriksklasserna skapar oftast mindre resurskrävande rader (mindre overhead) än en flödesdisposition, men saknar stöd för redigering, dynamiska ändringar och användarinteraktion.
Relaterade API-element
Egenskap | Definieras med | ||
---|---|---|---|
composing : Boolean [skrivskyddad]
True, om flödesdispositionen för tillfället utför en dispositionsåtgärd. | StandardFlowComposer | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
damageAbsoluteStart : int [skrivskyddad]
Den absoluta position omedelbart före det första elementet i textflödet som ska disponeras och uppdateras. | FlowComposerBase | ||
numControllers : int [skrivskyddad]
Det antal behållare som tilldelats den här IFlowComposer-instansen. | StandardFlowComposer | ||
numLines : int [skrivskyddad]
Det totala antalet rader som flödet består av. | FlowComposerBase | ||
rootElement : ContainerFormattedElement [skrivskyddad]
Det rotelement som är kopplat till den här IFlowComposer-instansen. | StandardFlowComposer | ||
swfContext : ISWFContext
Den ISWFContext-instans som används för att göra FTE-anrop efter behov. | FlowComposerBase | ||
textFlow : flashx.textLayout.elements:TextFlow [skrivskyddad]
Det TextFlow-objekt till vilket den här flödesdispositionen är kopplad. | FlowComposerBase |
Metod | Definieras med | ||
---|---|---|---|
Skapar ett StandardFlowComposer-objekt. | StandardFlowComposer | ||
Lägger till en kontrollenhet till den här IFlowComposer-instansen. | StandardFlowComposer | ||
Lägger till en kontrollenhet till den här IFlowComposer-instansen vid det angivna indexet. | StandardFlowComposer | ||
Beräknar det antal rader som behövs för att visa innehållet i flödets rotelement och dessa raders positioner i flödets visningsbehållare. | StandardFlowComposer | ||
Disponerar innehållet i rotelementet upp till och med behållaren vid det angivna indexet. | StandardFlowComposer | ||
Disponerar innehållet i rotelementet upp till den angivna positionen. | StandardFlowComposer | ||
Markera rader som skadade och i behov av omdisposition. | FlowComposerBase | ||
Returnerar indexet för den kontrollenhet, som innehåller innehållet vid den angivna positionen. | StandardFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Returnerar det TextFlowLine-objekt som innehåller innehållet vid den angivna positionen. | FlowComposerBase | ||
Returnerar det sekventiella radnumret för det TextFlowLine-objekt som innehåller innehållet vid den angivna positionen. | FlowComposerBase | ||
Returnerar den absoluta positionen för det första innehållselementet i det angivna ContainerController-objektet. | StandardFlowComposer | ||
Returnerar ContainerController-objektet vid det angivna indexet. | StandardFlowComposer | ||
Returnerar indexet för det angivna ContainerController-objektet. | StandardFlowComposer | ||
Returnerar raden med det angivna radnumret. | FlowComposerBase | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Anropas av TextFlow när interaktionshanteraren ändras. | StandardFlowComposer | ||
Anger om något TextFlowLine-objekt mellan flödets början och den rad som innehåller innehållet vid den angivna positionen har markerats som skadat. | FlowComposerBase | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tar bort alla kontrollenheter från den här IFlowComposer-instansen. | StandardFlowComposer | ||
Tar bort en kontrollenhet från den här IFlowComposer-instansen. | StandardFlowComposer | ||
Tar bort kontrollenheten vid det angivna indexet från den här IFlowComposer-instansen. | StandardFlowComposer | ||
Anger fokus till den behållare som innehåller den plats som anges av parametern absolutePosition. | StandardFlowComposer | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
StandardFlowComposer | |||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar det angivna objektets strängbeteckning. | Object | ||
Disponerar innehållet i rotelementet och uppdaterar visningen. | StandardFlowComposer | ||
Uppdatera radernas längder för att bevara mappningen till TextFlow. | FlowComposerBase | ||
Disponerar och uppdaterar visningen upp till och med behållaren vid det angivna indexet. | StandardFlowComposer | ||
Returnerar det angivna objektets primitiva värde. | Object |
Metod | Definieras med | ||
---|---|---|---|
Returnerar true om disposition krävs, i annat fall false | StandardFlowComposer |
composing | egenskap |
numControllers | egenskap |
rootElement | egenskap |
rootElement:ContainerFormattedElement
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Det rotelement som är kopplat till den här IFlowComposer-instansen.
Endast ett TextFlow-objekt kan vara ett rotelement.
Implementering
public function get rootElement():ContainerFormattedElement
StandardFlowComposer | () | Konstruktor |
public function StandardFlowComposer()
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Skapar ett StandardFlowComposer-objekt.
Om du vill använda ett StandardFlowComposer-objekt ska du tilldela det till flowComposer
-egenskapen för ett TextFlow-objekt. Anropa metoden updateAllControllers()
för att utforma och visa texten i de behållare som är kopplade till flödesdispositionen.
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function addController(controller:ContainerController):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Lägger till en kontrollenhet till den här IFlowComposer-instansen.
Behållaren läggs till sist i behållarlistan.
Parametrar
controller:ContainerController — Det ContainerController-objekt som ska läggas till.
|
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function addControllerAt(controller:ContainerController, index:int):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Lägger till en kontrollenhet till den här IFlowComposer-instansen vid det angivna indexet.
Listan med kontrollenheter är nollbaserad (den första kontrollenheten har indexvärdet 0).
Parametrar
controller:ContainerController — Det ContainerController-objekt som ska läggas till.
| |
index:int — Ett numeriskt index, som anger den position i kontrollenhetslistan vid vilken ContainerController-objektet ska infogas.
|
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function compose():Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Beräknar det antal rader som behövs för att visa innehållet i flödets rotelement och dessa raders positioner i flödets visningsbehållare.
Med metoden compose()
disponeras innehåll endast om det ändrats sedan den senaste dispositionsåtgärden. Resultaten sparas så att efterföljande anrop till compose()
eller updateAllControllers()
inte ytterligare utför en omdisposition om flödesinnehållet inte har ändrats.
Om innehållet i någon behållare ändras returneras true
från metoden.
Boolean — true om något har ändrats.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_compose { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.compose(); } } }
composeToController | () | metod |
public function composeToController(index:int):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Disponerar innehållet i rotelementet upp till och med behållaren vid det angivna indexet.
Om innehållet i någon behållare till och med behållaren med det angivna indexet har ändrats, kommer metoden att returnera true
. Om index
är större än antalet kontrollenheter (eller inte har angetts) disponeras alla behållare.
Parametrar
index:int (default = NaN ) — disponera minst fram till denna behållare i TextFlow. Om controllerIndex är större än antalet kontrollenheter utförs dispositionen till slutet av den sista behållaren.
|
Boolean — true om något har ändrats.
|
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function composeToPosition(absolutePosition:int):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Disponerar innehållet i rotelementet upp till den angivna positionen.
Om innehållet i någon behållare till och med behållaren med innehållet vid den angivna positionen har ändrats, kommer metoden att returnera true
. Om absolutePosition
är större än längden på TextFlow (eller inte har angetts) disponeras hela flödet.
Parametrar
absolutePosition:int (default = NaN ) — disponera minst fram till denna position i TextFlow. Som standard, eller om absolutePosition är förbi slutet av flödet, utförs dispositionen till slutet av flödet.
|
Boolean — true om något har ändrats.
|
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Returnerar indexet för den kontrollenhet, som innehåller innehållet vid den angivna positionen.
En position kan definieras som gränsen mellan två tecken eller andra element i ett textflöde. Om värdet i absolutePosition
är en position mellan det sista tecknet i en behållare och det första tecknet i nästa, returneras föregående behållare om parametern preferPrevious
är inställd på true
och den efterföljande behållaren returneras om parametern preferPrevious
är inställd på false
.
Metoden returnerar -1 om innehållet vid den angivna positionen inte är någon behållare eller ligger utanför positionsintervallet i textflödet.
Parametrar
absolutePosition:int — Positionen för det innehåll vars behållarindex eftersöks.
| |
preferPrevious:Boolean (default = false ) — Anger vilket behållarindex som ska returneras när positionen är mellan det sista elementet i en behållare och det första elementet i nästa.
|
int — index för behållarens kontrollenhet eller -1 om ingen hittas.
|
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function getAbsoluteStart(controller:ContainerController):int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Returnerar den absoluta positionen för det första innehållselementet i det angivna ContainerController-objektet.
En position beräknas genom att antalet indelningar räknas mellan två tecken eller andra element i ett textflöde. Positionen före det första elementet för ett flöde är noll. En absolut position är positionsantalet från början av flödet.
Parametrar
controller:ContainerController — Ett ContainerController-objekt kopplat till denna flödesdisposition.
|
int — positionen före det första tecknet eller grafiken i ContainerController.
|
getControllerAt | () | metod |
public function getControllerAt(index:int):ContainerController
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Returnerar ContainerController-objektet vid det angivna indexet.
Parametrar
index:int — Index för det ContainerController-objekt som ska returneras.
|
ContainerController — ContainerController-objektet vid den angivna positionen.
|
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function getControllerIndex(controller:ContainerController):int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Returnerar indexet för det angivna ContainerController-objektet.
Parametrar
controller:ContainerController — En referens till det ContainerController-objekt som ska hittas.
|
int — index för det angivna ContainerController-objektet eller -1 om kontrollenheten inte är kopplad till den här flödesdispositionen.
|
Exempel ( Så här använder du exemplet )
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 | () | metod |
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Anropas av TextFlow när interaktionshanteraren ändras.
Den här funktionen anropas automatiskt. Den här metoden behöver vanligtvis inte anropas från koden. Klasser som utökar StandardFlowComposer kan åsidosätta denna metod för att händelseavlyssnare och andra egenskaper som är beroende av interaktionshanteraren ska uppdateras.
Parametrar
newInteractionManager:ISelectionManager — Den nya ISelectionManager-instansen.
|
preCompose | () | metod |
removeAllControllers | () | metod |
public function removeAllControllers():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Tar bort alla kontrollenheter från den här IFlowComposer-instansen.
removeController | () | metod |
public function removeController(controller:ContainerController):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Tar bort en kontrollenhet från den här IFlowComposer-instansen.
Parametrar
controller:ContainerController — Den ContainerController-instans som ska tas bort.
|
removeControllerAt | () | metod |
setFocus | () | metod |
public function setFocus(absolutePosition:int, leanLeft:Boolean = false):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Anger fokus till den behållare som innehåller den plats som anges av parametern absolutePosition
.
Med StandardFlowComposer anropas metoden setFocus()
för ContainerController-objektet som innehåller den angivna textflödespositionen.
Parametrar
absolutePosition:int — Anger positionen i textflödet för den behållare som ska få fokus.
| |
leanLeft:Boolean (default = false ) — Om värdet är true och positionen ligger före det första tecknet i en behållare, ställs fokus in mot slutet av föregående behållare.
|
Relaterade API-element
setRootElement | () | metod |
public function setRootElement(newRootElement:ContainerFormattedElement):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Parametrar
newRootElement:ContainerFormattedElement |
updateAllControllers | () | metod |
public function updateAllControllers():Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Disponerar innehållet i rotelementet och uppdaterar visningen.
Textlayout utförs i två faser: disposition och visning. I dispositionsfasen beräknas i flödesdisposition hur många rader som behövs för att visa innehållet samt positionen för dessa rader i flödets visningsbehållare. Under visningsfasen uppdaterar flödesdispositionen visningsobjektets underordnade objekt för dess behållare. Med metoden updateAllControllers()
initieras båda faserna efter varandra. I StandardFlowComposer kontrolleras ändringarna av innehållet så att en komplett disposition och visning endast görs när det finns behov till det.
Den här metoden uppdaterar alla textrader och visningslistan direkt och synkront.
Om innehållet i någon behållare ändras returnerar metoden true
.
Boolean — true om något har ändrats.
|
updateToController | () | metod |
public function updateToController(index:int):Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 10, AIR 1.5 |
Disponerar och uppdaterar visningen upp till och med behållaren vid det angivna indexet.
I metoden updateToController()
disponeras innehållet och visningen av alla behållare uppdateras till och med behållaren vid det angivna indexet. Om du till exempel har en kedja på 20 behållare och anger att indexet ska vara 10, säkerställs med updateToController()
att de första tio (index 0-9) behållarna disponeras och visas. Dispositionen stoppas vid den punkten. Om controllerIndex
är -1 (eller inte angivet) kommer alla behållare att uppdateras.
Den här metoden uppdaterar alla textrader och visningslistan direkt och synkront.
Om innehållet i någon behållare ändras returnerar metoden true
.
Parametrar
index:int (default = NaN ) — index för den sista behållaren som ska uppdateras (standard är att alla behållare uppdateras)
|
Boolean — true om något har ändrats.
|
importToFlow()
för 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, 01:40 PM Z