LayoutPath 클래스
LayoutPath 클래스
LayoutPath는 기준선(baseline)에 상대적인 위치와 사용자 공간(user space)의 점 사이의 매핑을 제공해요. 위치는 기준선을 따른 전진(advance)과, 전진 지점에서 기준선에 수직인 오프셋으로 구성돼요. 수직 방향의 양수 값은 기준선 벡터에서 시계 방향으로 90도인 방향을 나타내요. 위치는 Point2D로 표현되는데, x는 전진(advance)이고 y는 오프셋이에요.
본문
이 클래스는 텍스트 레이아웃에서 기준선을 따라 이동하며 위치를 계산할 때 사용돼요. 곡선 형태의 텍스트나 회전된 텍스트처럼 기준선이 직선이 아닌 경우에도 위치 매핑을 제공할 수 있게 해요.
public abstract class LayoutPath
extends Object
주요 메서드
pointToPath(Point2D location, boolean preceding, Point2D point)— 사용자 공간의 점을 기준선 상의 위치로 변환해요.preceding가true면 preceding 소유권 규칙을,false면 following 소유권 규칙을 사용해요.pathToPoint(Point2D location, boolean preceding, Point2D point)— 기준선 상의 위치를 사용자 공간의 점으로 변환해요.
TextLayout의 getLayoutPath() 메서드로 얻은 LayoutPath 인스턴스를 통해, 텍스트 안의 특정 지점을 화면 좌표로(혹은 반대로) 변환할 수 있어요. 이는 마우스 클릭 위치로 글자 위치를 찾거나, 커서를 기준선을 따라 배치하는 데 유용해요.
사용 예
텍스트 레이아웃에서 캐럿(커서) 위치를 사용자 공간으로 옮기거나, 사용자 공간의 점이 어느 문자 위치에 해당하는지 확인할 때 pointToPath / pathToPoint를 사용해요.