Главная / Action Script 3
Пакетflash.text.engine
Классpublic final class TextLine
НаследованиеTextLine Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Класс TextLine служит для отображения текста, добавленного в список отображения.

Нельзя создать объект TextLine непосредственно из кода ActionScript. При вызове функции new TextLine (), выдается исключение. Чтобы создать объект TextLine, вызовите метод createTextLine() объекта TextBlock.

Объект TextLine включает минимальную информацию, необходимую для визуализации его содержимого. Дополнительные сведения, полезные для интерактивности, можно получить с помощью методов, описывающих свойства атомов строки. Термин "атом" относится к графическим элементам и символам (включая группы объединенных символов), неделимым сущностям в строке. Важно помнить, что проигрыватель не создает и не хранит данных, требуемых для этих методов, пока они не будут вызваны. Во избежание перегрузки памяти атомарные данные следует создавать только в случае необходимости. Если больше нет необходимости в атомарных данных, вызовите метод flushAtomData(), чтобы сделать их доступными для сбора мусора.

Следующие методы и свойства генерируют атомарные данные, если они не существуют.

После завершения обычной отправки событий для строки текста, если она действительна, ее события зеркально отображаются в отправителях событий, заданных в свойствах eventMirror объектов элементов содержимого, которые передаются текстовой строке. Эти объекты записываются в свойстве TextLine.mirrorRegions. События не зеркалируются, если распространение событий завершилось ошибкой или остановлено, или если строка недействительна.

Зеркалирование событий мыши является особым случаем. Поскольку в зеркальных областях объекты в действительности не отображаются, для них имитируются события mouseOver и mouseOut. События rollOver и rollOut не имитируются. Все естественным образом возникающие события mouseOver, mouseOut, rollOver и rollOut (в отношении текстовой строки или дочернего элемента текстовой строки) игнорируются — их зеркалирование не выполняется.

Исходной точкой объекта текстовой строки является начало базовой линии. Если не задать положение по вертикали (свойство y) для строки, содержащей латинский текст на базовой линии прямого шрифта, только подстрочные элементы литер появляются под верхним краем объекта Sprite, в который добавляется текстовая строка. См. следующий рисунок.

Базовые линии текста

Класс TextLine имеет несколько предков: классы DisplayObjectContainer, InteractiveObject, DisplayObject и EventDispatcher, — от которых он наследует свойства и методы. Следующие унаследованные свойства не применимы к объектам TextLine:

При попытке задать эти свойства текстовый процессор выдает ошибку: IllegalOperationError. Эти свойства можно считывать, но они всегда содержат значения по умолчанию.

Посмотреть примеры

См. также

ContentElement.eventMirror
TextBlock.createTextLine()
TextLineValidity
Создание и отображение текста
Обработка событий в FTE


Общедоступные свойства
 СвойствоОпределено
 InheritedaccessibilityProperties : AccessibilityProperties
Текущие параметры специальных возможностей для данного экранного объекта.
DisplayObject
 Inheritedalpha : Number
Указывает значение альфа-прозрачности заданного объекта.
DisplayObject
  ascent : Number
[только для чтения] Указывает число пикселов от базовой линии до верхней точки самых высоких символов в строке.
TextLine
  atomCount : int
[только для чтения] Число атомов в строке, которое представляет число невидимых элементов, включая пробелы и графические элементы.
TextLine
 InheritedblendMode : String
Значение класса BlendMode, задающее режим наложения.
DisplayObject
 InheritedblendShader : Shader
[только для записи] Задает затенение, используемое при наложении переднего плана на фон.
DisplayObject
 InheritedcacheAsBitmap : Boolean
При значении true проигрыватель Flash Player кэширует внутреннее растровое представление экранного объекта.
DisplayObject
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
 InheritedcontextMenu : ContextMenu
Определяет контекстное меню, связанное с данным объектом.
InteractiveObject
  descent : Number
