Пакет | flash.text.engine |
Класс | public final class TextLine |
Наследование | TextLine DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Нельзя создать объект TextLine непосредственно из кода ActionScript. При вызове функции new TextLine()
, выдается исключение. Чтобы создать объект TextLine, вызовите метод createTextLine()
объекта TextBlock.
Объект TextLine содержит минимальную информацию, необходимую для визуализации его содержимого и для обеспечения интерактивности с помощью некоторых методов, которые описывают свойства атомов строки. Термин «атом» относится к графическим элементам и символам (включая группы объединенных символов), неделимым сущностям в строке.
После завершения обычной отправки событий для строки текста, если она действительна, ее события зеркально отображаются в отправителях событий, заданных в свойствах eventMirror
объектов элементов содержимого, которые передаются текстовой строке. Эти объекты записываются в свойстве TextLine.mirrorRegions
. События не зеркалируются, если распространение событий завершилось ошибкой или остановлено, или если строка недействительна.
Зеркалирование событий мыши является особым случаем. Поскольку зеркальные области в действительности не являются экранными объекты, для них имитируются события mouseOver
и mouseOut
. События rollOver
и rollOut
не имитируются. Все естественным образом возникающие события mouseOver
, mouseOut
, rollOver
и rollOut
(в отношении текстовой строки или нижестоящего элемента текстовой строки) игнорируются – их зеркалирование не выполняется.
Исходной точкой объекта текстовой строки является начало базовой линии. Если не задать положение по вертикали (свойство y
) для строки, содержащей латинский текст на базовой линии прямого шрифта, только подстрочные элементы литер появляются под верхним краем объекта Sprite, в который добавляется текстовая строка. См. следующий рисунок.
Класс TextLine имеет несколько предков: классы DisplayObjectContainer, InteractiveObject, DisplayObject и EventDispatcher, – от которых он наследует свойства и методы. Следующие унаследованные свойства не применимы к объектам TextLine:
-
contextMenu
-
focusRect
-
tabChildren
-
tabEnabled
-
tabIndex
При попытке задать эти свойства текстовый процессор выдает ошибку: IllegalOperationError. Эти свойства можно считывать, но они всегда содержат значения по умолчанию.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Текущая реализация специальных возможностей (AccessibilityImplementation) для данного экземпляра InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта. | DisplayObject | ||
alpha : Number
Указывает значение альфа-прозрачности заданного объекта. | DisplayObject | ||
ascent : Number [только для чтения]
Указывает число пикселей от базовой линии до верхней точки самых высоких символов в строке. | TextLine | ||
atomCount : int [только для чтения]
Число атомов в строке, которое представляет число невидимых элементов, включая пробелы и графические элементы. | TextLine | ||
blendMode : String
Значение класса BlendMode, задающее режим наложения. | DisplayObject | ||
blendShader : Shader [только для записи]
Задает затенение, используемое при наложении переднего плана на фон. | DisplayObject | ||
cacheAsBitmap : Boolean
При значении true среда выполнения Flash кэширует внутреннее растровое представление экранного объекта. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Если задано ненулевое значение, данный объект Matrix определяет способ визуализации экранного объекта, когда свойство cacheAsBitmap имеет значение true. | DisplayObject | ||
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
contextMenu : NativeMenu
Определяет контекстное меню, связанное с данным объектом. | InteractiveObject | ||
descent : Number [только для чтения]
Указывает число пикселей от базовой линии до нижней точки символов с самыми низким выносным элементом в строке. | TextLine | ||
doubleClickEnabled : Boolean
Определяет, получает ли объект события doubleClick. | InteractiveObject | ||
filters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом. | DisplayObject | ||
focusRect : Object
Задает отображение прямоугольной рамки индикатора фокуса для данного объекта. | InteractiveObject | ||
hasGraphicElement : Boolean [только для чтения]
Указывает, содержит ли текстовая строка графические элементы. | TextLine | ||
hasTabs : Boolean [только для чтения]
Указывает, содержит ли текстовая строка табуляцию. | TextLine | ||
height : Number
Указывает высоту экранного объекта в пикселях. | DisplayObject | ||
loaderInfo : LoaderInfo [только для чтения]
Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект. | DisplayObject | ||
mask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask. | DisplayObject | ||
metaData : Object
Получает объект метаданных экземпляра DisplayObject, если метаданные хранились вместе с экземпляром этого DisplayObject в SWF-файле через тег PlaceObject4. | DisplayObject | ||
mirrorRegions : Vector.<flash.text.engine:TextLineMirrorRegion> [только для чтения]
Объект Vector содержащий объекты TextLineMirrorRegion, связанные со строкой, или null, если таких не существует. | TextLine | ||
mouseChildren : Boolean
Определяет, поддерживают ли дочерние объекты события мыши или других устройств пользовательского ввода. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Определяет, получает ли этот объект события мыши или другого пользовательского ввода. | InteractiveObject | ||
mouseX : Number [только для чтения]
Указывает координату x мыши или курсора пользовательского ввода (в пикселях). | DisplayObject | ||
mouseY : Number [только для чтения]
Указывает координату y мыши или курсора пользовательского ввода (в пикселях). | DisplayObject | ||
name : String
Указывает имя экземпляра DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Определяет, должна ли отображаться виртуальная клавиатура (программная экранная клавиатура), когда этот экземпляр InteractiveObject получает фокус. | InteractiveObject | ||
nextLine : flash.text.engine:TextLine [только для чтения]
Следующий объект TextLine в TextBlock или null, если текущая строка является последней в блоке или если строка имеет validity TextLineValidity.STATIC. | TextLine | ||
numChildren : int [только для чтения]
Возвращает число дочерних элементов данного объекта. | DisplayObjectContainer | ||
opaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона. | DisplayObject | ||
parent : DisplayObjectContainer [только для чтения]
Указывает объект DisplayObjectContainer, содержащий данный экранный объект. | DisplayObject | ||
previousLine : flash.text.engine:TextLine [только для чтения]
Предыдущий объект TextLine в TextBlock или null, если текущая строка является первой в блоке или если строка имеет действительность TextLineValidity.STATIC. | TextLine | ||
rawTextLength : int [только для чтения]
Длина необработанного текста в блоке, который стал строкой, включая символы U+FDEF, представляющие графические элементы и концевые пробелы, которые являются частью строки, но не отображаются. | TextLine | ||
root : DisplayObject [только для чтения]
В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом. | DisplayObject | ||
rotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах). | DisplayObject | ||
rotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному вышестоящему контейнеру. | DisplayObject | ||
rotationY : Number
Обозначает угол поворота в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру. | DisplayObject | ||
rotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject от исходной ориентации относительно трехмерного родительского контейнера. | DisplayObject | ||
scale9Grid : Rectangle
Текущая активная сетка масштабирования. | DisplayObject | ||
scaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | ||
scaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах). | DisplayObject | ||
scaleZ : Number
Указывает глубину масштабирования объекта (в процентах) относительно точки регистрации этого объекта. | DisplayObject | ||
scrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта. | DisplayObject | ||
softKeyboard : String
Управляет внешним видом программной клавиатуры. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Определяет область, которая должна оставаться на экране при отображении программной клавиатуры (недоступна в iOS). | InteractiveObject | ||
specifiedWidth : Number [только для чтения]
Ширина, переданная методу TextBlock.createTextLine() при создании строки. | TextLine | ||
stage : Stage [только для чтения]
Класс Stage экранного объекта. | DisplayObject | ||
tabChildren : Boolean
Определяет, включен ли переход между нижестоящими элементами объекта с помощью клавиши Tab. | DisplayObjectContainer | ||
tabEnabled : Boolean
Определяет, включен ли переход к этому объекту с помощью клавиши Tab. | InteractiveObject | ||
tabIndex : int
Задает последовательность перехода между объектами в SWF-файле. | InteractiveObject | ||
textBlock : flash.text.engine:TextBlock [только для чтения]
Объект TextBlock, содержащий эту строку текста, или 0, если для строки задана достоверность TextLineValidity.STATIC, то есть связь между строкой и TextBlock разорвана. | TextLine | ||
textBlockBeginIndex : int [только для чтения]
Индекс первого символа в строка в необработанном тексте блока. | TextLine | ||
textHeight : Number [только для чтения]
Логическая высота текстовой строки, равная сумме значений ascent и descent. | TextLine | ||
textSnapshot : flash.text:TextSnapshot [только для чтения]
Возвращает объект TextSnapshot для данного экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
textWidth : Number [только для чтения]
Логическая ширина текстовой строки, то есть ширина, используемая текстовым процессором для раскладки строки. | TextLine | ||
totalAscent : Number [только для чтения]
Указывает число пикселов от базовой линии до верхней точки самых высоких символов или графики в строке. | TextLine | ||
totalDescent : Number [только для чтения]
Указывает число пикселов от базовой линии до нижней точки символов с самым низким выносным элементом или самой низкой графики в строке. | TextLine | ||
totalHeight : Number [только для чтения]
Общая логическая высота текстовой строки, которая равна сумме totalAscent + totalDescent. | TextLine | ||
transform : flash.geom:Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта. | DisplayObject | ||
unjustifiedTextWidth : Number [только для чтения]
Ширина строки, если она не выровнена. | TextLine | ||
userData : *
Дает возможность приложению связать произвольные данные с текстовой строкой. | TextLine | ||
validity : String
Указывает текущую валидность текстовой строки. | TextLine | ||
visible : Boolean
Определяет видимость экранного объекта. | DisplayObject | ||
width : Number
Указывает ширину экранного объекта в пикселях. | DisplayObject | ||
x : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | ||
y : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer. | DisplayObject | ||
z : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера. | DisplayObject |
Метод | Определено | ||
---|---|---|---|
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. | DisplayObjectContainer | ||
Добавляет экземпляр дочернего элемента DisplayObject к экземпляру DisplayObjectContainer. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Показывает, могут ли ограничения безопасности привести к пропуску каких-либо экранных объектов в списке, возвращаемом в результате вызова метода DisplayObjectContainer.getObjectsUnderPoint() с заданной точкой point. | DisplayObjectContainer | ||
Определяет, является ли указанный объект отображения дочерним объектом экземпляра DisplayObjectContainer или самим экземпляром. | DisplayObjectContainer | ||
Посылает событие в поток событий. | EventDispatcher | ||
Выдает базовое содержимое TextLine в виде строки XML. | TextLine | ||
Устарело с Flash Player 10.1В настоящее время он не работает.
Этот метод считается устаревшим и не имеет никакого эффекта. | TextLine | ||
Определяет двусторонний уровень атома по заданному индексу. | TextLine | ||
Определяет границы атома по указанному индексу, связанному с текстовой строкой. | TextLine | ||
Определяет центр атома, согласно изменениями, вдоль опорной линии по заданному индексу. | TextLine | ||
Определяет график атома по заданному индексу или null, если атом является символом. | TextLine | ||
Возвращает индекс атома, содержащего символ, заданный параметром charIndex или -1, если символ не входит ни в один атом в строке. | TextLine | ||
Возвращает индекс атома в точке, заданной параметрами x и y или -1, если в этой точке нет атома. | TextLine | ||
Определяет индекс начала текстового блока атома по заданному индексу. | TextLine | ||
Определяет индекс конца текстового блока атома по заданному индексу. | TextLine | ||
Определяет вращение атома по заданному индексу. | TextLine | ||
Указывает, лежит ли граница слова слева от атома по заданному индексу. | TextLine | ||
Получает положение заданной базовой линии относительно TextBlock.baselineZero. | TextLine | ||
Возвращает прямоугольник, определяющий область объекта отображения, которая относится к системе координат объекта targetCoordinateSpace. | DisplayObject | ||
Возвращает экземпляр дочернего экранного объекта, существующий в заданной позиции индекса. | DisplayObjectContainer | ||
Возвращает экземпляр дочернего экранного объекта с заданным именем. | DisplayObjectContainer | ||
Возвращает позицию индекса для экземпляра DisplayObject child. | DisplayObjectContainer | ||
Возвращает первый TextLineMirrorRegion в строке, чье свойство mirror совпадает с параметром mirror или null, если нет совпадений. | TextLine | ||
Возвращает массив объектов, расположенных ниже указанной позиции и являющихся дочерними объектами любого уровня для данного экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Возвращает прямоугольник, определяющий границу объекта отображения по системе координат, определенной параметром targetCoordinateSpace за исключением линий фигур. | DisplayObject | ||
Преобразует объект Point из координат рабочей области (глобальных) в координаты отображаемого объекта (локальные). | DisplayObject | ||
Преобразует двумерный объект Point из координат рабочей области (глобальных) в координаты экранного трехмерного объекта (локальные). | DisplayObject | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Вычисляет ограничительную рамку экранного объекта, чтобы определить, не перекрывает и не пересекает ли она ограничительную рамку экранного объекта obj. | DisplayObject | ||
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее. | DisplayObject | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Преобразует трехмерный объект point из координат трехмерного экранного объекта (локальных) в двухмерный объект point с координатами рабочей области (глобальными). | DisplayObject | ||
Преобразует объект Point из координат экранного объекта (локальных) в координаты рабочей области (глобальные). | DisplayObject | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет заданный объект child DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет дочерний DisplayObject из заданной позиции индекса в списке дочерних элементов DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет все дочерние экземпляры DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer. | DisplayObjectContainer | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Вызывает виртуальную клавиатуру. | InteractiveObject | ||
Изменяет положение существующего дочернего элемента в DisplayObjectContainer. | DisplayObjectContainer | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Рекурсивно останавливает выполнение временной шкалы всех фрагментов MovieClip, размещенных в корне этого объекта. | DisplayObjectContainer | ||
Меняет местами (в порядке «от начала к концу») два заданных дочерних объекта. | DisplayObjectContainer | ||
Меняет местами (в порядке «от начала к концу») дочерние объекты, расположенные в двух заданных позициях индекса в списке дочерних элементов. | DisplayObjectContainer | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Константа | Определено | ||
---|---|---|---|
MAX_LINE_WIDTH : int = 1000000 [статические]
Максимальная запрашиваемая ширина строки текста в пикселях. | TextLine |
ascent | свойство |
ascent:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Указывает число пикселей от базовой линии до верхней точки самых высоких символов в строке. Для объекта TextLine, содержащего только графический элемент, ascent
имеет значение 0.
Реализация
public function get ascent():Number
atomCount | свойство |
atomCount:int
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Число атомов в строке, которое представляет число невидимых элементов, включая пробелы и графические элементы.
Реализация
public function get atomCount():int
Выдает
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
descent | свойство |
descent:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Указывает число пикселей от базовой линии до нижней точки символов с самыми низким выносным элементом в строке. Для объекта TextLine, содержащего только графический элемент, descent
имеет значение 0.
Реализация
public function get descent():Number
hasGraphicElement | свойство |
hasTabs | свойство |
mirrorRegions | свойство |
mirrorRegions:Vector.<flash.text.engine:TextLineMirrorRegion>
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Объект Vector содержащий объекты TextLineMirrorRegion
, связанные со строкой, или null
, если таких не существует.
Реализация
public function get mirrorRegions():Vector.<flash.text.engine:TextLineMirrorRegion>
Связанные элементы API
nextLine | свойство |
nextLine:flash.text.engine:TextLine
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Следующий объект TextLine в TextBlock или null
, если текущая строка является последней в блоке или если строка имеет действительность TextLineValidity.STATIC
.
Реализация
public function get nextLine():flash.text.engine:TextLine
Связанные элементы API
previousLine | свойство |
previousLine:flash.text.engine:TextLine
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Предыдущий объект TextLine в TextBlock или null
, если текущая строка является первой в блоке или если строка имеет действительность TextLineValidity.STATIC
.
Реализация
public function get previousLine():flash.text.engine:TextLine
Связанные элементы API
rawTextLength | свойство |
rawTextLength:int
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Длина необработанного текста в блоке, который стал строкой, включая символы U+FDEF, представляющие графические элементы и концевые пробелы, которые являются частью строки, но не отображаются.
Реализация
public function get rawTextLength():int
Связанные элементы API
specifiedWidth | свойство |
specifiedWidth:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Ширина, переданная методу TextBlock.createTextLine()
при создании строки. Это значение помогает определить, требует ли внесенное изменения повторной разбивки строки.
Реализация
public function get specifiedWidth():Number
Связанные элементы API
textBlock | свойство |
textBlock:flash.text.engine:TextBlock
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Объект TextBlock, содержащий эту строку текста, или 0, если для строки задана достоверность TextLineValidity.STATIC
, то есть связь между строкой и TextBlock разорвана.
Реализация
public function get textBlock():flash.text.engine:TextBlock
Связанные элементы API
textBlockBeginIndex | свойство |
textHeight | свойство |
textHeight:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Логическая высота текстовой строки, равная сумме значений ascent
и descent
. Чтобы получить фактическую высоту, используйте унаследованное свойство height
.
Это значение рассчитывается по разнице между базовыми строками, окружающими строку, — идеографическими верхней и нижней, либо верхним выносным элементом и нижним выносным элементом в зависимости от того, является TextBlock.baselineZero идеографическим или нет. Графические элементы на учитываются при расчете этих базовых строк.
Реализация
public function get textHeight():Number
Связанные элементы API
textWidth | свойство |
textWidth:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Логическая ширина текстовой строки, то есть ширина, используемая текстовым процессором для раскладки строки. Используйте унаследованное свойство width
, чтобы получить фактическую ширину ограничительного прямоугольника всех нарисованных пикселей.
Реализация
public function get textWidth():Number
Связанные элементы API
Пример ( Использование этого примера )
specifiedWidth
, textWidth
и width
. Получены следующие результаты отслеживания:
- specifiedWidth: 500
- textWidth: 268.9921875
- width: 269
- specifiedWidth: 500
- textWidth: 267,52734375
- width: 267,55
package { import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.FontDescription; import flash.text.engine.ElementFormat; import flash.text.engine.FontPosture; public class TextLine_textWidthExample extends Sprite { public function TextLine_textWidthExample() { var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "; var yPos:Number = 20; var fontDescription:FontDescription = new FontDescription(); var textBlock:TextBlock = new TextBlock(); fontDescription.fontPosture = FontPosture.NORMAL; var format:ElementFormat = new ElementFormat(fontDescription, 12); var textElement:TextElement = new TextElement(str, format); textBlock.content = textElement; createLine(textBlock, yPos); var fontDescriptionItalic = fontDescription.clone(); fontDescriptionItalic.fontPosture = FontPosture.ITALIC; var formatItalic = new ElementFormat(fontDescriptionItalic, 12); textElement = new TextElement(str, formatItalic); textBlock.content = textElement; createLine(textBlock, yPos + 20); } private function createLine(textBlock:TextBlock, yPos:Number):void { var textLine:TextLine = textBlock.createTextLine (null, 500); trace("specifiedWidth is: " + textLine.specifiedWidth); trace("textWidth is: " + textLine.textWidth); trace("width is: " + textLine.width); addChild(textLine); textLine.x = 15; textLine.y = yPos; } } }
totalAscent | свойство |
totalDescent | свойство |
totalDescent:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 10.2 |
Указывает число пикселов от базовой линии до нижней точки символов с самым низким выносным элементом или самой низкой графики в строке.
Реализация
public function get totalDescent():Number
totalHeight | свойство |
unjustifiedTextWidth | свойство |
unjustifiedTextWidth:Number
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Ширина строки, если она не выровнена. Для невыровненного текста это значение совпадает с textWidth
. Для выровненного текста это значение представляет длину, которую бы строка имела без выравнивания, а textWidth
представляет фактическую ширину строки. Например, когда следующая строка выравнивается и передается методу TextBlock.createTextLine()
с шириной 500, ее фактическая ширина составляет 500, а ширина без выравнивания — 268,9921875.
Реализация
public function get unjustifiedTextWidth():Number
Связанные элементы API
Пример ( Использование этого примера )
import flash.display.Sprite; import flash.text.engine.TextBlock; import flash.text.engine.TextElement; import flash.text.engine.TextLine; import flash.text.engine.FontDescription; import flash.text.engine.ElementFormat; import flash.text.engine.SpaceJustifier; import flash.text.engine.LineJustification; var str:String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "; var fontDescription:FontDescription = new FontDescription(); var textBlock:TextBlock = new TextBlock(); var format:ElementFormat = new ElementFormat(fontDescription, 12); var textElement:TextElement = new TextElement(str, format); textBlock.content = textElement; var spaceJustifier:SpaceJustifier = new SpaceJustifier("en", LineJustification.ALL_INCLUDING_LAST); textBlock.textJustifier = spaceJustifier; var textLine:TextLine = textBlock.createTextLine(null, 500); textLine.y = 20; addChild(textLine); trace("textWidth value is: " + textLine.textWidth); // 500.00244140625 trace("unjustifiedTextWidth is: " + textLine.unjustifiedTextWidth); // 268.9921875
userData | свойство |
public var userData:*
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Дает возможность приложению связать произвольные данные с текстовой строкой.
validity | свойство |
validity:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Указывает текущую действительность текстовой строки. Значения для этого свойства находятся в элементах класса TextLineValidity
. Это свойство должно задаваться по следующим правилам.
Строке присваивается значение USER_INVALID, если действительность имеет строковое значение, не являющееся элементом класса TextLineValidity
. USER_INVALID — это абстракция, используемая здесь для представления подобных значений.
При изменении содержимого объекта TextBlock среда выполнения Flash помечает затронутые текстовые строки, а также предшествующую и следующую строки как INVALID. Предшествующая строка должна помечаться как недействительная, когда изменение позволяет ей включить в себя часть содержимого, которая раньше находилась в первой затронутой строке.
Вновь разбитые строки всегда помечаются как VALID. Среда выполнения Flash может изменять следующие строки с VALID на POSSIBLY_INVALID или INVALID. Он может менять строки с POSSIBLY_INVALID на VALID, если разрывы строк совпадают, или на INVALID, если нет.
Код приложения может изменить строки с VALID на INVALID или USER_INVALID, а также с USER_INVALID на VALID. Код приложения не может помечать строки как POSSIBLY_INVALID.
Код приложения может пометить любую строку как STATIC. В результате этого элемент block
получает значение null
. Все графические элементы в текстовой строке с пометкой STATIC удаляются, и для них восстанавливаются родительские отношения, если они являются частью новой текстовой строки, оторванной от текстового блока, к которому сначала принадлежала исходная строка STATIC.
Реализация
public function get validity():String
public function set validity(value:String):void
Выдает
ArgumentError — Если текущее значение является TextLineValidity.STATIC .
| |
ArgumentError — Если текущее значение является TextLineValidity.INVALID , а новое значение не является TextValidity.STATIC .
| |
ArgumentError — Если текущее значение является TextLineValidity.POSSIBLY_INVALID , а новое значение является TextLineValidity.VALID .
| |
ArgumentError — Если новое значение является TextLineValidity.POSSIBLY_INVALID .
|
Связанные элементы API
dump | () | метод |
public function dump():String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Выдает базовое содержимое TextLine в виде строки XML. Это может пригодиться при автоматическом тестировании, так как включает сведения о тексте, форматировании и компоновке.
Следующий код описывает вывод.
[LINE] <line ascent=[Number] descent=[Number] rotation=[int]> <elements> [0-N ELEMENT] </elements> <clusters> [0-N CLUSTER] </clusters> </line> [ELEMENT] <glyph isEmbedded=[Boolean] fontName=[String] isBold=[Boolean] isItalic=[Boolean] gid=[int] pointSize=[Number] x=[Number] y=[Number] rotation=[int]/> or <graphic child=[int] x=[Number] y=[Number] rotation=[int]/> or <embeddedRun x=[Number] y=[Number]> [LINE] </embeddedRun> [CLUSTER] <cluster xLeft=[Number] xCenter=[Number] xRight=[Number] cursorOnLeft=[Boolean] cursorOnRight=[Boolean] wordBoundaryOnLeft=[Boolean] wordBoundaryOnRight=[Boolean]/>
Примечание. Содержимое и формат выхода этого метода могут в будущем измениться. Adobe не гарантирует обратной совместимости данного метода.
ВозвращаетString |
Связанные элементы API
flushAtomData | () | метод |
public function flushAtomData():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Этот метод не рекомендуется и не имеет никакого эффекта. Данные атома сжаты и не влияют на эффективность управления памятью.
Связанные элементы API
getAtomBidiLevel | () | метод |
public function getAtomBidiLevel(atomIndex:int):int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Определяет двусторонний уровень атома по заданному индексу. Определяется комбинацией TextBlock.bidiLevel
и двунаправленных свойств Юникод для символов, образующих строку.
Например, если текстовый блок начинается с текста на иврите, необходимо задать для TextBlock.bidiLevel
значение 1, установив по умолчанию направление справа налево. Если в тексте имеется цитата на английском (слева направо), для этого текста AtomBidiLevel
имеет значение 2. Если в английском тексте включен фрагмент на арабском (справа налево), то для него AtomBidiLevel
имеет значение 3. Если в арабском фрагменте встречается число (слева направо), AtomBidiLevel
для числа имеет значение 4. Не имеет значения, в какой строке оказываются атомы. Атомы иврита имеют AtomBidiLevel
1, атомы английского — AtomBidiLevel
2, атомы арабского — AtomBidiLevel
3, а атомы чисел — AtomBidiLevel
4.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т. д.).
|
int — Двунаправленный уровень атома по индексу atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
Связанные элементы API
getAtomBounds | () | метод |
public function getAtomBounds(atomIndex:int):Rectangle
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Определяет границы атома по указанному индексу, связанному с текстовой строкой. Границы заданного атома состоят из положения по горизонтали (x
) в строке, положения по вертикали (y
) в строке, ширины (w
) и высоты (h
). Все значения в пикселях.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т. д.).
|
Rectangle — Границы атома по индексу atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getAtomCenter | () | метод |
public function getAtomCenter(atomIndex:int):Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Определяет центр атома, согласно изменениями, вдоль опорной линии по заданному индексу.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т. д.).
|
Number — Центр атома по индексу atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getAtomGraphic | () | метод |
public function getAtomGraphic(atomIndex:int):DisplayObject
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Определяет график атома по заданному индексу или null
, если атом является символом.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).
|
DisplayObject — График атома по индексу atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getAtomIndexAtCharIndex | () | метод |
public function getAtomIndexAtCharIndex(charIndex:int):int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Возвращает индекс атома, содержащего символ, заданный параметром charIndex
или -1, если символ не входит ни в один атом в строке. Параметр charIndex
относится ко всему содержимому текстового блока, в который входит строка.
Параметры
charIndex:int — Отсчитываемое от нуля значение индекса для символа (например, первый символ — 0, второй символ — 1 и т. д.).
|
int — Индекс атома, содержащего символ по индексу charIndex . Возвращает -1, если символ не входит ни в один атом строки.
|
Выдает
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getAtomIndexAtPoint | () | метод |
public function getAtomIndexAtPoint(stageX:Number, stageY:Number):int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Возвращает индекс атома в точке, заданной параметрами x
и y
или -1, если в этой точке нет атома.
Этот метод получает глобальные координаты, чтобы его можно было легко использовать со свойствами MouseEvent.stageX
и MouseEvent.stageY
.
Параметры
stageX:Number — Глобальная координата x тестируемой точки.
| |
stageY:Number — Глобальная координата y тестируемой точки.
|
int — Индекс атома под точкой. Возвращает -1, если точка не переходит ни один из атомов.
|
Выдает
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getAtomTextBlockBeginIndex | () | метод |
public function getAtomTextBlockBeginIndex(atomIndex:int):int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Определяет индекс начала текстового блока атома по заданному индексу.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т. д.).
|
int — Индекс начала текстового блока атома atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getAtomTextBlockEndIndex | () | метод |
public function getAtomTextBlockEndIndex(atomIndex:int):int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Определяет индекс конца текстового блока атома по заданному индексу.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т. д.).
|
int — Индекс конца текстового блока атома atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getAtomTextRotation | () | метод |
public function getAtomTextRotation(atomIndex:int):String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Определяет вращение атома по заданному индексу. Для этого свойства используются константы TextRotation. Поворот атома является суммой поворотов элемента и строки. Основным назначением является настройка ориентации каретки (курсора) при взаимодействии с объектом TextLine.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т. д.).
|
String — Вращение атома по индексу atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
Связанные элементы API
getAtomWordBoundaryOnLeft | () | метод |
public function getAtomWordBoundaryOnLeft(atomIndex:int):Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Указывает, лежит ли граница слова слева от атома по заданному индексу. Границы слова определяются на основе свойств Unicode символов, переданных строке.
Параметры
atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т. д.).
|
Boolean — Логическое значение, указывающее, находится ли граница слова слева от атома в atomIndex .
|
Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
| |
IllegalOperationError — validity строки является TextLineValidity.STATIC .
|
getBaselinePosition | () | метод |
public function getBaselinePosition(baseline:String):Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Получает положение заданной базовой линии относительно TextBlock.baselineZero
.
Параметры
baseline:String — Базовая линия, относительно которой задано положение. Используйте значения TextBaseline .
|
Number — Положение заданной базовой линии относительно TextBlock.baselineZero .
|
Выдает
ArgumentError — Заданный языковой стандарт baseline не является элементом TextBaseline .
|
Связанные элементы API
getMirrorRegion | () | метод |
public function getMirrorRegion(mirror:EventDispatcher):flash.text.engine:TextLineMirrorRegion
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Возвращает первый TextLineMirrorRegion
в строке, чье свойство mirror
совпадает с параметром mirror
или null
, если нет совпадений.
Даже один TextElement
может произвести несколько объектов TextLineMirrorRegion
на одной или более строках в зависимости от уровня двунаправленности и разрывов строк. Свойства nextRegion
и previousRegion
связывают все зеркальные области, генерируемые одним элементом текста.
Параметры
mirror:EventDispatcher — Зеркальный объект EventDispatcher для поиска.
|
flash.text.engine:TextLineMirrorRegion — Первый TextLineMirrorRegion в строке, чье свойство mirror совпадает с заданным значением или null , если нет совпадений.
|
Связанные элементы API
MAX_LINE_WIDTH | Константа |
public static const MAX_LINE_WIDTH:int = 1000000
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Максимальная запрашиваемая ширина строки текста в пикселях. Метод TextBlock.createTextLine()
использует эту константу в качестве значения по умолчанию для параметра width
, если не задано другое значение.
Связанные элементы API
getAtomBounds()
.
- Добавьте компонент NumericStepper в библиотеку.
- Сохраните этот код под именем TextLineExample.as в том же каталоге, где и FLA-файл.
- В окне «Свойства» FLA-файла задайте класс TextLineExample.
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; import flash.text.engine.FontPosture; import flash.text.engine.FontWeight; import fl.controls.NumericStepper; import flash.events.Event; import flash.geom.Rectangle; public class TextLineExample extends Sprite { private var atomStepper:NumericStepper = new NumericStepper(); private var atomDataContainer:Sprite; private var fontDescriptionItalic:FontDescription = new FontDescription("Arial", FontWeight.NORMAL, FontPosture.ITALIC); private var fontDescriptionNormal:FontDescription = new FontDescription("Arial", FontWeight.NORMAL , FontPosture.NORMAL); private var textBlock:TextBlock = new TextBlock(); private var textLine:TextLine; public function TextLineExample():void { var myText:String = "I am a TextElement, created from a String and assigned " + "to the content property of a TextBlock. From the text block, " + "the createTextLine() method created these lines, 300 pixels wide, " + "for display." ; atomStepper.minimum = 0; atomStepper.value = 0; atomStepper.width = 50; addChild(atomStepper); atomStepper.x = 20; atomStepper.y = 120; atomStepper.addEventListener(Event.CHANGE, nsChange); var directions:String = "Click up / down arrows to frame atoms in text block above."; var formatItalic:ElementFormat = new ElementFormat(fontDescriptionItalic); formatItalic.fontSize = 12; var textElement1:TextElement = new TextElement(directions, formatItalic); textBlock.content = textElement1; createLines(textBlock, 15, 160, 400, this); var formatNormal:ElementFormat = new ElementFormat(fontDescriptionNormal); formatNormal.fontSize = 16; var textElement2:TextElement = new TextElement(myText, formatNormal); textBlock.content = textElement2; createLines(textBlock, 15.0, 20.0, 300, this); textLine = textBlock.firstLine; atomStepper.maximum = textLine.atomCount - 1; showAtom(textLine, 0); } private function nsChange(event:Event):void { removeAtom(textLine); if (atomStepper.value == textLine.atomCount - 1) { if(textLine != textBlock.lastLine) { textLine = textLine.nextLine; atomStepper.maximum = textLine.atomCount - 1; atomStepper.value = 0; } } showAtom(textLine, atomStepper.value); } private function createLines(textBlock, startX, startY, width, container) { var textLine:TextLine = textBlock.createTextLine (null, width); while (textLine) { textLine.x = startX; textLine.y = startY; startY += textLine.height + 2; container.addChild(textLine); textLine = textBlock.createTextLine (textLine, width); } } private function showAtom(textLine, i):void { var box:Sprite = new Sprite(); var mcGraphics = box.graphics; var bounds:Rectangle = textLine.getAtomBounds(i); mcGraphics.lineStyle(1, 0xFF0000, 1.0); mcGraphics.drawRect(bounds.left, bounds.top, bounds.width, bounds.height); textLine.userData = textLine.addChild(box); displayAtomData(textLine,i); } private function displayAtomData(textLine, i) { if(atomDataContainer != null) removeChild(atomDataContainer); atomDataContainer=new Sprite(); var format = new ElementFormat(fontDescriptionNormal); format.color = 0x00000FF; var n:int = 0; var nxtY:Number = 0; var atomInfo:String = "value of getAtomBidiLevel() is: " + textLine.getAtomBidiLevel(i)+"\n" +"value of getAtomCenter() is: " + textLine.getAtomCenter(i)+"\n" +"value of getAtomIndexAtCharIndex() is: " + textLine.getAtomIndexAtCharIndex(i)+"\n" +"value of getAtomTextBlockBeginIndex() is: " + textLine.getAtomTextBlockBeginIndex(i)+"\n" +"value of getAtomTextBlockEndIndex() is: " + textLine.getAtomTextBlockEndIndex(i)+"\n" +"value of getAtomTextRotation() is: " + textLine.getAtomTextRotation(i)+"\n"; var atomtextBlock:TextBlock = new TextBlock(); var textElement3:TextElement = new TextElement(atomInfo, format); atomtextBlock.content = textElement3; createLines(atomtextBlock,20,200,500, atomDataContainer) addChild(atomDataContainer); } private function removeAtom(textLine):void { textLine.removeChild(textLine.userData); } } }
Tue Jun 12 2018, 11:34 AM Z