Paquete | flashx.textLayout.compose |
Clase | public class StandardFlowComposer |
Herencia | StandardFlowComposer FlowComposerBase Object |
Implementa | IFlowComposer |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Cada llamada a compose()
o a updateAllControllers()
normaliza el flujo de texto como primer paso. El proceso de normalización comprueba las partes del objeto TextFlow que se modificaron y lleva a cabo los pasos siguientes:
- Elimina objetos FlowLeafElement y SubParagraphGroupElement vacíos.
- Combina fragmentos del mismo nivel que tienen atributos idénticos.
- Añade un párrafo vacío si un flujo está vacío.
Para usar una clase StandardFlowComposer, asígnela a la propiedad flowComposer
de un objeto TextFlow. Llame al método updateAllControllers()
para diseñar y visualizar el texto en los contenedores conectados a la composición de flujo.
Nota: en el caso de flujos de texto estáticos sencillos, también se puede utilizar una de las clases de fábrica de línea de texto. Estas clases de fábrica normalmente crearán líneas con menor sobrecarga que una composición de flujo, pero no admite modificaciones dinámicas, edición ni interacción con el usuario.
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
composing : Boolean [solo lectura]
True, si la composición de flujo está actualmente en proceso de composición. | StandardFlowComposer | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
damageAbsoluteStart : int [solo lectura]
La posición absoluta precede inmediatamente al primer elemento del flujo de texto que requiere composición y actualización. | FlowComposerBase | ||
numControllers : int [solo lectura]
El número de contenedores asignados a esta instancia de IFlowComposer. | StandardFlowComposer | ||
numLines : int [solo lectura]
El número total de líneas compuestas en el flujo. | FlowComposerBase | ||
rootElement : ContainerFormattedElement [solo lectura]
El elemento raíz asociado a esta instancia de IFlowComposer. | StandardFlowComposer | ||
swfContext : ISWFContext
La instancia de ISWFContext utilizada para hacer llamadas FTE según sea necesario. | FlowComposerBase | ||
textFlow : flashx.textLayout.elements:TextFlow [solo lectura]
El objeto TextFlow al que está conectada esta composición de flujo. | FlowComposerBase |
Método | Definido por | ||
---|---|---|---|
Crea un objeto StandardFlowComposer. | StandardFlowComposer | ||
Añade un controlador a esta instancia de IFlowComposer. | StandardFlowComposer | ||
Añade un controlador a esta instancia de IFlowComposer en el índice especificado. | StandardFlowComposer | ||
Calcula cuántas líneas se necesitan para visualizar el contenido en el elemento raíz del flujo y las posiciones que estas líneas ocupan en los contenedores de visualización del flujo. | StandardFlowComposer | ||
Compone el contenido desde el elemento raíz hasta el contenedor en el índice especificado (incluido). | StandardFlowComposer | ||
Compone el contenido del elemento raíz hasta la posición especificada. | StandardFlowComposer | ||
Marca las líneas como dañadas y que necesitan recomposición. | FlowComposerBase | ||
Devuelve el índice del controlador que contiene el contenido en la posición especificada. | StandardFlowComposer | ||
findLineAtPosition(absolutePosition:int, preferPrevious:Boolean = false):flashx.textLayout.compose:TextFlowLine
Devuelve el objeto TextFlowLine que contiene el contenido en la posición especificada. | FlowComposerBase | ||
Devuelve el número de línea secuencial del objeto TextFlowLine que contiene el contenido en la posición especificada. | FlowComposerBase | ||
Devuelve la posición absoluta del primer elemento de contenido en el objeto ContainerController especificado. | StandardFlowComposer | ||
Devuelve el objeto ContainerController en el índice especificado. | StandardFlowComposer | ||
Devuelve el índice de la instancia de ContainerController especificada. | StandardFlowComposer | ||
Devuelve la línea con el número de línea especificado. | FlowComposerBase | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Lo llama el objeto TextFlow cuando cambia el administrador de interacción. | StandardFlowComposer | ||
Indica si alguno de los objetos TextFlowLine entre el principio de la línea y la línea que contiene el contenido en la posición especificada están marcados como dañados. | FlowComposerBase | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina todos los controladores de esta instancia de IFlowComposer. | StandardFlowComposer | ||
Elimina un controlador de esta instancia de IFlowComposer. | StandardFlowComposer | ||
Elimina el controlador en el índice especificado de esta instancia de IFlowComposer. | StandardFlowComposer | ||
Establece la selección del contenedor que contiene la ubicación especificada por el parámetro absolutePosition. | StandardFlowComposer | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
StandardFlowComposer | |||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Compone el contenido del elemento raíz y actualiza la visualización. | StandardFlowComposer | ||
Actualiza las longitudes de las líneas para conservar la asignación con el objeto TextFlow. | FlowComposerBase | ||
Compone y actualiza la visualización hasta el contenedor en el índice especificado (incluido). | StandardFlowComposer | ||
Devuelve el valor simple del objeto especificado. | Object |
Método | Definido por | ||
---|---|---|---|
Devuelve true si es necesaria composición; en caso contrario, false | StandardFlowComposer |
composing | propiedad |
numControllers | propiedad |
rootElement | propiedad |
rootElement:ContainerFormattedElement
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
El elemento raíz asociado a esta instancia de IFlowComposer.
Sólo un objeto TextFlow puede ser un elemento raíz.
Implementación
public function get rootElement():ContainerFormattedElement
StandardFlowComposer | () | Información sobre |
public function StandardFlowComposer()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Crea un objeto StandardFlowComposer.
Para usar un objeto StandardFlowComposer, asígnelo a la propiedad flowComposer
de un objeto TextFlow. Llame al método updateAllControllers()
para diseñar y visualizar el texto en los contenedores conectados a la composición de flujo.
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function addController(controller:ContainerController):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Añade un controlador a esta instancia de IFlowComposer.
Este contenedor se añade al final de la lista de contenedores.
Parámetros
controller:ContainerController — Objeto ContainerController que se va a añadir.
|
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function addControllerAt(controller:ContainerController, index:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Añade un controlador a esta instancia de IFlowComposer en el índice especificado.
La lista de controladores se basa en 0 (el índice del primer controlador es 0).
Parámetros
controller:ContainerController — Objeto ContainerController que se va a añadir.
| |
index:int — Índice numérico que especifica la posición de la lista de controladores en la que se deben insertar el objeto ContainerController.
|
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function compose():Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Calcula cuántas líneas se necesitan para visualizar el contenido en el elemento raíz del flujo y las posiciones que estas líneas ocupan en los contenedores de visualización del flujo.
El método compose()
sólo crea contenido si ha cambiado desde la última operación de composición. Los resultados se guardan para que las llamadas sucesivas a compose()
o a updateAllControllers()
no lleven a cabo composición adicional si el contenido del flujo no ha cambiado.
Si el contenido de algún contenedor ha cambiado, el método devuelve true
.
Boolean — true, si no ha cambiado nada.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
package flashx.textLayout.compose.examples { public class StandardFlowComposer_compose { import flashx.textLayout.elements.TextFlow; public function compose(textFlow:TextFlow):void { textFlow.flowComposer.compose(); } } }
composeToController | () | método |
public function composeToController(index:int):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Compone el contenido desde el elemento raíz hasta el contenedor en el índice especificado (incluido).
Si cambia el contenido de cualquier contenedor hasta el del índice especificado (incluido), el método devuelve true
. Si index
es mayor que el número de controladores (o no se especifica), todos los contenedores se componen.
Parámetros
index:int (default = NaN ) — compone al menos hasta este contenedor en el objeto TextFlow. Si controllerIndex es mayor que el número de controladores, componga al final del último contenedor.
|
Boolean — true, si no ha cambiado nada.
|
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function composeToPosition(absolutePosition:int):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Compone el contenido del elemento raíz hasta la posición especificada.
Si cambia el contenido de cualquier contenedor que contiene el contenido hasta el de la posición especificada (incluido), el método devuelve true
. Si absolutePosition
es mayor que la longitud de TextFlow (o no se especifica), todo el flujo se compone.
Parámetros
absolutePosition:int (default = NaN ) — compone al menos hasta esta posición en el objeto TextFlow. De forma predeterminada o si absolutePosition ha sobrepasado con mucho el final de la composición del flujo.
|
Boolean — true, si no ha cambiado nada.
|
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function findControllerIndexAtPosition(absolutePosition:int, preferPrevious:Boolean = false):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Devuelve el índice del controlador que contiene el contenido en la posición especificada.
Puede considerarse posición la división entre dos caracteres u otros elementos de un flujo de texto. El valor de absolutePosition
es una posición entre el último carácter de un contenedor y el primer carácter del siguiente. Seguidamente, se devuelve el contenedor precedente si el parámetro preferPrevious
está establecido como true
y se devuelve el último contenedor si el parámetro preferPrevious
está establecido como false
.
El método devuelve -1 si el contenido en la posición especificada no se encuentra en ningún contenedor o está fuera del rango de posiciones del flujo de texto.
Parámetros
absolutePosition:int — La posición del contenido para el que se busca el índice del contenedor.
| |
preferPrevious:Boolean (default = false ) — Especifica qué índice de contenedor se debe devolver cuando la posición se encuentra entre el último elemento de un contenedor y el primer elemento del siguiente.
|
int — el índice del controlador del contenedor o -1 si no se encuentra.
|
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function getAbsoluteStart(controller:ContainerController):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Devuelve la posición absoluta del primer elemento de contenido en el objeto ContainerController especificado.
Una posición se calcula contando la división entre dos caracteres u otros elementos de un flujo de texto. La posición que precede al primer elemento de un flujo es cero. Una posición absoluta es la posición que se cuenta desde el principio del flujo.
Parámetros
controller:ContainerController — Un objeto ContainerController asociado a esta composición de flujo.
|
int — la posición antes del primer carácter o gráfico en el objeto ContainerController.
|
getControllerAt | () | método |
public function getControllerAt(index:int):ContainerController
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Devuelve el objeto ContainerController en el índice especificado.
Parámetros
index:int — El índice del objeto ContainerController que se va a devolver.
|
ContainerController — el objeto ContainerController en la posición especificada.
|
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function getControllerIndex(controller:ContainerController):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Devuelve el índice de la instancia de ContainerController especificada.
Parámetros
controller:ContainerController — Una referencia al objeto ContainerController que se quiere encontrar.
|
int — el índice del objeto ContainerController especificado o -1 si el controlador no está conectado a esta composición de flujo.
|
Ejemplo ( Cómo utilizar este ejemplo )
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 | () | método |
public function interactionManagerChanged(newInteractionManager:ISelectionManager):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Lo llama el objeto TextFlow cuando cambia el administrador de interacción.
Se llama a esta función automáticamente. El código no suele necesitar llamar a este método. Las clases que amplían StandardFlowComposer pueden anular este método para actualizar detectores de eventos y otras propiedades que dependen del administrador de interacción.
Parámetros
newInteractionManager:ISelectionManager — La nueva instancia de ISelectionManager.
|
preCompose | () | método |
removeAllControllers | () | método |
public function removeAllControllers():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Elimina todos los controladores de esta instancia de IFlowComposer.
removeController | () | método |
public function removeController(controller:ContainerController):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Elimina un controlador de esta instancia de IFlowComposer.
Parámetros
controller:ContainerController — La instancia de ContainerController que se va a eliminar.
|
removeControllerAt | () | método |
public function removeControllerAt(index:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Elimina el controlador en el índice especificado de esta instancia de IFlowComposer.
Parámetros
index:int — El índice del objeto ContainerController que se va a eliminar.
|
setFocus | () | método |
public function setFocus(absolutePosition:int, leanLeft:Boolean = false):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Establece la selección del contenedor que contiene la ubicación especificada por el parámetro absolutePosition
.
StandardFlowComposer llama al método setFocus()
del objeto ContainerController que contiene la posición especificada del flujo de texto.
Parámetros
absolutePosition:int — Especifica la posición del contenedor que recibirá la selección en el flujo de texto.
| |
leanLeft:Boolean (default = false ) — Si es true y la posición se encuentra antes del primer carácter de un contenedor, establece la selección al final del contenedor anterior.
|
Elementos de API relacionados
setRootElement | () | método |
public function setRootElement(newRootElement:ContainerFormattedElement):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Parámetros
newRootElement:ContainerFormattedElement |
updateAllControllers | () | método |
public function updateAllControllers():Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Compone el contenido del elemento raíz y actualiza la visualización.
El diseño del texto se lleva a cabo en dos fases: composición y visualización. En la fase de composición, la composición de flujo calcula el número de líneas necesarias para visualizar el contenido, así como la posición de estas líneas en los contenedores de visualización del flujo. En la fase de visualización, la composición de flujo actualiza los elementos secundarios de objetos de visualización de sus contenedores. El método updateAllControllers()
inicia ambas fases secuencialmente. StandardFlowComposer realiza un seguimiento de los cambios del contenido para que se lleve a cabo un ciclo completo de composición y visualización sólo cuando sea necesario.
Este método actualiza todas las líneas y la lista de visualización inmediatamente y de forma síncrona.
Si el contenido de algún contenedor ha cambiado, el método devuelve true
.
Boolean — true, si no ha cambiado nada.
|
updateToController | () | método |
public function updateToController(index:int):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Compone y actualiza la visualización hasta el contenedor en el índice especificado (incluido).
El método updateToController()
compone el contenido y actualiza la visualización de todos los contenedores hasta el que ocupa el índice especificado (incluido). Por ejemplo, si tiene una cadena de 20 contenedores y especifica el índice 10, updateToController()
garantiza la composición y la visualización desde el primero hasta el décimo contenedor (índices 0-9). La composición se detiene al llegar a dicho punto. Si controllerIndex
es -1 (o si no se especifica), se actualizan todos los contenedores.
Este método actualiza todas las líneas y la lista de visualización inmediatamente y de forma síncrona.
Si el contenido de algún contenedor ha cambiado, el método devuelve true
.
Parámetros
index:int (default = NaN ) — índice del último contenedor que se va a actualizar (de forma predeterminada se actualizan todos los contenedores)
|
Boolean — true , si no ha cambiado nada.
|
importToFlow()
.
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:12 PM Z