[только для чтения] Указывает число пикселов от базовой линии до нижней точки символов с самыми низким выносным элементом в строке.
TextLine
 InheriteddoubleClickEnabled : Boolean
Определяет, получает ли объект события doubleClick.
InteractiveObject
 Inheritedfilters : Array
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом.
DisplayObject
 InheritedfocusRect : Object
Задает отображение прямоугольной рамки индикатора фокуса для данного объекта.
InteractiveObject
  hasGraphicElement : Boolean
[только для чтения] Указывает, содержит ли текстовая строка графические элементы.
TextLine
 Inheritedheight : Number
Указывает высоту экранного объекта в пикселах.
DisplayObject
 InheritedloaderInfo : LoaderInfo
[только для чтения] Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект.
DisplayObject
 Inheritedmask : DisplayObject
Вызывающий экранный объект маскируется заданным объектом mask.
DisplayObject
  mirrorRegions : Vector.<TextLineMirrorRegion>
[только для чтения] Объект Vector содержащий объекты TextLineMirrorRegion, связанные со строкой, или null, если таких не существует.
TextLine
 InheritedmouseChildren : Boolean
Определяет, включен ли переход между потомками объекта с помощью мыши.
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
Определяет, получает ли этот объект сообщения мыши.
InteractiveObject
 InheritedmouseX : Number
[только для чтения] Указывает координату x положения курсора мыши (в пикселах).
DisplayObject
 InheritedmouseY : Number
[только для чтения] Указывает координату y положения курсора мыши (в пикселах).
DisplayObject
 Inheritedname : String
Указывает имя экземпляра DisplayObject.
DisplayObject
  nextLine : TextLine
[только для чтения] Следующий объект TextLine в TextBlock или "null", если текущая строка является последней в блоке или если строка имеет валидность TextLineValidity.STATIC.
TextLine
 InheritednumChildren : int
[только для чтения] Возвращает число потомков данного объекта.
DisplayObjectContainer
 InheritedopaqueBackground : Object
Определяет, является ли экранный объект непрозрачным с определенным цветом фона.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[только для чтения] Указывает объект DisplayObjectContainer, содержащий данный экранный объект.
DisplayObject
  previousLine : TextLine
[только для чтения] Предыдущий объект TextLine в TextBlock или "null", если текущая строка является первой в блоке или если строка имеет валидность TextLineValidity.STATIC.
TextLine
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
  rawTextLength : int
[только для чтения] Длина необработанного текста в блоке, который стал строкой, включая символы U+FDEF, представляющие графические элементы и концевые пробелы, которые являются частью строки, но не отображаются.
TextLine
 Inheritedroot : DisplayObject
[только для чтения] В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом.
DisplayObject
 Inheritedrotation : Number
Указывает поворот экземпляра DisplayObject относительно его исходной ориентации (в градусах).
DisplayObject
 InheritedrotationX : Number
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationY : Number
Обозначает поворот в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 InheritedrotationZ : Number
Обозначает поворот в градусах по оси z экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
DisplayObject
 Inheritedscale9Grid : Rectangle
Текущая активная сетка масштабирования.
DisplayObject
 InheritedscaleX : Number
Указывает горизонтальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleY : Number
Указывает вертикальное масштабирование объекта от точки регистрации (в процентах).
DisplayObject
 InheritedscaleZ : Number
Указывает масштабирование глубины объекта (в процентах) относительно точки регистрации этого объекта.
DisplayObject
 InheritedscrollRect : Rectangle
Прямоугольная область прокрутки экранного объекта.
DisplayObject
  specifiedWidth : Number
[только для чтения] Ширина, переданная методу TextBlock.createTextLine() при создании строки.
TextLine
 Inheritedstage : Stage
[только для чтения] Класс Stage экранного объекта.
DisplayObject
 InheritedtabChildren : Boolean
