패키지 | 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 |
ActionScript 코드에서 직접 TextLine 객체를 만들 수 없습니다. new TextLine()
을 호출하면 예외가 발생합니다. TextLine 객체를 만들려면 TextBlock의 createTextLine()
메서드를 호출합니다.
TextLine은 줄의 아톰 속성을 설명하는 일부 메서드를 통해 내용을 렌더링하고 대화형 작업을 제공하는 데 필요한 최소 정보를 캡슐화합니다. 아톰이라는 용어는 텍스트 줄을 구성하는 개별 항목인 그래픽 요소와 문자를 모두 지칭합니다. 여기에는 문자를 결합하여 형성된 그룹도 포함됩니다.
텍스트 행에 대한 일반적인 이벤트 전달이 끝난 후 행이 유효하면 텍스트 행에 포함된 내용 요소 객체의 eventMirror
속성에 지정된 이벤트 디스패처에 이벤트가 미러링됩니다. 이러한 객체는 TextLine.mirrorRegions
속성에 기록됩니다. 이벤트 전파가 실패 또는 중지되었거나 텍스트 행이 유효하지 않으면 이벤트가 미러링되지 않습니다.
마우스 이벤트의 미러링은 특별한 경우입니다. 미러 영역에는 객체가 실제로 표시되지 않기 때문에 mouseOver
및 mouseOut
이벤트가 시뮬레이션됩니다. rollOver
및 rollOut
이벤트는 시뮬레이션되지 않습니다. 자연적으로 발생하는 mouseOver
, mouseOut
, rollOver
, rollOut
이벤트는 텍스트 줄을 대상으로 하든 텍스트 줄의 자식을 대상으로 하든 관계없이 무시되며 미러링되지 않습니다.
텍스트 줄 객체의 원점은 기준선의 시작 부분입니다. 로마자 기준선의 라틴어 텍스트가 들어 있는 줄의 세로 위치(y
속성)를 설정하지 않으면 줄을 추가하는 스프라이트 맨 위보다 아래쪽에 텍스트의 디센더만 나타납니다. 다음 다이어그램을 참조하십시오.
TextLine 클래스에는 속성과 메서드를 상속받는 여러 조상 클래스(DisplayObjectContainer, InteractiveObject, DisplayObject 및 EventDispatcher)가 있습니다. 다음과 같은 상속된 속성은 TextLine 객체에 적용할 수 없습니다.
-
contextMenu
-
focusRect
-
tabChildren
-
tabEnabled
-
tabIndex
이러한 속성을 설정하려고 하면 텍스트 엔진에서 IllegalOperationError 오류가 발생합니다. 이러한 속성을 읽을 수는 있지만 항상 기본값이 들어 있습니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
이 InteractiveObject 인스턴스에 대한 현재 액세스 가능성 구현(AccessibilityImplementation)입니다. | 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
null이 아닌 경우 이 Matrix 객체는 cacheAsBitmap이 true로 설정될 때 표시 객체가 렌더링되는 방법을 정의합니다. | DisplayObject | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
contextMenu : NativeMenu
이 객체에 연결된 컨텍스트 메뉴를 지정합니다. | InteractiveObject | ||
descent : Number [읽기 전용]
행에서 가장 아래까지 내려가는 문자의 맨 밑과 기준선 사이의 픽셀 수를 지정합니다. | TextLine | ||
doubleClickEnabled : Boolean
이 객체에서 doubleClick 이벤트를 받을지 여부를 지정합니다. | InteractiveObject | ||
filters : Array
현재 표시 객체와 연관된 각 필터 객체가 들어 있는 인덱싱된 배열입니다. | DisplayObject | ||
focusRect : Object
이 객체에서 포커스 사각형을 표시할지 여부를 지정합니다. | InteractiveObject | ||
hasGraphicElement : Boolean [읽기 전용]
텍스트 행에 그래픽 요소가 포함되어 있는지 여부를 나타냅니다. | TextLine | ||
hasTabs : Boolean [읽기 전용]
텍스트 줄에 탭이 포함되어 있는지 여부를 나타냅니다. | TextLine | ||
height : Number
표시 객체의 높이를 픽셀 단위로 나타냅니다. | DisplayObject | ||
loaderInfo : LoaderInfo [읽기 전용]
이 표시 객체가 속한 파일의 로딩 정보가 포함된 LoaderInfo 객체를 반환합니다. | DisplayObject | ||
mask : DisplayObject
호출하는 표시 객체는 지정된 mask 객체에 의해 마스크 처리됩니다. | DisplayObject | ||
metaData : Object
PlaceObject4 태그를 통해 SWF 파일에 해당 DisplayObject의 인스턴스와 함께 메타데이터가 저장된 경우 DisplayObject 인스턴스의 메타데이터 객체를 가져옵니다. | DisplayObject | ||
mirrorRegions : Vector.<flash.text.engine:TextLineMirrorRegion> [읽기 전용]
행과 연관된 TextLineMirrorRegion 객체를 포함하는 Vector입니다. 이러한 객체가 없을 경우 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 [읽기 전용]
TextBlock의 다음 TextLine입니다. 현재 줄이 블록의 마지막 줄이거나 줄의 유효성이 TextLineValidity.STATIC인 경우 null입니다. | TextLine | ||
numChildren : int [읽기 전용]
이 객체의 자식 수를 반환합니다. | DisplayObjectContainer | ||
opaqueBackground : Object
표시 객체를 특정 배경색으로 불투명하게 처리할지 여부를 지정합니다. | DisplayObject | ||
parent : DisplayObjectContainer [읽기 전용]
이 표시 객체가 포함된 DisplayObjectContainer 객체를 나타냅니다. | DisplayObject | ||
previousLine : flash.text.engine:TextLine [읽기 전용]
TextBlock의 이전 TextLine입니다. 이 행이 블록의 첫 번째 행이거나 행의 유효성이 TextLineValidity.STATIC인 경우 null입니다. | TextLine | ||
rawTextLength : int [읽기 전용]
행의 일부이지만 표시되지 않는 그래픽 요소 및 모든 후행 공백을 나타내는 U+FDEF 문자를 비롯하여 행이 된 텍스트 블록에 있는 원시 텍스트의 길입니다. | TextLine | ||
root : DisplayObject [읽기 전용]
로드된 SWF 파일에 있는 표시 객체의 경우, 해당 SWF 파일이 나타내는 표시 목록의 트리 구조 부분에서 맨 위에 위치하는 표시 객체가 루트 속성이 됩니다. | DisplayObject | ||
rotation : Number
DisplayObject 인스턴스가 원점으로부터 회전한 각도입니다. | DisplayObject | ||
rotationX : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 x축 회전한 각도를 나타냅니다. | DisplayObject | ||
rotationY : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 y축 회전한 각도를 나타냅니다. | DisplayObject | ||
rotationZ : Number
DisplayObject 인스턴스가 3D parent 컨테이너를 기준으로 원점으로부터 z축 회전한 각도를 나타냅니다. | 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
객체의 자식에서 탭 기능을 사용할 수 있는지 여부를 결정합니다. | DisplayObjectContainer | ||
tabEnabled : Boolean
이 객체가 탭 순서에 있는지 여부를 지정합니다. | InteractiveObject | ||
tabIndex : int
SWF 파일에서 객체의 탭 순서를 지정합니다. | InteractiveObject | ||
textBlock : flash.text.engine:TextBlock [읽기 전용]
이 텍스트 줄을 포함하는 TextBlock이거나, 줄의 유효성이 TextLineValidity.STATIC인 경우 null(줄과 TextBlock 사이의 연결이 끊어졌음을 의미함)입니다. | TextLine | ||
textBlockBeginIndex : int [읽기 전용]
텍스트 블록의 원시 텍스트에 있는 행의 첫 번째 문자 인덱스입니다. | TextLine | ||
textHeight : Number [읽기 전용]
텍스트 줄의 논리적 높이입니다. 이 값은 ascent와 descent를 더한 것과 같습니다. | TextLine | ||
textSnapshot : flash.text:TextSnapshot [읽기 전용]
이 DisplayObjectContainer 인스턴스에 대한 TextSnapshot 객체를 반환합니다. | 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
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 x 좌표를 나타냅니다. | DisplayObject | ||
y : Number
부모 DisplayObjectContainer의 로컬 좌표를 기준으로 DisplayObject 인스턴스의 y 좌표를 나타냅니다. | DisplayObject | ||
z : Number
3D parent 컨테이너를 기준으로 DisplayObject 인스턴스의 z축에 있는 z 좌표 위치를 나타냅니다. | DisplayObject |
메서드 | 정의 주체 | ||
---|---|---|---|
이 DisplayObjectContainer 인스턴스에 자식 DisplayObject 인스턴스를 추가합니다. | DisplayObjectContainer | ||
이 DisplayObjectContainer 인스턴스에 자식 DisplayObject 인스턴스를 추가합니다. | DisplayObjectContainer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
지정된 point 점으로 DisplayObjectContainer.getObjectsUnderPoint() 메서드를 호출하여 반환된 목록에서 임의의 표시 객체가 보안 제한 사항으로 인해 생략되는지 여부를 나타냅니다. | 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 인스턴스의 인덱스 위치를 반환합니다. | DisplayObjectContainer | ||
해당 mirror 속성이 mirror 매개 변수에 지정된 값과 일치하는 행의 첫 번째 TextLineMirrorRegion을 반환하거나 일치하는 항목이 없을 경우 null을 반환합니다. | TextLine | ||
이 DisplayObjectContainer 인스턴스의 자식(또는 손자 등)으로서 지정된 점 아래에 있는 객체의 배열을 반환합니다. | DisplayObjectContainer | ||
대상 좌표 공간 매개 변수에 의해 정의되는 좌표계를 기준으로 모양의 획을 제외하고 표시 객체의 경계를 정의하는 사각형을 반환합니다. | DisplayObject | ||
Point 객체를 Stage 전역 좌표에서 표시 객체의 로컬 좌표로 변환합니다. | DisplayObject | ||
Stage(전역) 좌표의 2차원 점을 3차원 표시 객체(로컬) 좌표로 변환합니다. | DisplayObject | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
표시 객체의 경계 상자를 평가하여 obj 표시 객체의 경계 상자와 겹치거나 교차하는지 확인합니다. | DisplayObject | ||
표시 객체를 평가하여 x 및 y 매개 변수에 의해 지정된 점과 겹치거나 교차하는지 확인합니다. | DisplayObject | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
3차원 표시 객체의 로컬 좌표에 있는 3차원 점을 Stage 전역 좌표의 2차원 점으로 변환합니다. | DisplayObject | ||
Point 객체를 표시 객체의 로컬 좌표에서 Stage 전역 좌표로 변환합니다. | DisplayObject | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
지정된 자식 DisplayObject 인스턴스를 DisplayObjectContainer 인스턴스의 자식 목록에서 제거합니다. | DisplayObjectContainer | ||
DisplayObjectContainer 자식 목록에서 지정된 인덱스 위치에 있는 자식 DisplayObject를 제거합니다. | DisplayObjectContainer | ||
모든 자식 DisplayObject 인스턴스를 DisplayObjectContainer 인스턴스의 자식 목록에서 제거합니다. | DisplayObjectContainer | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
가상 키보드를 표시합니다. | InteractiveObject | ||
표시 객체 컨테이너에서 기존 자식의 위치를 변경합니다. | DisplayObjectContainer | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
이 객체가 루트로 지정된 모든 MovieClip의 타임라인 실행을 재귀적으로 중지합니다. | DisplayObjectContainer | ||
지정된 두 개의 자식 객체의 z 순서(전후 순서)를 맞바꿉니다. | DisplayObjectContainer | ||
자식 목록에서 지정된 두 곳의 인덱스 위치에 있는 자식 객체의 z 순서(전후 순서)를 맞바꿉니다. | DisplayObjectContainer | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
상수 | 정의 주체 | ||
---|---|---|---|
MAX_LINE_WIDTH : int = 1000000 [정적]
텍스트 행의 최대 요청 폭(픽셀 단위)입니다. | TextLine |
ascent | 속성 |
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 | 속성 |
hasGraphicElement | 속성 |
hasTabs | 속성 |
mirrorRegions | 속성 |
mirrorRegions:Vector.<flash.text.engine:TextLineMirrorRegion>
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
행과 연관된 TextLineMirrorRegion
객체를 포함하는 Vector입니다. 이러한 객체가 없을 경우 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 |
TextBlock의 이전 TextLine이거나, 현재 줄이 블록의 마지막 줄이거나 줄의 유효성이 TextLineValidity.STATIC
인 경우 null
입니다.
구현
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 |
TextBlock의 이전 TextLine이거나, 이 줄이 블록의 첫 번째 줄이거나 줄의 유효성이 TextLineValidity.STATIC
인 경우 null
입니다.
구현
public function get previousLine():flash.text.engine:TextLine
관련 API 요소
rawTextLength | 속성 |
specifiedWidth | 속성 |
textBlock | 속성 |
textBlock:flash.text.engine:TextBlock
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
이 텍스트 줄을 포함하는 TextBlock이거나, 줄의 유효성이 TextLineValidity.STATIC
인 경우 null(줄과 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 is: 500
- textWidth is: 268.9921875
- width is: 269
- specifiedWidth is: 500
- textWidth is: 267.52734375
- width is: 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 | 속성 |
totalHeight | 속성 |
unjustifiedTextWidth | 속성 |
unjustifiedTextWidth:Number
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5, Flash Lite 4 |
정렬되지 않은 경우의 줄 폭입니다. 텍스트가 정렬되지 않은 경우 이 값은 textWidth
와 같습니다. 텍스트가 정렬된 경우 이 값은 정렬되지 않았을 때의 길이이며, textWidth
는 실제 행 폭을 나타냅니다. 예를 들어 다음 String을 정렬하여 폭을 500으로 하고 TextBlock.createTextLine()
에 전송하면 실제 폭은 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
클래스의 멤버에서 찾을 수 있습니다. 이 속성을 설정하기 위한 규칙은 다음과 같습니다.
TextLineValidity
의 멤버가 아닌 문자열로 유효성이 설정된 경우 줄은 USER_INVALID로 간주됩니다. 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부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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부터 시작하는 문자 인덱스 값입니다. 예를 들어 첫 번째 문자는 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부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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 |
지정된 인덱스에 있는 아톰의 왼쪽에 단어 경계를 설정할지 여부를 지정합니다. 단어 경계는 행을 이루는 문자의 유니코드 속성을 기반으로 결정됩니다.
매개 변수
atomIndex:int — 0부터 시작하는 아톰의 인덱스 값입니다. 예를 들어 첫 번째 아톰은 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 |
해당 mirror
속성이 mirror
매개 변수에 지정된 값과 일치하는 행의 첫 번째 TextLineMirrorRegion
을 반환하거나 일치하는 항목이 없을 경우 null
을 반환합니다.
양방향 수준 및 줄바꿈 여부에 따라서는 TextElement
한 개로 하나 이상의 행에 여러 TextLineMirrorRegion
객체가 만들어질 수 있습니다. nextRegion
및 previousRegion
속성은 텍스트 요소 하나에서 생성된 모든 미러 영역을 연결합니다.
매개 변수
mirror:EventDispatcher — 검색할 EventDispatcher 미러 객체입니다.
|
flash.text.engine:TextLineMirrorRegion — 해당 mirror 속성이 지정된 값과 일치하는 행의 첫 번째 TextLineMirrorRegion 을 반환하거나 일치하는 항목이 없을 경우 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 구성 요소를 추가합니다.
- 이 코드를 FLA와 같은 디렉토리에 TextLineExample.as로 저장합니다.
- 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, 03:17 PM Z