Pacote | flashx.textLayout.factory |
Classe | public class TextFlowTextLineFactory |
Herança | TextFlowTextLineFactory TextLineFactoryBase Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
As linhas de texto são estáticas e criadas para caber exatamente dentro de um único retângulo limitador, mas podem ter vários parágrafos e formatos, além de gráficos inline. Para criar objetos TextLine diretamente a partir de uma string, use StringTextLineFactory.
Nota: ao usar gráficos inline, a propriedade source
do objeto InlineGraphicElement deve ser uma instância de um DisplayObject ou um objeto Class que represente um ativo incorporado. Não podem ser usados objetos URLRequest. A largura e a altura do gráfico inline no momento da criação da linha são usadas para compor o fluxo.
Elementos da API relacionados
Método | Definido por | ||
---|---|---|---|
Cria um objeto TextFlowTextLineFactory. | TextFlowTextLineFactory | ||
Cria objetos TextLine a partir do fluxo de texto especificado. | TextFlowTextLineFactory | ||
O menor retângulo no qual o conteúdo disposto cabe. | TextLineFactoryBase | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object |
TextFlowTextLineFactory | () | Construtor |
public function TextFlowTextLineFactory()
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Cria um objeto TextFlowTextLineFactory.
createTextLines | () | método |
public function createTextLines(callback:Function, textFlow:flashx.textLayout.elements:TextFlow):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Cria objetos TextLine a partir do fluxo de texto especificado.
As linhas de texto são compostas para caber nos limites atribuídos à propriedade compositionBounds
. À medida que cada linha é criada, a fábrica chama a função especificada no parâmetro callback
. Esta função é transmitida ao objeto TextLine, sendo responsável pela exibição da linha. Se uma linha tiver uma cor de fundo, a fábrica também chamará a função callback com um objeto Shape que contenha um retângulo na cor de fundo.
Observe que as políticas rolagem de fábrica controlarão quantas linhas serão geradas.
Parâmetros
callback:Function — função a ser chamada com cada objeto TextLine gerado. O callback será chamado com um objeto Shape representando qualquer cor de fundo (se houver) e com objetos TextLine para o texto.
| |
textFlow:flashx.textLayout.elements:TextFlow — O TextFlow do qual as linhas são criadas.
|
createTextLines()
é chamado duas vezes com o uso da mesma frase. As propriedades da fábrica e os formatos de fluxo são ajustados entre as chamadas para criar um efeito de "sombra".
package flashx.textLayout.factory.examples { import flash.display.Sprite; import flash.display.DisplayObject; import flash.geom.Rectangle; import flash.text.engine.TextLine; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.factory.TextFlowTextLineFactory; import flashx.textLayout.formats.TextLayoutFormat; public class TextFlowTextLineFactory_example extends Sprite { public function TextFlowTextLineFactory_example() { var factory:TextFlowTextLineFactory = new TextFlowTextLineFactory(); factory.compositionBounds = new Rectangle( 100, 100, 200, 130 ); var flow:TextFlow = new TextFlow(); var format:TextLayoutFormat = new TextLayoutFormat(); format.fontFamily = "LilyUPC, Verdana, _sans"; format.fontSize = 32; format.color = 0x000000; format.textAlpha = .5; var span:SpanElement = new SpanElement(); span.text = "The quick brown fox jumped over the lazy dog."; span.format = format; var para:ParagraphElement = new ParagraphElement(); para.addChild( span ); flow.addChild( para ); factory.createTextLines( useTextLines, flow ); factory.compositionBounds = new Rectangle( 99, 99, 200, 130 ); format.color = 0x990000; format.textAlpha = 1; span.format = format; factory.createTextLines( useTextLines, flow ); graphics.beginFill(0x555555,.5); graphics.drawRect( 99, 99, 201, 131 ); graphics.endFill(); } private function useTextLines( lineOrShape:DisplayObject ):void { this.addChild( lineOrShape ); } } }
Wed Jun 13 2018, 11:10 AM Z