Определяет, включен ли переход между потомками объекта с помощью клавиши Tab.
DisplayObjectContainer
 InheritedtabEnabled : Boolean
Определяет, включен ли этот объект в последовательность перехода с помощью клавиши Tab.
InteractiveObject
 InheritedtabIndex : int
Задает последовательность перехода между объектами в SWF-файле.
InteractiveObject
  textBlock : TextBlock
[только для чтения] Объект TextBlock, содержащий эту текстовую строку, или 0, если она имеет валидность TextLineValidity.STATIC.
TextLine
  textBlockBeginIndex : int
[только для чтения] Индекс первого символа в строка в необработанном тексте блока.
TextLine
  textHeight : Number
[только для чтения] Логическая высота текстовой строки, равная сумме значений ascent и descent.
TextLine
 InheritedtextSnapshot : TextSnapshot
[только для чтения] Возвращает объект TextSnapshot для данного экземпляра DisplayObjectContainer.
DisplayObjectContainer
  textWidth : Number
[только для чтения] Логическая ширина текстовой строки, то есть ширина, используемая текстовым процессором для раскладки строки.
TextLine
 Inheritedtransform : Transform
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта.
DisplayObject
  unjustifiedTextWidth : Number
[только для чтения] Ширина строки, если она не выровнена.
TextLine
  userData : *
Дает возможность автору связать произвольные данные с текстовой строкой.
TextLine
  validity : String
Указывает текущую валидность текстовой строки.
TextLine
 Inheritedvisible : Boolean
Определяет видимость экранного объекта.
DisplayObject
 Inheritedwidth : Number
Указывает ширину экранного объекта в пикселах.
DisplayObject
 Inheritedx : Number
Указывает координату x экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedy : Number
Указывает координату y экземпляра DisplayObject, связанную с локальными координатами родительского DisplayObjectContainer.
DisplayObject
 Inheritedz : Number
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера.
DisplayObject
Общедоступные методы
 МетодОпределено
 Inherited
Добавляет дочерний экземпляр DisplayObject к данному экземпляру DisplayObjectContainer.
DisplayObjectContainer
 Inherited
Добавляет дочерний экземпляр DisplayObject к данному экземпляру DisplayObjectContainer.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события в объекте EventDispatcher, в результате чего прослушиватель будет получать уведомления о событиях.
EventDispatcher
 Inherited
Показывает, могут ли ограничения безопасности привести к пропуску каких-либо экранных объектов в списке, возвращаемом в результате вызова метода DisplayObjectContainer.getObjectsUnderPoint() с заданной точкой.
DisplayObjectContainer
 Inherited
Определяет, является ли заданный экранный объект дочерним объектом экземпляра DisplayObjectContainer или самим экземпляром.
DisplayObjectContainer
 Inherited
Передает событие в поток событий.
EventDispatcher
  
Выдает базовое содержимое TextLine в виде строки XML.
TextLine
  
Освобождает атомные данные строки для удаления.
TextLine
  
Определяет двусторонний уровень атома по заданному индексу.
TextLine
  
Определяет границы атома по указанному индексу, связанному с текстовой строкой.
TextLine
  
Определяет центр атома, согласно изменениями, вдоль опорной линии по заданному индексу.
TextLine
  
Определяет график атома по заданному индексу или null, если атом — это символ.
TextLine
  
Возвращает индекс атома, содержащего символ, заданный параметром charIndex или -1, если символ не входит ни в один атом в строке.
TextLine
  
Возвращает индекс атома в точке, заданной параметрами х и у или -1, если в этой точке нет атома.
TextLine
  
Определяет индекс начала текстового блока атома по заданному индексу.
TextLine
  
Определяет индекс конца текстового блока атома по заданному индексу.
TextLine
  
Определяет вращение атома по заданному индексу.
TextLine
  
Указывает, лежит ли граница слова слева от атома по заданному индексу.
TextLine
  
