Pacchetto | flashx.textLayout.compose |
Classe | public class StandardFlowComposer |
Ereditarietà | StandardFlowComposer FlowComposerBase Object |
Implementa | IFlowComposer |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Ogni chiamata a compose()
o updateAllControllers()
normalizza in primo luogo il flusso di testo. Il processo di normalizzazione controlla le parti dell'oggetto TextFlow modificate ed esegue le operazioni seguenti:
- Elimina gli oggetti FlowLeafElement e SubParagraphGroupElement vuoti.
- Unisce estensioni di pari livello che hanno attributi identici.
- Aggiunge un paragrafo vuoto se un flusso è vuoto.
Per utilizzare un oggetto StandardFlowComposer, assegnatelo alla proprietà flowComposer
di un oggetto TextFlow. Chiamate il metodo updateAllControllers()
per disporre e visualizzare il testo nei contenitori collegati alla composizione di flusso.
Nota: per flussi di testo statici semplici potete anche utilizzare una classe factory per righe di testo. Queste classi factory in genere creano righe con meno sovraccarico rispetto a una composizione di flusso, ma non supportano la modifica, le modifiche dinamiche o l'interazione con l'utente.
Altri esempi
Elementi API correlati
Proprietà | Definito da | ||
---|---|---|---|
composing : Boolean [sola lettura]
True se la composizione del flusso sa eseguendo un'operazione di composizione. | StandardFlowComposer | ||
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
damageAbsoluteStart : int [sola lettura]
Posizione assoluta immediatamente precedente il primo elemento nel flusso di testo che richiede composizione e aggiornamento. | FlowComposerBase | ||
numControllers : int [sola lettura]
Il numero di contenitori assegnati a questa istanza di IFlowComposer. | StandardFlowComposer | ||
numLines : int [sola lettura]
Il numero totale di righe composte nel flusso. | FlowComposerBase | ||
rootElement : ContainerFormattedElement [sola lettura]
L'elemento principale associato a questa istanza di IFlowComposer. | StandardFlowComposer | ||
swfContext : ISWFContext
L'istanza ISWFContext utilizzata per effettuare chiamate FTE, se necessarie. | FlowComposerBase | ||
textFlow : flashx.textLayout.elements:TextFlow [sola lettura]
Oggetto TextFlow a cui è associata la composizione del flusso. | FlowComposerBase |
Metodo | Definito da | ||
---|---|---|---|
Crea un oggetto StandardFlowComposer. | StandardFlowComposer | ||
Aggiunge un controller a questa istanza di IFlowComposer. | StandardFlowComposer | ||
Aggiunge un controller a questa istanza di IFlowComposer in corrispondenza dell'indice specificato. | StandardFlowComposer | ||
Calcola quante righe sono necessarie per visualizzare il contenuto nell'elemento principale del flusso e le posizioni di queste righe nei contenitori di visualizzazione del flusso. | StandardFlowComposer | ||
Compone il contenuto dell'elemento radice fino al contenitore (incluso) all'indice specificato. | StandardFlowComposer | ||
Compone il contenuto dell'elemento radice fino alla posizione specificata. | StandardFlowComposer | ||
Contrassegna le righe come danneggiate e indica la necessità di una ricomposizione. | FlowComposerBase | ||
Restituisce l'indice del controller che include il contenuto nella posizione specificata. | StandardFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Restituisce l'oggetto TextFlowLine che include il contenuto nella posizione specificata. | FlowComposerBase | ||
Restituisce il numero di riga sequenziale dell'oggetto TextFlowLine che include il contenuto alla posizione specificata. | FlowComposerBase | ||
Restituisce la posizione assoluta del primo elemento di contenuto nell'oggetto ContainerController specificato. | StandardFlowComposer | ||
Restituisce l'oggetto ContainerController all'indice specificato. | StandardFlowComposer | ||
Restituisce l'indice dell'oggetto ContainerController specificato. | StandardFlowComposer | ||
Restituisce la riga con il numero di riga specificato. | FlowComposerBase | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Chiamato dall'oggetto TextFlow quando il gestore dell'interazione cambia. | StandardFlowComposer | ||
Indica se uno o più degli oggetti TextFlowLine tra l'inizio del flusso e la riga che include il contenuto nella posizione specificata sono contrassegnati come danneggiati. | FlowComposerBase | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Rimuove tutti i controller da questa istanza di IFlowComposer. | StandardFlowComposer | ||
Rimuove un controller da questa istanza di IFlowComposer. | StandardFlowComposer | ||
Rimuove il controller all'indice specificato da questa istanza di IFlowComposer. | StandardFlowComposer | ||
Imposta l'attivazione sul contenitore che contiene la posizione specificata dal parametro absolutePosition. | StandardFlowComposer | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
StandardFlowComposer | |||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Compone il contenuto dell'elemento principale e aggiorna la visualizzazione. | StandardFlowComposer | ||
Aggiorna la lunghezza delle righe per gestire la mappatura nell'oggetto TextFlow. | FlowComposerBase | ||
Compone e aggiorna la visualizzazione fino al contenitore (incluso) all'indice specificato. | StandardFlowComposer | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
Metodo | Definito da | ||
---|---|---|---|
Restituisce true se la composizione è necessaria, false in caso contrario. | StandardFlowComposer |
composing | proprietà |
numControllers | proprietà |
rootElement | proprietà |
rootElement:ContainerFormattedElement
[sola lettura] Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
L'elemento principale associato a questa istanza di IFlowComposer.
Solo un oggetto TextFlow può essere un elemento principale.
Implementazione
public function get rootElement():ContainerFormattedElement
StandardFlowComposer | () | Funzione di costruzione |
public function StandardFlowComposer()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Crea un oggetto StandardFlowComposer.
Per utilizzare un oggetto StandardFlowComposer, assegnatelo alla proprietà flowComposer
di un oggetto TextFlow. Chiamate il metodo updateAllControllers()
per disporre e visualizzare il testo nei contenitori collegati alla composizione di flusso.
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function addController(controller:ContainerController):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Aggiunge un controller a questa istanza di IFlowComposer.
Il contenitore viene aggiunto alla fine dell'elenco dei contenitori.
Parametri
controller:ContainerController — Oggetto ContainerController da aggiungere.
|
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function addControllerAt(controller:ContainerController, index:int):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Aggiunge un controller a questa istanza di IFlowComposer in corrispondenza dell'indice specificato.
L'elenco dei controller è basato su 0 (il primo controller ha indice 0).
Parametri
controller:ContainerController — Oggetto ContainerController da aggiungere.
| |
index:int — Indice numerico che specifica la posizione nell'elenco di controller in cui inserire l'oggetto ContainerController.
|
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function compose():Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Calcola quante righe sono necessarie per visualizzare il contenuto nell'elemento principale del flusso e le posizioni di queste righe nei contenitori di visualizzazione del flusso.
Il metodo compose()
compone contenuto solo se sono state apportate modifiche dall'ultima operazione di composizione. I risultati vengono salvati affinché le chiamate successive a compose()
o updateAllControllers()
non eseguano un'ulteriore ricomposizione se il contenuto del flusso non è stato modificato.
Se il contenuto di uno o più contenitori è stato modificato, il metodo restituisce true
.
Boolean — true se sono stati modificati uno o più elementi.
|
Elementi API correlati
Esempio ( Come utilizzare questo esempio )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_compose { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.compose(); } } }
composeToController | () | metodo |
public function composeToController(index:int):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Compone il contenuto dell'elemento radice fino al contenitore (incluso) all'indice specificato.
Se il contenuto di uno o più contenitori fino al contenitore all'indice specificato (incluso) è stato modificato, il metodo restituisce true
. Se index
è maggiore del numero di controller (o non è specificato), la composizione viene estesa a tutti i contenitori.
Parametri
index:int (default = NaN ) — Compone almeno fino a questo contenitore nell'oggetto TextFlow. Se controllerIndex è maggiore del numero di controller, potete impostare la composizione fino alla fine dell'ultimo contenitore.
|
Boolean — true se sono stati modificati uno o più elementi.
|
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function composeToPosition(absolutePosition:int):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Compone il contenuto dell'elemento radice fino alla posizione specificata.
Se il contenuto di uno o più contenitori fino al contenitore che include il contenuto (incluso) alla posizione specificata è stato modificato, il metodo restituisce true
. Se absolutePosition
è maggiore della lunghezza di TextFlow (o non è specificato), la composizione viene estesa a tutto il flusso.
Parametri
absolutePosition:int (default = NaN ) — Compone almeno fino a questa posizione nell'oggetto TextFlow. Per impostazione predefinita, o se absolutePosition si trova oltre la fine del flusso, potete impostare la composizione fino alla fine del flusso.
|
Boolean — true se sono stati modificati uno o più elementi.
|
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Restituisce l'indice del controller che include il contenuto nella posizione specificata.
Una posizione può essere considerata come la divisione tra due caratteri o altri elementi di un flusso di testo. Se il valore in absolutePosition
è una posizione tra l'ultimo carattere di un contenitore e il primo carattere del successivo, viene restituito il contenitore precedente se il parametro preferPrevious
è impostato su true
e il contenitore successivo se il parametro preferPrevious
è impostato su false
.
Il metodo restituisce -1 se il contenuto nella posizione specificata non si trova in alcun contenitore o si trova all'esterno dell'intervallo di posizioni del flusso di testo.
Parametri
absolutePosition:int — La posizione del contenuto per cui viene cercato l'indice del contenitore.
| |
preferPrevious:Boolean (default = false ) — Specifica quale indice di contenitore restituire quando la posizione si trova tra l'ultimo elemento in un contenitore e il primo elemento nel successivo.
|
int — L'indice del controller del contenitore o -1 se non viene trovato.
|
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function getAbsoluteStart(controller:ContainerController):int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Restituisce la posizione assoluta del primo elemento di contenuto nell'oggetto ContainerController specificato.
Una posizione viene calcolata contando la divisione tra due caratteri o altri elementi di un flusso di testo. La posizione che precede il primo elemento di un flusso è zero. Una posizione assoluta è la posizione dall'inizio del flusso.
Parametri
controller:ContainerController — Un oggetto ContainerController associato a questa composizione di flusso.
|
int — La posizione prima del primo carattere o della prima immagine nell'oggetto ContainerController.
|
getControllerAt | () | metodo |
public function getControllerAt(index:int):ContainerController
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Restituisce l'oggetto ContainerController all'indice specificato.
Parametri
index:int — L'indice dell'oggetto ContainerController da restituire.
|
ContainerController — L'oggetto ContainerController nella posizione specificata.
|
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function getControllerIndex(controller:ContainerController):int
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Restituisce l'indice dell'oggetto ContainerController specificato.
Parametri
controller:ContainerController — Un riferimento all'oggetto ContainerController da trovare.
|
int — L'indice dell'oggetto ContainerController specificato o -1 se il controller non è collegato a questa composizione di flusso.
|
Esempio ( Come utilizzare questo esempio )
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 | () | metodo |
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Chiamato dall'oggetto TextFlow quando il gestore dell'interazione cambia.
Questa funzione viene chiamata in modo automatico. Il codice in genere non necessita di chiamare questo metodo. Le classi che estendono StandardFlowComposer possono ignorare questo metodo per aggiornare listener di eventi e altre proprietà che dipendono dal gestore dell'interazione.
Parametri
newInteractionManager:ISelectionManager — La nuova istanza di ISelectionManager.
|
preCompose | () | metodo |
removeAllControllers | () | metodo |
public function removeAllControllers():void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Rimuove tutti i controller da questa istanza di IFlowComposer.
removeController | () | metodo |
public function removeController(controller:ContainerController):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Rimuove un controller da questa istanza di IFlowComposer.
Parametri
controller:ContainerController — L'istanza di ContainerController da rimuovere.
|
removeControllerAt | () | metodo |
setFocus | () | metodo |
public function setFocus(absolutePosition:int, leanLeft:Boolean = false):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Imposta l'attivazione sul contenitore che comprende la posizione specificata dal parametro absolutePosition
.
StandardFlowComposer chiama il metodo setFocus()
dell'oggetto ContainerController che contiene la posizione del flusso specificata.
Parametri
absolutePosition:int — Specifica la posizione nel flusso di testo del contenitore che deve ricevere l'attivazione.
| |
leanLeft:Boolean (default = false ) — Se true e la posizione si trova prima del primo carattere in un contenitore, imposta l'attivazione alla fine del contenitore precedente.
|
Elementi API correlati
setRootElement | () | metodo |
public function setRootElement(newRootElement:ContainerFormattedElement):void
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Parametri
newRootElement:ContainerFormattedElement |
updateAllControllers | () | metodo |
public function updateAllControllers():Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Compone il contenuto dell'elemento principale e aggiorna la visualizzazione.
Il layout del testo avviene in due fasi: composizione e visualizzazione. Nella fase di composizione, la composizione del flusso calcola il numero di righe necessarie per visualizzare il contenuto e la loro posizione nei contenitori di visualizzazione del flusso. Nella fase di visualizzazione, la composizione del flusso aggiorna gli elementi secondari dei contenitori dell'oggetto di visualizzazione. Il metodo updateAllControllers()
inizializza entrambe le fasi in sequenza. StandardFlowComposer tiene traccia delle modifiche al contenuto affinché un ciclo completo di composizione e visualizzazione venga eseguito solo se necessario.
Questo metodo aggiorna tutte le righe di testo e l'elenco di visualizzazione immediatamente e in modo sincrono.
Se il contenuto di uno o più contenitori viene modificato, il metodo restituisce true
.
Boolean — true se sono stati modificati uno o più elementi.
|
updateToController | () | metodo |
public function updateToController(index:int):Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | Flash Player 10, AIR 1.5 |
Compone e aggiorna la visualizzazione fino al contenitore (incluso) all'indice specificato.
Il metodo updateToController()
compone il contenuto e aggiorna la visualizzazione di tutti i contenitori fino a quello all'indice specificato (incluso). Se ad esempio avete una catena di 20 contenitori e specificate un indice di 10, updateToController()
garantisce la composizione e la visualizzazione dei primi dieci contenitori (indici 0-9). La composizione si arresta a quel punto. Se controllerIndex
è -1 (o non specificato), tutti i contenitori vengono aggiornati.
Questo metodo aggiorna tutte le righe di testo e l'elenco di visualizzazione immediatamente e in modo sincrono.
Se il contenuto di uno o più contenitori viene modificato, il metodo restituisce true
.
Parametri
index:int (default = NaN ) — Indice dell'ultimo contenitore da aggiornare (per impostazione predefinita aggiorna tutti i contenitori)
|
Boolean — true se sono stati modificati uno o più elementi.
|
importToFlow()
di 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, 02:44 PM Z