2010-08-21 7 views
0

내가 말하는 연결 요소는 하나의 단어이므로 컨테이너 내부에 래핑되지 않습니다. 즉, 경계 사각형이 하나 있어야합니다. 그러나이 사각형을 찾는 방법은 무엇입니까? 필자는 Flex3에 익숙하지만 Flex4의 새로운 텍스트 레이아웃 엔진에 대해 충분히 알지 못합니다.Flex4 TextFlow에서 LinkElement의 경계 사각형을 찾으려면 어떻게합니까?

누군가 나를 도와 줄 수 있습니까? 감사!

답변

0

일부 파고 들자 동료가 Adobe 포럼 중 하나에서 similar question에 대한 참조를 발견했습니다. 다음은 해당 게시물에서 제안 된 알고리즘의 구현 (감사 노암는!) :

private function getElementPosition(link:LinkElement):Point { 
    if (!link) return null; 
    var absoluteStart:int = link.getAbsoluteStart(); 
    var textLine:TextLine = link.getTextFlow().flowComposer.findLineAtPosition(absoluteStart).getTextLine(true); 
    var rect:Rectangle = textLine.getAtomBounds(textLine.getAtomIndexAtCharIndex(absoluteStart)); 
    return textLine.localToGlobal(new Point(rect.x, rect.height+rect.y)); 
} 

나는이 테스트를했는데 일을 할 것으로 보인다. 앞으로도 같은 문제에 관심이있는 다른 사람들을 위해 공유하고 싶을뿐입니다.

관련 문제