Определяет положение заданной базовой линии относительно TextBlock.baselineZero.
TextLine
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий область экранного объекта, которая относится к системе координат объекта targetCoordinateSpace.
DisplayObject
 Inherited
Возвращает экземпляр дочернего экранного объекта, существующий в заданной позиции индекса.
DisplayObjectContainer
 Inherited
Возвращает экземпляр дочернего экранного объекта с заданным именем.
DisplayObjectContainer
 Inherited
Возвращает позицию индекса для дочернего экземпляра DisplayObject.
DisplayObjectContainer
  
Возвращает первый TextLineMirrorRegion в строке, чье зеркальное свойство совпадает с параметром mirror или null, если нет совпадений.
TextLine
 Inherited
Возвращает массив объектов, расположенных ниже заданной позиции и являющихся дочерними объектами любого уровня для данного экземпляра DisplayObjectContainer.
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Возвращает прямоугольник, определяющий границу экранного объекта по системе координат, заданной параметром targetCoordinateSpace, за исключением линий фигур.
DisplayObject
 Inherited
Преобразует объект Point из координат рабочей области (глобальных) в координаты экранного объекта (локальные).
DisplayObject
 Inherited
Преобразует двумерный объект Point из координат рабочей области (глобальных) в координаты экранного трехмерного объекта (локальные).
DisplayObject
 Inherited
Проверяет наличие у объекта EventDispatcher прослушивателей событий, которые зарегистрированы для получения уведомлений о событиях определенного типа.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Оценивает экранный объект, чтобы определить, перекрывает ли он экранный объект obj или пересекается с ним.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее.
DisplayObject
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Преобразует трехмерный объект point из координат трехмерного экранного объекта (локальных) в двухмерный объект point с координатами рабочей области (глобальными).
DisplayObject
 Inherited
Преобразует объект point из координат экранного объекта (локальных) в координаты рабочей области (глобальные).
DisplayObject
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Удаляет заданный дочерний объект DisplayObject из списка потомков экземпляра DisplayObjectContainer.
DisplayObjectContainer
 Inherited
Удаляет дочерний DisplayObject из заданной позиции индекса в списке потомков DisplayObjectContainer.
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
 Inherited
