TransformAttribute 클래스
TransformAttribute 클래스
TransformAttribute 클래스는 변환(transform)의 변경 불가능한(immutable) 래퍼를 제공해요. 그래서 속성으로 안전하게 사용할 수 있어요.
본문
TextAttribute.TRANSFORM 속성 값은 TransformAttribute 타입으로 지정돼요. 변환을 직접 AffineTransform이 아니라 이 래퍼로 감싸서 쓰는 이유는, AffineTransform은 파생되거나 변경될 수 있는데 속성은 변경 불가능해야 하기 때문이에요. 이 래퍼를 쓰면 변환 값이 안전하게 불변으로 취급돼요.
public final class TransformAttribute
extends Object
implements Serializable
주요 메서드
TransformAttribute(AffineTransform tx)— 지정한 변환을 감싸는 인스턴스를 만들어요.getTransform()— 내부의AffineTransform복사본을 반환해요.isIdentity()— 변환이 항등 변환이면true를 반환해요.static final TransformAttribute IDENTITY— 항등 변환을 나타내는 상수예요.
사용 예
TextAttribute.TRANSFORM 값으로 이 래퍼를 지정하면, Font나 TextLayout이 텍스트에 회전·기울임·스케일 같은 아핀 변환을 적용해 렌더링할 수 있어요.
TransformAttribute.IDENTITY는 기본값으로, 변환을 적용하지 않아요. Font를 만들 때 변환 속성이 없으면 항등 변환이 사용돼요.