F.R.I.D.A.Y.

DirectWrite - DirectWrite 되짚기 본문

DEV/Direct2D

DirectWrite - DirectWrite 되짚기

F.R.I.D.A.Y. 2021. 4. 14. 02:11
반응형

 Direct2D의 DirectWrite를 되짚어봅니다.


DirectWrite

 DirectWrite[# 이하 DWrite]는 Direct2D에서 텍스트를 그리기 위한 인터페이스입니다.

 

필요 항목

 DWrite는 사용하기 위해 아래의 내용이 필요합니다.

 

 초기화 순서

 DWrite는 아래의 순서로 초기화를 진행합니다.

 Direct2D의 기반이 되는 ID2D1Factory를 초기화하고, 그렇게 만들어진 팩토리 객체로 하위 두 개[# ID2D1HwndRenderTarget, IDWriteFactory]의 객체를 추가로 초기화합니다. 그리고 각각의 객체를 통해 브러시 객체와 텍스트 포맷 객체를 초기화합니다.

 

 실질적인 작업은 모두 HwndRenderTarget에서 이뤄지며, IDWriteFactory는 텍스트의 스타일 등을 생성하기 위한 팩토리로, 만일 텍스트 스타일을 변경하는 작업이 필요하지 않다면 만들어 두기만 하면 되는 객체입니다.

 

텍스트 그리기

 모든 그리기 작업은 ID2D1HwndRenderTarget 객체로부터 이뤄집니다. IDWriteFactory와 IDWriteTextFormat은 그리는 작업을 하지 않고, ID2D1HwndRenderTarget 객체가 대상을 그릴 때 어떻게 그릴 것인지에 대한 속성을 관여합니다.

ID2D1HwndRenderTarget* pRT;
// ID2D1HwndRenderTarget 객체는 이미 생성되었다고 가정한다.

pRT->DrawTextW(...);
// 텍스트를 출력한다.

 


추가 사항이 있을 경우 계속 추가됩니다.

 

# index

728x90
반응형
Comments