Изменяет положение существующего потомка в DisplayObjectContainer.
DisplayObjectContainer
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Меняет местами (в порядке "от начала к концу") два заданных дочерних объекта.
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
Меняет местами (в порядке "от начала к концу") дочерние объекты, расположенные в двух заданных позициях индекса в списке потомков.
DisplayObjectContainer
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель событий в объекте EventDispatcher или в любом из его предков для получения уведомлений о событиях определенного типа.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player перемещается в фокус операционной системы и становится активным.EventDispatcher
 InheritedОтправляется, когда экранный объект добавляется в список отображения.DisplayObject
 InheritedОтправляется, когда экранный объект добавляется к списку отображения в рабочей области, либо непосредственно, либо путем добавления поддерева, содержащего экранный объект.DisplayObject
 InheritedОтправляется, когда пользователь выбирает команду "Удалить" в контекстном меню текста.InteractiveObject
 InheritedОтправляется, когда пользователь нажимает и отпускает главную кнопку на указывающем устройстве над одним и тем же объектом InteractiveObject.InteractiveObject
 InheritedОтправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Копировать", или выбирает команду "Копировать" из контекстного меню.InteractiveObject
 InheritedОтправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Вырезать", или выбирает команду "Вырезать" из контекстного меню.InteractiveObject
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player покидает фокус операционной системы и становится неактивным.EventDispatcher
 InheritedОтправляется, когда пользователь дважды нажимает и отпускает главную кнопку на указывающем устройстве над одним и тем же объектом InteractiveObject, а флаг doubleClickEnabled для этого объекта имеет значение true.InteractiveObject
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения переходит в новый кадр.DisplayObject
 Inherited[многоадресное событие] Отправляется, когда точка воспроизведения покидает текущий кадр.DisplayObject
 InheritedОтправляется, когда экранный объект перемещается в фокус.InteractiveObject
 InheritedОтправляется, когда экранный объект покидает фокус.InteractiveObject
 Inherited[многоадресное событие] Отправляется после завершения работы конструкторов экранных объектов кадра до выполнения сценариев кадра.DisplayObject
 InheritedОтправляется, когда пользователь нажимает клавишу.InteractiveObject
 InheritedОтправляется, когда пользователь пытается изменить фокус с помощью клавиатуры.InteractiveObject
 InheritedОтправляется, когда пользователь отпускает клавишу.InteractiveObject
 InheritedОтправляется, когда пользователь нажимает кнопку на указывающем устройстве над экземпляром InteractiveObject в окне проигрывателя Flash Player.InteractiveObject
 InheritedОтправляется, когда пользователь пытается изменить фокус с помощью указывающего устройства.InteractiveObject
 InheritedОтправляется, когда пользователь перемещает указывающее устройство в момент, когда курсор находится над объектом InteractiveObject.InteractiveObject
 InheritedОтправляется, когда пользователь перемещает указывающее устройство от экземпляра InteractiveObject.InteractiveObject
 InheritedОтправляется, когда пользователь наводит указывающее устройству на экземпляр InteractiveObject в окне проигрывателя Flash Player.InteractiveObject
 InheritedОтправляется, когда пользователь отпускает кнопку на указывающем устройстве над экземпляром InteractiveObject в окне проигрывателя Flash Player.InteractiveObject
 InheritedОтправляется, когда пользователь вращает колесико мыши над экземпляром InteractiveObject в окне проигрывателя Flash Player.InteractiveObject
 InheritedОтправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Вставить", или выбирает команду "Вставить" из контекстного меню.InteractiveObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения.DisplayObject
 InheritedОтправляется перед удалением экранного объекта из списка отображения, либо непосредственно, либо путем удаления поддерева, содержащего экранный объект.DisplayObject
 Inherited[многоадресное событие] Отправляется перед обновлением и визуализацией списка отображения.DisplayObject
 InheritedОтправляется, когда пользователь перемещает указывающее устройство от экземпляра InteractiveObject.InteractiveObject
 InheritedОтправляется, когда пользователь наводит указывающее устройство на экземпляр InteractiveObject.InteractiveObject
 InheritedОтправляется, когда пользователь активирует комбинацию клавиш ускорения, используемую на данной платформе для операции "Выделить все", или выбирает команду "Выделить все" из контекстного меню.InteractiveObject
 InheritedОтправляется, когда изменяется значение свойства tabChildren объекта.InteractiveObject
 InheritedОтправляется при изменении флага tabEnabled объекта.InteractiveObject
 InheritedОтправляется, когда изменяется значение свойства tabIndex объекта.InteractiveObject
Общедоступные константы
 Константа Определено
  MAX_LINE_WIDTH : int = 1000000
[статические] Максимальная запрашиваемая ширина строки текста, в пикселах.
TextLine
Сведения о свойстве
ascentсвойство
ascent:Number  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает число пикселов от базовой линии до верхней точки самых высоких символов в строке. Для объекта TextLine, содержащего только графический элемент, ascent имеет значение 0.



Реализация
    public function get ascent():Number
atomCountсвойство 
atomCount:int  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Число атомов в строке, которое представляет число невидимых элементов, включая пробелы и графические элементы.

В результате обращения к этому свойству проигрыватель создает атомарные данные, если их еще не существует.



Реализация
    public function get atomCount():int

Выдает
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

descentсвойство 
descent:Number  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает число пикселов от базовой линии до нижней точки символов с самыми низким выносным элементом в строке. Для объекта TextLine, содержащего только графический элемент, descent имеет значение 0.



Реализация
    public function get descent():Number
hasGraphicElementсвойство 
hasGraphicElement:Boolean  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает, содержит ли текстовая строка графические элементы.



