Pacote | flash.text.engine |
Classe | public final class TextBlock |
Herança | TextBlock Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
A classe TextBlock deve conter um único parágrafo pois o Unicode bidirecional e os algoritmos de quebra de linha operam em um parágrafo por vez. Para aplicativos que compõem vários parágrafos de texto, use uma linguagem de markup ou análise de texto para dividir o texto em parágrafos e criar um TextBlock por parágrafo.
O objeto TextBlock armazena o conteúdo na propriedade content
, que é uma ocorrência da classe ContentElement. Como você não pode criar uma ocorrência da classe ContentElement, defina content
como uma ocorrência de uma das subclasses: TextElement, GraphicElement ou GroupElement. Use TextElement exclusivamente para conteúdo do texto, GraphicElement para conteúdo da imagem ou gráfico e GroupElement para conteúdo que apresente uma combinação entre TextElement, GraphicElement e outros objetos GroupElement. Consulte a classe ContentElement e suas subclasses para obter detalhes sobre gerenciar execuções formatadas de texto, subexecuções incorporadas e elementos gráficos.
Depois de criar a ocorrência de TextBlock e definir a propriedade content
, chame o método createTextLine()
para criar linhas de texto, que são ocorrências da classe TextLine
.
Elementos da API relacionados
GraphicElement
GroupElement
TextBaseline
TextElement
TextJustifier
TextLine
TextRotation
TabStop
Propriedade | Definido por | ||
---|---|---|---|
applyNonLinearFontScaling : Boolean
Especifica que você deseja aprimorar a aparência da tela em detrimento da fidelidade de impressão de WYSIWYG (what-you-see-is-what-you-get, você tem o que vê). | TextBlock | ||
baselineFontDescription : FontDescription
A fonte usada para determinar as linhas de base de todas as linhas criadas no bloco, independentemente do conteúdo. | TextBlock | ||
baselineFontSize : Number
O tamanho da fonte usado para calcular as linhas de base para as linhas criadas no bloco. | TextBlock | ||
baselineZero : String
Especifica a linha de base que está em y=0 para as linhas criadas nesse bloco. | TextBlock | ||
bidiLevel : int
Especifica o nível de incorporação do parágrafo bidirecional no nível do bloco de texto. | TextBlock | ||
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
content : ContentElement
Mantém o conteúdo do bloco de texto. | TextBlock | ||
firstInvalidLine : flash.text.engine:TextLine [somente leitura]
Identifica a primeira linha do bloco de texto em que TextLine.validity não é igual a TextLineValidity.VALID. | TextBlock | ||
firstLine : flash.text.engine:TextLine [somente leitura]
O primeiro TextLine no TextBlock, se houver. | TextBlock | ||
lastLine : flash.text.engine:TextLine [somente leitura]
O último TextLine no TextBlock, se houver. | TextBlock | ||
lineRotation : String
Gira as linhas de texto do bloco como uma unidade. | TextBlock | ||
tabStops : Vector.<flash.text.engine:TabStop>
Especifica as paradas de tabulação do texto no bloco de texto, na forma de um Vector de objetos TabStop. | TextBlock | ||
textJustifier : flash.text.engine:TextJustifier
Especifica o TextJustifier a ser usado durante a criação de linha. | TextBlock | ||
textLineCreationResult : String [somente leitura]
Indica o resultado de uma operação createTextLine(). | TextBlock | ||
userData : *
Fornece uma maneira de o aplicativo associar dados arbitrários ao bloco de texto. | TextBlock |
Método | Definido por | ||
---|---|---|---|
TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
Cria um objeto TextBlock
| TextBlock | ||
createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Instrui o bloco de texto a criar uma linha de texto a partir de seu conteúdo, começando no ponto especificado pelo parâmetro previousLine e quebrando no ponto especificado pelo parâmetro de largura. | TextBlock | ||
Descarta o conteúdo subjacente de TextBlock como uma string XML. | TextBlock | ||
Localiza o índice do próximo limite de átomo usando o índice do caractere especificado sem incluir o caractere no índice especificado. | TextBlock | ||
Localiza o índice do próximo limite de palavra usando o índice do caractere especificado sem incluir o caractere no índice especificado. | TextBlock | ||
Localiza o índice do limite de núcleo anterior do índice do caractere especificado sem incluir o caractere no índice especificado. | TextBlock | ||
Localiza o índice do limite de palavra anterior do índice do caractere especificado sem incluir o caractere no índice especificado. | TextBlock | ||
Retorna o TextLine contendo o caractere especificado pelo parâmetro charIndex. | TextBlock | ||
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 | ||
recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Instrui o bloco de texto a reutilizar uma linha de texto existente a partir de seu conteúdo, começando no ponto especificado pelo parâmetro previousLine e quebrando-a no ponto especificado pelo parâmetro width. | TextBlock | ||
Instrui que o bloco de texto a liberar todos os dados temporários associados com a criação de linhas de texto. | TextBlock | ||
Remove uma faixa de linhas de texto da lista de linhas mantidas por TextBlock. | TextBlock | ||
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 |
applyNonLinearFontScaling | propriedade |
applyNonLinearFontScaling:Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica que você deseja aprimorar a aparência da tela em detrimento da fidelidade de impressão de WYSIWYG (what-you-see-is-what-you-get, você tem o que vê). Para plataformas e fontes que não suportam o posicionamento de glifo de subpixel durante a renderização da fonte do dispositivo, mas suportam escala não linear, definir essa propriedade como true
ativa o uso daquelas medidas com algum prejuízo à fidelidade de impressão de WYSIWYG, em particular para tamanhos de ponto pequenos. Fonte não linear escalando trabalhos com escala seletiva da larguras dos glifos individuais para ocultar lacunas pouco visíveis causadas por encaixe de pixel.
Em plataformas que suportam o posicionamento de glifo de subpixel, esta marca é ignorada.
Esta marca não tem nenhum efeito na renderização de fontes incorporadas
O valor padrão é true
.
Implementação
public function get applyNonLinearFontScaling():Boolean
public function set applyNonLinearFontScaling(value:Boolean):void
baselineFontDescription | propriedade |
baselineFontDescription:FontDescription
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
A fonte usada para determinar as linhas de base de todas as linhas criadas no bloco, independentemente do conteúdo. As linhas de base dependem da fonte e do tamanho da fonte.
O valor padrão é null
. Quando a fonte da linha de base é null
, o tamanho da linha de base é ignorado e a linha de base de qualquer linha tem como base a fonte e o tamanho do maior texto da linha. Quando você especifica baselineFontDescription
e baselineFontSize
, eles determinam as linhas de base de todas as linhas do bloco de texto, independentemente do conteúdo. A combinação costuma ser mais útil na tipografia asiática.
Implementação
public function get baselineFontDescription():FontDescription
public function set baselineFontDescription(value:FontDescription):void
Elementos da API relacionados
baselineFontSize | propriedade |
baselineFontSize:Number
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
O tamanho da fonte usado para calcular as linhas de base para as linhas criadas no bloco. As linhas de base dependem da fonte e do tamanho da fonte.
O valor padrão é 12
. Quando a fonte da linha de base é null
, o tamanho é ignorado e a linha de base de qualquer linha tem como base a fonte e o tamanho do maior texto da linha.
Implementação
public function get baselineFontSize():Number
public function set baselineFontSize(value:Number):void
Lança
ArgumentError — O baselineFontSize especificado é menor que 0.
|
Elementos da API relacionados
baselineZero | propriedade |
baselineZero:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica a linha de base que está em y=0 para as linhas criadas nesse bloco. Valores válidos da propriedade são encontrados nos membros da classe TextBaseline
.
O valor padrão é TextBaseline.ROMAN
.
Para definir valores para essa propriedade, utilize os seguintes valores de string:
Valor de string | Descrição |
---|---|
TextBaseline.ROMAN | A linha de base romana das linhas é y=0. |
TextBaseline.ASCENT | A linha de base ascendente das linhas é y=0. |
TextBaseline.DESCENT | A linha de base de descida das linhas é y=0. |
TextBaseline.IDEOGRAPHIC_TOP | A linha de base ideográfica superior das linhas é y=0. |
TextBaseline.IDEOGRAPHIC_CENTER | A linha de base ideográfica central das linhas é y=0. |
TextBaseline.IDEOGRAPHIC_BOTTOM | A linha de base ideográfica inferior das linhas é y=0. |
Implementação
public function get baselineZero():String
public function set baselineZero(value:String):void
Lança
ArgumentError — Se for definido como qualquer valor que não seja membro de TextBaseline .
|
Elementos da API relacionados
bidiLevel | propriedade |
bidiLevel:int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica o nível de incorporação do parágrafo bidirecional no nível do bloco de texto. Em geral, use 0 para parágrafos LTR (inglês, japonês etc.) e 1 para parágrafos RTL (árabe, hebraico etc.). O uso de valores diferentes de 0 ou 1 está reservado para casos especiais - consulte UAX#9, "Algoritmo Unicode Bidirecional" (http://www.unicode.org/reports/tr9/) para obter detalhes.
O valor padrão é 0.
Modificar bidiLevel
altera a validade de todas as linhas quebradas anteriormente para TextLineValidity.INVALID. Depois de alterar bidiLevel
, a propriedade firstInvalidLine
se iguala à propriedade firstLine
e você deve requebrar todas as linhas em TextBlock.
Implementação
public function get bidiLevel():int
public function set bidiLevel(value:int):void
Lança
ArgumentError — Se definido como um valor que seja menor do que 0.
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
bidiLevel
par e, depois, com bidiLevel
ímpar.
package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; public class TextBlock_bidiLevelExample extends Sprite { public function TextBlock_bidiLevelExample():void { var fontSize:Number = 36; var format:ElementFormat = new ElementFormat(); format.fontDescription = new FontDescription("Adobe Hebrew"); format.fontSize = fontSize; var y:Number = 0; var leading:Number = fontSize * 0.2; var text:String = "abc" + String.fromCharCode(0x05D0, 0x05D1, 0x05D2); var textBlock:TextBlock = new TextBlock(); textBlock.content = new TextElement(text, format); // bidiLevel even textBlock.bidiLevel = 0; var textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; y += textLine.descent; addChild(textLine); // bidiLevel odd textBlock.content = new TextElement(text, format); textBlock.bidiLevel = 1; textLine = textBlock.createTextLine(null, 400); y += leading + textLine.ascent; textLine.y = y; addChild(textLine); } } }
content | propriedade |
content:ContentElement
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Mantém o conteúdo do bloco de texto. Porque ContentElement é classe base, atribua content
a uma instância de subclasse ContentElement: TextElement, GraphicElement ou GroupElement. Um objeto TextElement contém String; um objeto GraphicElement contém DisplayObject e GroupElement contém um objeto Vector que contém um ou mais objetos TextElement, GraphicElement, ou outros objetos GroupElement. Use TextElement em um parágrafo de texto homogêneo, GraphicElement em um gráfico e GroupElement em uma combinação entre elementos de texto e gráficos ou várias ocorrências desses elementos, bem como outros objetos GroupElement.
O valor padrão é null
.
A modificação da propriedade content
altera a validade de todas as linhas criadas anteriormente para TextLineValidity.INVALID
. Depois de alterar content
, a propriedade firstInvalidLine
se iguala à propriedade firstLine
e você deve quebrar novamente todas as linhas em TextBlock.
Implementação
public function get content():ContentElement
public function set content(value:ContentElement):void
Lança
ArgumentError — Se definido como valor que não é uma subclasse conhecida de ContentElement .
| |
ArgumentError — O value especificado já é membro de um grupo.
|
Elementos da API relacionados
firstInvalidLine | propriedade |
firstInvalidLine:flash.text.engine:TextLine
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Identifica a primeira linha do bloco de texto em que TextLine.validity
não é igual a TextLineValidity.VALID
.
O valor padrão é null
.
Implementação
public function get firstInvalidLine():flash.text.engine:TextLine
Elementos da API relacionados
firstLine | propriedade |
firstLine:flash.text.engine:TextLine
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
O primeiro TextLine no TextBlock, se houver.
O valor padrão é null
.
Implementação
public function get firstLine():flash.text.engine:TextLine
Elementos da API relacionados
lastLine | propriedade |
lastLine:flash.text.engine:TextLine
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
O último TextLine no TextBlock, se houver.
O valor padrão é null
.
Implementação
public function get lastLine():flash.text.engine:TextLine
Elementos da API relacionados
lineRotation | propriedade |
lineRotation:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Gira as linhas de texto do bloco como uma unidade. Chame o método createTextLine()
depois de definir lineRotation
para que ele entre em vigor. O valor padrão é TextRotation.ROTATE_0
.
O giro final de qualquer glifo depende dos valores de ElementFormat.textRotation
, ContentElement.textRotation
e TextBlock.lineRotation
.
TextBlock.lineRotation
costuma ser usado em texto asiático. Para criar um parágrafo de texto vertical em japonês, siga este procedimento:
- Defina a propriedade
TextBlock.lineRotation
comoTextRotation.ROTATE_90
. - Deixe a propriedade
ElementFormat.textRotation
do conteúdo como o padrão,TextRotation.AUTO
.
Use as seguintes constantes, definidas na classe TextRotation
, para definir o valor como esta propriedade:
Valor de string | Descrição |
---|---|
TextRotation.ROTATE_0 | As linhas não são giradas. |
TextRotation.ROTATE_90 | As linhas são giradas 90 graus em sentido horário. |
TextRotation.ROTATE_180 | As linhas são giradas 180 graus. |
TextRotation.ROTATE_270 | As linhas são giradas 270 graus em sentido horário. |
TextRotation.AUTO | Não suportado. |
Implementação
public function get lineRotation():String
public function set lineRotation(value:String):void
Lança
ArgumentError — Em caso de definição como qualquer valor que não seja membro de TextRotation .
| |
ArgumentError — Se for definido como TextRotation.AUTO .
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
lineRotation
como TextRotation.ROTATE_90 para exibir a linha verticalmente.
package { import flash.display.Sprite; import flash.text.engine.FontDescription; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.TextRotation; import flash.text.engine.ElementFormat; public class TextBlock_lineRotationExample extends Sprite { public function TextBlock_lineRotationExample():void { var Japanese:String = String.fromCharCode( 0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4, 0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 0x30E0, 0x30BA, 0x793E, 0x306E ) + "FMS 2" + String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002); var fontDescription:FontDescription = new FontDescription("MS Mincho"); var format:ElementFormat = new ElementFormat(); format.fontSize = 15; format.fontDescription = fontDescription; var textElement:TextElement = new TextElement(Japanese, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; textBlock.lineRotation = TextRotation.ROTATE_90; var linePosition:Number = this.stage.stageWidth - 120; var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine( previousLine, 300); if (textLine == null) break; textLine.y = 30; textLine.x = linePosition; linePosition -= 24; addChild(textLine); previousLine = textLine; } } } }
tabStops | propriedade |
tabStops:Vector.<flash.text.engine:TabStop>
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica as paradas de tabulação do texto no bloco de texto, na forma de um Vector de objetos TabStop
.
O valor padrão é null
, o que significa que não há paradas de tabulação ativas. Quando nenhuma parada de tabulação é especificada (ou o ponto de inserção está além da última parada de tabulação especificada), o tempo de execução cria tabulações de meia-polegada por padrão.
Quando a propriedade tabStops
é definida, o TextBlock cria uma cópia do objeto Vector para uso interno. A modificação do Vector original ou do seu conteúdo não afeta o TextBlock. Quando a propriedade tabStops
é consultada, é retornada uma cópia do Vector interno. Novamente, a modificação do Vector retornado ou do seu conteúdo não afeta o TextBlock.
Implementação
public function get tabStops():Vector.<flash.text.engine:TabStop>
public function set tabStops(value:Vector.<flash.text.engine:TabStop>):void
Lança
ArgumentError — As tabStops especificadas contêm elementos null .
| |
ArgumentError — As tabStops especificadas não são classificadas por aumento de posição.
|
Elementos da API relacionados
textJustifier | propriedade |
textJustifier:flash.text.engine:TextJustifier
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Especifica o TextJustifier a ser usado durante a criação de linha.
O valor padrão é um objeto TextJustifier padrão construído.
Quando a propriedade textJustifier
é definida, o TextBlock cria uma cópia do objeto para uso interno. A modificação do objeto original não afeta o TextBlock. Quando a propriedade textJustifier
é consultada, é retornada uma cópia do objeto interno. Novamente, a modificação do objeto retornado não afeta o TextBlock.
Implementação
public function get textJustifier():flash.text.engine:TextJustifier
public function set textJustifier(value:flash.text.engine:TextJustifier):void
Lança
ArgumentError — Se definido como valor que não seja subclasse conhecida de TextJustifier .
|
Elementos da API relacionados
textLineCreationResult | propriedade |
textLineCreationResult:String
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indica o resultado de uma operação createTextLine()
. Alterar o conteúdo do bloco invalida linhas quebradas anteriormente e redefine a propriedade como null
.
O valor padrão é null
.
Valores da propriedade são encontrados em TextLineCreationResult
Valor de string | Descrição |
---|---|
TextLineCreationResult.SUCCESS | A linha foi quebrada com êxito. |
TextLineCreationResult.COMPLETE | A nova linha criada ficou se alinhou perfeitamente com as linhas a seguir que foram alteradas de POSSIBLY_INVALID para VALID, ou nenhuma linha foi criada porque todo o texto no bloco já tinha sido quebrado. |
TextLineCreationResult.INSUFFICIENT_WIDTH | Nenhuma linha foi criada porque nenhum texto se encaixou na largura especificada. |
Implementação
public function get textLineCreationResult():String
Elementos da API relacionados
userData | propriedade |
public var userData:*
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Fornece uma maneira de o aplicativo associar dados arbitrários ao bloco de texto. Os dados podem ser informações referentes ao conteúdo, por exemplo, uma data de revisão ou o nome do autor, ou podem ser dados armazenados em cache que são usados durante o processamento.
TextBlock | () | Construtor |
public function TextBlock(content:ContentElement = null, tabStops:Vector.<flash.text.engine:TabStop> = null, textJustifier:flash.text.engine:TextJustifier = null, lineRotation:String = "rotate0", baselineZero:String = "roman", bidiLevel:int = 0, applyNonLinearFontScaling:Boolean = true, baselineFontDescription:FontDescription = null, baselineFontSize:Number = 12.0)
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Cria um objeto TextBlock
Parâmetroscontent:ContentElement (default = null ) — O conteúdo do bloco de texto.
| |
tabStops:Vector.<flash.text.engine:TabStop> (default = null ) — As paradas de tabulação do texto no bloco de texto.
| |
textJustifier:flash.text.engine:TextJustifier (default = null ) — O objeto TextJustifier a ser usado durante a criação de linha para esse bloco. Caso nenhum justificador seja fornecido, um justificador padrão será criado com base em uma localidade em inglês.
| |
lineRotation:String (default = "rotate0 ") — A rotação aplicada às linhas de texto geradas a partir do bloco de texto como unidades.
| |
baselineZero:String (default = "roman ") — Especifica a linha de base em y=0 para todas as linhas do bloco.
| |
bidiLevel:int (default = 0 ) — O nível de incorporação bidirecional padrão do texto no bloco.
| |
applyNonLinearFontScaling:Boolean (default = true ) — Especifica que você deseja aprimorar a aparência da tela em detrimento da fidelidade de impressão de WYSIWYG.
| |
baselineFontDescription:FontDescription (default = null ) — Especifica uma descrição de fonte da qual derivar as linhas de base de todas as linhas do bloco.
| |
baselineFontSize:Number (default = 12.0 ) — Especifica o tamanho a ser usado com baselineFontDescription. O parâmetro é ignorado caso baselineFontDescription seja null .
|
Lança
ArgumentError — O content especificado não é uma subclasse conhecida de ContentElement .
| |
ArgumentError — O content especificado já é membro de um grupo.
| |
ArgumentError — O lineRotation especificado não é membro de TextRotation .
| |
ArgumentError — O baselineZero especificado não é membro de TextBaseline .
| |
ArgumentError — O bidiLevel especificado é inferior a zero.
| |
ArgumentError — As tabStops especificadas contêm elementos null .
| |
ArgumentError — As tabStops especificadas não são classificadas por aumento de posição.
| |
ArgumentError — O baselineFontSize especificado é menor que 0.
|
Elementos da API relacionados
createTextLine | () | método |
public function createTextLine(previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Instrui o bloco de texto a criar uma linha de texto a partir de seu conteúdo, começando no ponto especificado pelo parâmetro previousLine
e quebrando no ponto especificado pelo parâmetro largura
. A linha de texto é um objeto TextLine, que você pode adicionar à lista de exibição.
A quebra de linhas em um intervalo de um bloco de texto que já tenha sido quebrado pode alterar a validade das linhas na área em que ocorre a quebra e além dela. O status das linhas pode mudar de VALID para INVALID ou POSSIBLY_INVALID. Caso uma linha recém-quebrada se alinhe perfeitamente com uma linha quebrada anteriormente cujo status é POSSIBLY_INVALID, o status dessa linha quebrada anteriormente e de todas as linhas POSSIBLY_INVALID seguintes é restaurado como VALID. A validade das linhas que foram definidas como valores que não são membros de TextLineValidity
não é alterada para VALID, mas pode ser alterada para INVALID. Verifique a propriedade firstInvalidLine
depois de qualquer alteração feita no bloco de texto para ver onde começar ou continuar quebrando linhas de texto.
Você pode criar quebras de linha artificiais incluindo o caractere ZWSP (Unicode Zero Width Space, Espaço de Largura Zero Unicode) no texto. Isso pode ser útil para idiomas como tailandês, que precisam de um dicionário para quebras de linha corretas. O tempo de execução do Flash não inclui esse dicionário.
Para reduzir a sobrecarga da memória, quando todas as linhas desejadas foram criadas, a menos que se espere que as linhas precisem ser repetidamente requebradas, devido a, por exemplo, redimensão do container, o usuário deve chamar o método releaseLineCreationData()
permitindo ao bloco de texto desfazer-se dos dados temporários associados à quebra de linha.
Parâmetros
previousLine:flash.text.engine:TextLine (default = null ) — Especifica a linha quebrada anteriormente após a qual a quebra deve começar. Pode ser null quando é quebrada a primeira linha.
| |
width:Number (default = 1000000 ) — Especifica a largura desejada da linha em pixels. A largura real pode ser menor.
| |
lineOffset:Number (default = 0.0 ) — Um parâmetro opcional que especifica a diferença em pixels entre a origem da linha e a origem das paradas de tabulação. Isso pode ser usado quando as linhas não estiverem alinhadas, embora seja desejável que as guias estejam. O valor padrão desse parâmetro é 0.0 .
| |
fitSomething:Boolean (default = false ) — Um parâmetro opcional que instrui o FlashPlayer a se encaixar em pelo menos um caractere na linha de texto, não importando qual largura tenha sido especificada (mesmo se a largura for zero ou negativa, o que, de outra maneira, resultaria no lançamento de uma exceção).
|
flash.text.engine:TextLine — Uma linha de texto ou null caso o bloco de texto esteja vazio ou a largura especificada seja menor do que a largura do próximo elemento. Para diferenciar os casos, verifique a propriedade textLineCreationResult do bloco de texto.
|
Lança
ArgumentError — Se a TextLine especificada por previousLine não for válida.
| |
ArgumentError — Se o TextLine especificado por previousLine é possuído por um TextBlock diferente.
| |
ArgumentError — Se a largura for menor do que zero, a menos que fitSomething seja true.
| |
ArgumentError — Se width for maior que TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Se um ou mais elementos no conteúdo do bloco de texto tiver null ElementFormat .
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
createTextLine()
para criar linhas de texto em um bloco. Isso é realizado com as seguintes tarefas:
- Criar um TextElement de uma string e atribuir-lhe uma fonte de tamanho 20
- Criar um TextBlock e atribuir o TextElement a ele
- Chamar
createTextLine()
para criar linhas de 300 pixels de largura no bloco de texto - Colocar cada linha no Stage (
addChild()
) e definir sua posição (x
ey
)
package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.ElementFormat; import flash.text.engine.FontDescription; public class TextBlock_createTextLineExample extends Sprite { public function TextBlock_createTextLineExample():void { var str:String = "I am a TextElement, created from a String and assigned " + "to the content property of a TextBlock. The createTextLine() method " + "then created these lines, 300 pixels wide, for display." ; var fontDescription:FontDescription = new FontDescription("Arial"); var format:ElementFormat = new ElementFormat(fontDescription); format.fontSize = 16; var textElement:TextElement = new TextElement(str, format); var textBlock:TextBlock = new TextBlock(); textBlock.content = textElement; createLines(textBlock); } private function createLines(textBlock:TextBlock):void { var lineWidth:Number = 300; var xPos:Number = 15.0; var yPos:Number = 20.0; var textLine:TextLine = textBlock.createTextLine (null, lineWidth); while (textLine) { textLine.x = xPos; textLine.y = yPos; yPos += textLine.height + 2; addChild (textLine); textLine = textBlock.createTextLine (textLine, lineWidth); } } } }
dump | () | método |
public function dump():String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5 |
Descarta o conteúdo subjacente de TextBlock como uma string XML. Isso pode ser útil no teste automático e inclui texto, formatação e informações de layout.
O seguinte descreve a saída:
>block< [0-N LINE] >/block<
Para uma descrição da saída de cada linha, consulte o método TextLine.dump().
Observação: o conteúdo e o formato da saída pode ser alterado no futuro. A Adobe não garante a compatibilidade do método com versões anteriores.
RetornaString |
Elementos da API relacionados
findNextAtomBoundary | () | método |
public function findNextAtomBoundary(afterCharIndex:int):int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Localiza o índice do próximo limite de átomo usando o índice do caractere especificado sem incluir o caractere no índice especificado. Os caracteres entre limites de átomo são combinados para formar um só átomo em TextLine
como, por exemplo, um "e" e uma combinação de acento agudo.
Parâmetros
afterCharIndex:int — Especifica o índice do caractere no qual procurar o próximo limite de núcleo.
|
int — O índice do próximo limite de núcleo usando o índice do caractere especificado.
|
Lança
RangeError — O index especificado está fora do intervalo.
| |
IllegalOperationError — A TextLine à qual o caractere indexado pertence não é válida.
|
Elementos da API relacionados
findNextWordBoundary | () | método |
public function findNextWordBoundary(afterCharIndex:int):int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Localiza o índice do próximo limite de palavra usando o índice do caractere especificado sem incluir o caractere no índice especificado. Os limites de palavra são determinados com base nas propriedades Unicode dos caracteres.
Parâmetros
afterCharIndex:int — Especifica o índice do caractere a partir do qual pesquisar o próximo limite de palavra.
|
int — O índice do próximo limite de palavra do índice de caractere especificado.
|
Lança
RangeError — O index especificado está fora do intervalo.
| |
IllegalOperationError — A TextLine à qual o caractere indexado pertence não é válida.
|
findPreviousAtomBoundary | () | método |
public function findPreviousAtomBoundary(beforeCharIndex:int):int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Localiza o índice do limite de núcleo anterior do índice do caractere especificado sem incluir o caractere no índice especificado. Os caracteres entre limites de átomo são combinados para formar um só átomo em TextLine
como, por exemplo, um "e" e uma combinação de acento agudo.
Parâmetros
beforeCharIndex:int — Especifica o índice do caractere no qual procurar o limite de núcleo anterior.
|
int — O índice do limite de núcleo anterior do índice do caractere especificado.
|
Lança
RangeError — O index especificado está fora do intervalo.
| |
IllegalOperationError — A TextLine à qual o caractere indexado pertence não é válida.
|
Elementos da API relacionados
findPreviousWordBoundary | () | método |
public function findPreviousWordBoundary(beforeCharIndex:int):int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Localiza o índice do limite de palavra anterior do índice do caractere especificado sem incluir o caractere no índice especificado. Os limites de palavra são determinados com base nas propriedades Unicode dos caracteres.
Parâmetros
beforeCharIndex:int — Especifica o índice do caractere a partir do qual pesquisar o limite de palavra anterior.
|
int — O índice do limite de palavra anterior para o índice de caractere especificado.
|
Lança
RangeError — O index especificado está fora do intervalo.
| |
IllegalOperationError — A TextLine à qual o caractere indexado pertence não é válida.
|
getTextLineAtCharIndex | () | método |
public function getTextLineAtCharIndex(charIndex:int):flash.text.engine:TextLine
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Retorna o TextLine contendo o caractere especificado pelo parâmetro charIndex
.
Parâmetros
charIndex:int — O valor de índice com base em zero do caractere (por exemplo, o primeiro caractere é 0, o segundo caractere é 1 e assim por diante).
|
flash.text.engine:TextLine — Uma TextLine contendo o caractere em charIndex .
|
Lança
RangeError — O índice de caractere especificado está fora do intervalo.
|
recreateTextLine | () | método |
public function recreateTextLine(textLine:flash.text.engine:TextLine, previousLine:flash.text.engine:TextLine = null, width:Number = 1000000, lineOffset:Number = 0.0, fitSomething:Boolean = false):flash.text.engine:TextLine
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Instrui o bloco de texto a reutilizar uma linha de texto existente a partir de seu conteúdo, começando no ponto especificado pelo parâmetro previousLine
e quebrando-a no ponto especificado pelo parâmetro width
. A linha de texto é um objeto TextLine, que você pode adicionar à lista de exibição. Com a reutilização de uma linha de texto existente, o desempenho é melhorado por causa da redução na criação de objetos.
A textLine
a ser recriado será liberada de qualquer bloco de texto em que estiver, se houver algum. Além disso, todas as propriedades, inclusive propriedades herdadas de DisplayObjectContainer
, InteractiveObject
e DisplayObject
são redefinidas com seus valores padrão. Finalmente, todos os filhos da linha são removidos, inclusive elementos gráficos e outras decorações, e todos os ouvintes de evento na linha são removidos. Para melhorar o desempenho, a única exceção a esta redefinição completa é que a própria linha não seja removida do seu pai.
A quebra de linhas em um intervalo de um bloco de texto que já tenha sido quebrado pode alterar a validade das linhas na área em que ocorre a quebra e além dela. O status das linhas pode mudar de VALID para INVALID ou POSSIBLY_INVALID. Caso uma linha recém-quebrada se alinhe perfeitamente com uma linha quebrada anteriormente cujo status é POSSIBLY_INVALID, o status dessa linha quebrada anteriormente e de todas as linhas POSSIBLY_INVALID seguintes é restaurado como VALID. A validade das linhas que foram definidas como valores que não são membros de TextLineValidity
não é alterada para VALID, mas pode ser alterada para INVALID. Verifique a propriedade firstInvalidLine
depois de qualquer alteração feita no bloco de texto para ver onde começar ou continuar quebrando linhas de texto.
Você pode criar quebras de linha artificiais incluindo o caractere ZWSP (Unicode Zero Width Space, Espaço de Largura Zero Unicode) no texto. Isso pode ser útil para idiomas como tailandês, que precisam de um dicionário para quebras de linha corretas. O tempo de execução do Flash não inclui esse dicionário.
Para reduzir a sobrecarga da memória, quando todas as linhas desejadas foram criadas, a menos que se espere que as linhas precisem ser repetidamente requebradas, devido a, por exemplo, redimensão do container, o usuário deve chamar o método releaseLineCreationData()
permitindo ao bloco de texto desfazer-se dos dados temporários associados à quebra de linha.
Parâmetros
textLine:flash.text.engine:TextLine — Especifica que uma TextLine criada anteriormente seja reutilizada.
| |
previousLine:flash.text.engine:TextLine (default = null ) — Especifica a linha quebrada anteriormente após a qual a quebra deve começar. Pode ser null quando é quebrada a primeira linha.
| |
width:Number (default = 1000000 ) — Especifica a largura desejada da linha em pixels. A largura real pode ser menor.
| |
lineOffset:Number (default = 0.0 ) — Um parâmetro opcional que especifica a diferença em pixels entre a origem da linha e a origem das paradas de tabulação. Isso pode ser usado quando as linhas não estiverem alinhadas, embora seja desejável que as guias estejam. O valor padrão desse parâmetro é 0.0 .
| |
fitSomething:Boolean (default = false ) — Um parâmetro opcional que instrui o FlashPlayer a se encaixar em pelo menos um caractere na linha de texto, não importando qual largura tenha sido especificada (mesmo se a largura for zero ou negativa, o que, de outra maneira, resultaria no lançamento de uma exceção).
|
flash.text.engine:TextLine — Uma linha de texto ou null caso o bloco de texto esteja vazio ou a largura especificada seja menor do que a largura do próximo elemento. Para diferenciar os casos, verifique a propriedade textLineCreationResult do bloco de texto.
|
Lança
ArgumentError — Se textLine é nulo.
| |
ArgumentError — Se a TextLine especificada por previousLine não for válida.
| |
ArgumentError — Se o TextLine especificado por previousLine é possuído por um TextBlock diferente.
| |
ArgumentError — Se o TextLine especificado por previousLine também é especificado por textLine .
| |
ArgumentError — Se a largura for menor do que zero, a menos que fitSomething seja true.
| |
ArgumentError — Se width for maior que TextLine.MAX_LINE_WIDTH .
| |
IllegalOperationError — Se um ou mais elementos no conteúdo do bloco de texto tiver null ElementFormat .
|
Elementos da API relacionados
Exemplo ( Como usar este exemplo )
textLine
:
var elementFormat:ElementFormat = new ElementFormat(); elementFormat.fontDescription = new FontDescription("Arial"); elementFormat.fontSize = 48; var textElement:TextElement = new TextElement("Text you'll never see", elementFormat) var textBlock:TextBlock = new TextBlock(textElement); var textLine:TextLine = textBlock.createTextLine(); textLine.x = 50; textLine.y = 50; addChild(textLine); // Reuse the element format to preserve the text formatting var elementTwo:TextElement = new TextElement("Text you see", elementFormat); textBlock.content = elementTwo; textBlock.recreateTextLine(textLine); // Set the position (and any other display object properties like alpha, children, etc.) // otherwise, they're all set to default properties. textLine.x = 50; textLine.y = 50;
releaseLineCreationData | () | método |
public function releaseLineCreationData():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Instrui que o bloco de texto a liberar todos os dados temporários associados com a criação de linhas de texto. Para minimizar a impressão de um aplicativo, você deve chamar o método releaseLineCreationData()
quando estiver criando linhas de texto de um bloco de texto. Contudo, para maximizar o desempenho para requebrar as linhas (por exemplo quando o container é redimensionado) o método releaseLineCreationData()
não deve ser invocado. Ele está pronto para o aplicativo equilibrar memória versus desempenho.
O processo recomendado para o texto que não é esperado modificar é: inicialize um bloco de texto, chame o métodocreateTextLine()
tantas vezes quanto necessário para criar a saída desejada, e a seguir chame o método releaseLineCreationData()
.
Elementos da API relacionados
releaseLines | () | método |
public function releaseLines(firstLine:flash.text.engine:TextLine, lastLine:flash.text.engine:TextLine):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Remove uma faixa de linhas de texto da lista de linhas mantidas por TextBlock. Isso permite que o lixo das linhas seja coletado caso não existam outras referências.
Define os membros textBlock
, nextLine
e previousLine
das linhas removidas como null
. Defina a validity
das linhas removidas e de todas as linhas posteriores às linhas removidas em TextBlock como TextLineValidity.INVALID
.
Parâmetros
firstLine:flash.text.engine:TextLine — Especifica a primeira linha a ser liberada.
| |
lastLine:flash.text.engine:TextLine — Especifica a última linha a ser liberada.
|
Lança
ArgumentError — Caso o TextLine especificado por firstLine ou lastLine não esteja na lista das linhas de texto mantidas pelo bloco.
|
Elementos da API relacionados
package { import fl.controls.Button; import flash.text.engine.TextBlock; import flash.text.engine.TextLine; import flash.text.engine.TextElement; import flash.text.engine.ElementFormat; import flash.text.engine.TextRotation; import flash.text.engine.TextBaseline; import flash.text.engine.LineJustification; import flash.text.engine.FontDescription; import flash.text.engine.EastAsianJustifier; import flash.display.Loader; import flash.display.Sprite; import flash.display.Stage; import flash.events.MouseEvent; import flash.system.Capabilities; public class TextBlockExample extends Sprite { var vertical:Boolean; var container:Sprite; var textBlocks:Vector.<TextBlock>; var loader:Loader = new Loader(); var directionButton:Button = new Button(); public function TextBlockExample():void { addChild(directionButton); directionButton.width = 30; directionButton.move(50, 350); directionButton.addEventListener(MouseEvent.CLICK, clickHandler); createContent(); createLines(); } private function createEmptyBlock():TextBlock { var textBlock:TextBlock = new TextBlock(); textBlock.baselineZero = TextBaseline.IDEOGRAPHIC_CENTER; textBlock.textJustifier = new EastAsianJustifier("ja", LineJustification.ALL_BUT_LAST); textBlock.lineRotation = vertical? TextRotation.ROTATE_90: TextRotation.ROTATE_0; return textBlock; } private function paragraph1(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode( 0x5185, 0x95A3, 0x5E9C, 0x304C, 0x300C, 0x653F, 0x5E9C, 0x30A4, 0x30F3, 0x30BF, 0x30FC, 0x30CD, 0x30C3, 0x30C8, 0x30C6, 0x30EC, 0x30D3, 0x300D, 0x306E, 0x52D5, 0x753B, 0x914D, 0x4FE1, 0x5411, 0x3051, 0x306B, 0x30A2, 0x30C9, 0x30D3, 0x30B7, 0x30B9, 0x30C6, 0x30E0, 0x30BA, 0x793E, 0x306E ) + "FMS 2" + String.fromCharCode(0x3092, 0x63A1, 0x7528, 0x3059, 0x308B, 0x3068, 0x767a, 0x8868, 0x3057, 0x307e, 0x3057, 0x305F, 0x3002), format); return textBlock; } private function paragraph2(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode( 0x30AF, 0x30ED, 0x30B9, 0x30D7, 0x30E9, 0x30C3, 0x30C8, 0x30D5, 0x30A9, 0x30FC, 0x30E0, 0x4E0A, 0x3067, 0x518D, 0x751F, 0x53EF, 0x80FD, 0x306A ) + "Flash Video" + String.fromCharCode( 0x3092, 0x914D, 0x4FE1, 0x3001, 0x653F, 0x5E9C, 0x6700, 0x65B0, 0x60C5, 0x5831, 0x3092, 0x3088, 0x308A, 0x591A, 0x304F, 0x306E, 0x56FD, 0x6C11, 0x306B, 0x9AD8, 0x54C1, 0x8CEA, 0x306A, 0x753B, 0x50CF, 0x3067, 0x7C21, 0x5358, 0x304B, 0x3064, 0x30EA, 0x30A2, 0x30EB, 0x30BF, 0x30A4, 0x30E0, 0x306B, 0x63D0, 0x4F9B, 0x3059, 0x308B, 0x3053, 0x3068, 0x304C, 0x53EF, 0x80FD, 0x306B, 0x306A, 0x308A, 0x307e, 0x3057, 0x305F, 0x3002), format); return textBlock; } private function paragraph3(format:ElementFormat):TextBlock { var textBlock:TextBlock = createEmptyBlock(); textBlock.content = new TextElement( String.fromCharCode(0x3010) + "2007" + String.fromCharCode(0x5E74) + "2" + String.fromCharCode(0x6708) + "21" + String.fromCharCode(0x65E5, 0x3011), format); return textBlock; } private function createContent():void { var font:FontDescription = new FontDescription(); if (Capabilities.os.search("Mac OS") > -1) font.fontName = String.fromCharCode(0x5C0F, 0x585A, 0x660E, 0x671D) + " Pro R"; // "Kozuka Mincho Pro R" koFont.fontName = "Adobe " + String.fromCharCode(0xBA85, 0xC870) + " Std M"; // "Adobe Myungjo Std M" else font.fontName = "Kozuka Mincho Pro R"; var format:ElementFormat = new ElementFormat(); format.fontDescription = font; format.fontSize = 12; format.locale = "ja"; format.color = 0x000000; if (!vertical) format.textRotation = TextRotation.ROTATE_0; textBlocks = new Vector.<TextBlock>(); textBlocks.push( paragraph1(format), paragraph2(format), paragraph3(format)//, ); } private function createLines():void { if (container != null) { removeChild(container); } container = new Sprite(); container.y = 45; container.x = 40; addChild(container); var linePosition:Number = vertical? this.stage.stageWidth - 120: 12; for (var i:uint = 0; i < textBlocks.length; i++) { var textBlock:TextBlock = textBlocks[i]; var previousLine:TextLine = null; while (true) { var textLine:TextLine = textBlock.createTextLine( previousLine, 300); if (textLine == null) break; if (vertical) { textLine.x = linePosition; linePosition -= 24; directionButton.label = " -- "; } else { textLine.y = linePosition+50; linePosition += 24; directionButton.label = " | "; } container.addChild(textLine); previousLine = textLine; } if (vertical) linePosition -= 16; else linePosition += 16; } } private function clickHandler(event:MouseEvent):void { vertical = !vertical; createContent(); createLines(); } } }
Wed Jun 13 2018, 11:10 AM Z