Реализация
    public function get hasGraphicElement():Boolean

См. также

mirrorRegionsсвойство 
mirrorRegions:Vector.<TextLineMirrorRegion>  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Объект Vector содержащий объекты TextLineMirrorRegion, связанные со строкой, или null, если таких не существует.



Реализация
    public function get mirrorRegions():Vector.<TextLineMirrorRegion>

См. также

nextLineсвойство 
nextLine:TextLine  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Следующий объект TextLine в TextBlock или null, если текущая строка является последней в блоке или если строка имеет валидность TextLineValidity.STATIC.



Реализация
    public function get nextLine():TextLine

См. также

previousLineсвойство 
previousLine:TextLine  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Предыдущий объект TextLine в TextBlock или null, если текущая строка является первой в блоке или если строка имеет валидность TextLineValidity.STATIC.



Реализация
    public function get previousLine():TextLine

См. также

rawTextLengthсвойство 
rawTextLength:int  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Длина необработанного текста в блоке, который стал строкой, включая символы U+FDEF, представляющие графические элементы и концевые пробелы, которые являются частью строки, но не отображаются.



Реализация
    public function get rawTextLength():int

См. также

specifiedWidthсвойство 
specifiedWidth:Number  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Ширина, переданная методу TextBlock.createTextLine() при создании строки. Это значение помогает определить, требует ли внесенное изменения повторной разбивки строки.



Реализация
    public function get specifiedWidth():Number

См. также

textBlockсвойство 
textBlock:TextBlock  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Объект TextBlock, содержащий эту текстовую строку, или 0, если она имеет валидность TextLineValidity.STATIC.



Реализация
    public function get textBlock():TextBlock

См. также

textBlockBeginIndexсвойство 
textBlockBeginIndex:int  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Индекс первого символа в строка в необработанном тексте блока.



Реализация
    public function get textBlockBeginIndex():int

См. также

textHeightсвойство 
textHeight:Number  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Логическая высота текстовой строки, равная сумме значений ascent и descent. Чтобы получить фактическую высоту, используйте унаследованное свойство height.

Это значение рассчитывается по разнице между базовыми строками, окружающими строку, — идеографическими верхней и нижней, либо надстрочной и подстрочной в зависимости от того, является TextBlock.baselineZero идеографическим или нет. Графические элементы на учитываются при расчете этих базовых строк.



Реализация
    public function get textHeight():Number

См. также

DisplayObject.height
textWidthсвойство 
textWidth:Number  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Логическая ширина текстовой строки, то есть ширина, используемая текстовым процессором для раскладки строки. Используйте унаследованное свойство width, чтобы получить фактическую ширину ограничительного прямоугольника всех нарисованных пикселов.



Реализация
    public function get textWidth():Number

См. также

specifiedWidth
DisplayObject.width

Пример
В данном примере отображается строка один раз в обычном начертании и один раз в курсивном, и для каждого случая отслеживаются значения свойств 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;     
        }
    }
}

unjustifiedTextWidthсвойство 
unjustifiedTextWidth:Number  [только для чтения]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Ширина строки, если она не выровнена. Для невыровненного текста это значение совпадает с textWidth. Для выровненного текста это значение представляет длину, которую бы строка имела без выравнивания, а textWidth представляет фактическую ширину строки. Например, когда следующая строка выравнивается и передается методу TextBlock.createTextLine() с шириной 500, ее фактическая ширина составляет 500, а ширина без выравнивания — 268,9921875.



Реализация
    public function get unjustifiedTextWidth():Number

См. также


Пример
Когда строка в следующем примере выравнивается и передается методу TextBlock.createTextLine() с шириной 500, ее фактическая ширина составляет 500, а ширина без выравнивания — 268,9921875.
  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
Версии среды выполнения:  10, 1.5

Дает возможность автору связать произвольные данные с текстовой строкой.

validityсвойство 
validity:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает текущую валидность текстовой строки. Системные значения для этого свойства находятся в элементах класса TextLineValidity. Это свойство должно задаваться по следующим правилам.

Строке присваивается значение USER_INVALID, если валидность имеет строковое значение, не являющееся элементом класса TextLineValidity. USER_INVALID — это абстракция, используемая здесь для представления подобных значений.

При изменении содержимого объекта TextBlock код проигрывателя помечает затронутые текстовые строки, а также предшествующую и следующую строки как INVALID. Предшествующая строка должна помечаться как недействительная, когда изменение позволяет ей включить в себя часть содержимого, которая раньше находилась в первой затронутой строке.

Вновь разбитые строки всегда помечаются как VALID. Проигрыватель может изменять следующие строки с 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.

См. также

Сведения о методе
dump()метод
public function dump():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Выдает базовое содержимое TextLine в виде строки XML. Это может пригодиться при автоматическом тестировании, т.к. включает сведения о тексте, формате и визуализации. Опция доступна только в отладчике Flash Player.

Для описания выхода см. метод TextBlock.dump() method.

Примечание. Содержимое и формат выхода этого метода могут в будущем измениться. Adobe не гарантирует обратной совместимости данного метода.

Возвращает
String

См. также

flushAtomData()метод 
public function flushAtomData():void

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Освобождает атомные данные строки для удаления. Термин "атом" относится к неделимым сущностям в строке. Текстовый процессор создает атомарные данные при обращении к свойству atomCount или при вызове одного из методов, получающих сведения об атоме.

См. также

getAtomBidiLevel()метод 
public function getAtomBidiLevel(atomIndex:int):int

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет двусторонний уровень атома по заданному индексу. Определяется комбинацией 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 Валидность строки — TextLineValidity.STATIC.

См. также

getAtomBounds()метод 
public function getAtomBounds(atomIndex:int):Rectangle

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет границы атома по указанному индексу, связанному с текстовой строкой. Границы заданного атома состоят из положения по горизонтали (x) в строке, положения по вертикали (y) в строке, ширины (w) и высоты (h). Все значения в пикселах.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Параметры

atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).

Возвращает
Rectangle — Границы атома по индексу atomIndex.

Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
 
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomCenter()метод 
public function getAtomCenter(atomIndex:int):Number

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет центр атома, согласно изменениями, вдоль опорной линии по заданному индексу.

В результате вызова этого метода проигрыватель создает атомные данные, если их еще не существует.

Параметры

atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).

Возвращает
Number — Центр атома по индексу atomIndex.

Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
 
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomGraphic()метод 
public function getAtomGraphic(atomIndex:int):DisplayObject

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет график атома по заданному индексу или null, если атом — это символ.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Параметры

atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).

Возвращает
DisplayObject — График атома по индексу atomIndex.

Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
 
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomIndexAtCharIndex()метод 
public function getAtomIndexAtCharIndex(charIndex:int):int

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает индекс атома, содержащего символ, заданный параметром charIndex или -1, если символ не входит ни в один атом в строке. Параметр charIndex относится ко всему содержимому текстового блока, в который входит строка.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Параметры

charIndex:int — Отсчитываемое от нуля значение индекса для символа (например, первый символ имеет индекс 0, второй — 1 и т.д.).

Возвращает
int — Индекс атома, содержащего символ по индексу charIndex. Возвращает -1, если символ не входит ни в один атом строки.

Выдает
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomIndexAtPoint()метод 
public function getAtomIndexAtPoint(stageX:Number, stageY:Number):int

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает индекс атома в точке, заданной параметрами х и у или -1, если в этой точке нет атома.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Этот метод получает глобальные координаты, чтобы его можно было легко использовать со свойствами MouseEvent.stageX и MouseEvent.stageY.

Параметры

stageX:Number — Глобальная координата x тестируемой точки.
 
stageY:Number — Глобальная координата y тестируемой точки.

Возвращает
int — Индекс атома под точкой. Возвращает "-1", если точка не переходит ни один из атомов.

Выдает
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomTextBlockBeginIndex()метод 
public function getAtomTextBlockBeginIndex(atomIndex:int):int

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет индекс начала текстового блока атома по заданному индексу.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Параметры

atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).

Возвращает
int — Индекс начала текстового блока атома atomIndex.

Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
 
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomTextBlockEndIndex()метод 
public function getAtomTextBlockEndIndex(atomIndex:int):int

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет индекс конца текстового блока атома по заданному индексу.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Параметры

atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).

Возвращает
int — Индекс конца текстового блока атома atomIndex.

Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
 
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomTextRotation()метод 
public function getAtomTextRotation(atomIndex:int):String

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет вращение атома по заданному индексу. Для этого свойства используются константы TextRotation. Поворот атома является суммой поворотов элемента и строки. Основным назначением является настройка ориентации каретки (курсора) при взаимодействии с объектом TextLine.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Параметры

atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).

Возвращает
String — Вращение атома по индексу atomIndex.

Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
 
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getAtomWordBoundaryOnLeft()метод 
public function getAtomWordBoundaryOnLeft(atomIndex:int):Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Указывает, лежит ли граница слова слева от атома по заданному индексу. Границы слова определяются на основе свойств Unicode символов, переданных строке.

В результате вызова этого метода проигрыватель создает данные атома, если их еще не существует.

Параметры

atomIndex:int — Отсчитываемое от нуля значение индекса атома (например, первый атом имеет индекс 0, второй — 1 и т.д.).

Возвращает
Boolean — Логическое значение, указывающее, находится ли граница слова слева от атома в atomIndex.

Выдает
RangeError — Указанный индекс атома лежит вне диапазона.
 
IllegalOperationError Валидность строки — TextLineValidity.STATIC.

См. также

getBaselinePosition()метод 
public function getBaselinePosition(baseline:String):Number

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Определяет положение заданной базовой линии относительно TextBlock.baselineZero.

Параметры

baseline:String — Базовая линия, относительно которой задано положение. Используйте значения TextBaseline.

Возвращает
Number — Положение заданной базовой линии относительно TextBlock.baselineZero.

Выдает
ArgumentError — Заданная локаль baseline не является членом TextBaseline.

См. также

getMirrorRegion()метод 
public function getMirrorRegion(mirror:EventDispatcher):TextLineMirrorRegion

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Возвращает первый TextLineMirrorRegion в строке, чье зеркальное свойство совпадает с параметром mirror или null, если нет совпадений.

Даже один TextElement может произвести несколько объектов TextLineMirrorRegion на одной или более строках в зависимости от уровня двунаправленности и разрывов строк. Свойства nextRegion и previousRegion связывают все зеркальные области, генерируемые одним элементом текста.

Параметры

mirror:EventDispatcher — Зеркальный объект EventDispatcher для поиска.

Возвращает
TextLineMirrorRegion — Первый TextLineMirrorRegion в строке, чье свойство mirror совпадает с заданным значением или null, если нет совпадений.

См. также

Сведения о константе
MAX_LINE_WIDTHКонстанта
public static const MAX_LINE_WIDTH:int = 1000000

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Максимальная запрашиваемая ширина строки текста, в пикселах. Метод TextBlock.createTextLine() использует эту константу в качестве значения по умолчанию для параметра width, если не задано другое значение.

См. также

Примеры Как пользоваться примерами
TextLineExample.as

В примере показаны разные текстовые строки и шаги по атомам в текстовом блоке с использованием для обрамления каждого из них getAtomBounds().
  1. Добавьте компонент NumericStepper в библиотеку.
  2. Сохраните этот код под именем TextLineExample.as в том же каталоге, где и FLA-файл.
  3. В окне "Свойства" 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);
        }
    }    
}