IDWriteTextLayout 인터페이스(dwrite.h)
IDWriteTextLayout 인터페이스는 완전히 분석되고 서식이 지정된 후 텍스트 블록을 나타냅니다.
상속
IDWriteTextLayout 인터페이스는 IDWriteTextFormat에서 상속됩니다. IDWriteTextLayout 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
IDWriteTextLayout 인터페이스에는 이러한 메서드가 있습니다.
IDWriteTextLayout::D etermineMinWidth 전체 단어의 문자 간에 비상 중단 없이 레이아웃을 설정할 수 있는 최소 너비를 결정합니다. |
IDWriteTextLayout::D raw 지정된 클라이언트 그리기 컨텍스트를 사용하여 텍스트를 그립니다. |
IDWriteTextLayout::GetClusterMetrics 각 문자 모양 클러스터의 논리적 속성 및 측정값을 검색합니다. |
IDWriteTextLayout::GetDrawingEffect 지정된 텍스트 위치에서 애플리케이션 정의 그리기 효과를 가져옵니다. |
IDWriteTextLayout::GetFontCollection 지정된 위치에 있는 텍스트와 연결된 글꼴 컬렉션을 가져옵니다. |
IDWriteTextLayout::GetFontFamilyName 텍스트의 글꼴 패밀리 이름을 지정된 위치에 복사합니다. |
IDWriteTextLayout::GetFontFamilyNameLength 현재 위치에 있는 글꼴 패밀리 이름의 길이를 가져옵니다. |
IDWriteTextLayout::GetFontSize 지정된 위치에 있는 텍스트의 글꼴 em 높이를 가져옵니다. |
IDWriteTextLayout::GetFontStretch 지정된 위치에 있는 텍스트의 글꼴 스트레치를 가져옵니다. |
IDWriteTextLayout::GetFontStyle 지정된 위치에 있는 텍스트의 글꼴 스타일(기울기라고도 함)을 가져옵니다. |
IDWriteTextLayout::GetFontWeight 지정된 위치에 있는 텍스트의 글꼴 두께를 가져옵니다. |
IDWriteTextLayout::GetInlineObject 지정된 위치에 있는 인라인 개체를 가져옵니다. |
IDWriteTextLayout::GetLineMetrics 텍스트 문자열의 각 개별 텍스트 줄에 대한 정보를 검색합니다. |
IDWriteTextLayout::GetLocaleName 지정된 위치에 있는 텍스트의 로캘 이름을 가져옵니다. |
IDWriteTextLayout::GetLocaleNameLength 지정된 위치에 있는 텍스트의 로캘 이름 길이를 가져옵니다. |
IDWriteTextLayout::GetMaxHeight 레이아웃 최대 높이를 가져옵니다. |
IDWriteTextLayout::GetMaxWidth 레이아웃 최대 너비를 가져옵니다. |
IDWriteTextLayout::GetMetrics 형식이 지정된 문자열에 대한 전체 메트릭을 검색합니다. (IDWriteTextLayout.GetMetrics) |
IDWriteTextLayout::GetOverhangMetrics 레이아웃의 오버행과 텍스트 문자 모양 및 인라인 개체를 포함하여 레이아웃에 포함된 모든 개체를 반환합니다. |
IDWriteTextLayout::GetStrikethrough 지정된 위치에 있는 텍스트의 취소선 존재를 가져옵니다. |
IDWriteTextLayout::GetTypography 지정된 위치에 있는 텍스트의 입력 체계 설정을 가져옵니다. |
IDWriteTextLayout::GetUnderline 지정된 위치에 있는 텍스트의 밑줄 존재를 가져옵니다. |
IDWriteTextLayout::HitTestPoint 애플리케이션은 레이아웃 상자의 왼쪽 위 위치를 기준으로 특정 픽셀 위치를 전달하는 이 함수를 호출하고 적중 테스트가 발생한 텍스트 문자열의 특파원 적중 테스트 메트릭에 대한 정보를 가져옵니다. |
IDWriteTextLayout::HitTestTextPosition 애플리케이션은 텍스트 위치와 위치의 논리적 측면이 지정된 레이아웃 상자의 왼쪽 위와 관련된 픽셀 위치를 가져오기 위해 이 함수를 호출합니다. |
IDWriteTextLayout::HitTestTextRange 애플리케이션은 이 함수를 호출하여 텍스트 위치 범위에 해당하는 적중 테스트 메트릭 집합을 가져옵니다. 기본 사용 중 하나는 텍스트 문자열의 강조 표시 선택을 구현하는 것입니다. |
IDWriteTextLayout::SetDrawingEffect 애플리케이션 정의 그리기 효과를 설정합니다. |
IDWriteTextLayout::SetFontCollection 글꼴 컬렉션을 설정합니다. |
IDWriteTextLayout::SetFontFamilyName 지정된 텍스트 범위 내의 텍스트에 대해 null로 끝나는 글꼴 패밀리 이름을 설정합니다. |
IDWriteTextLayout::SetFontSize 지정된 텍스트 범위 내에서 텍스트의 글꼴 크기를 DIP 단위로 설정합니다. |
IDWriteTextLayout::SetFontStretch 지정된 텍스트 범위 내에서 텍스트의 글꼴 늘이기를 설정합니다. |
IDWriteTextLayout::SetFontStyle DWRITE_TEXT_RANGE 구조체로 지정된 텍스트 범위 내에서 텍스트의 글꼴 스타일을 설정합니다. |
IDWriteTextLayout::SetFontWeight DWRITE_TEXT_RANGE 구조로 지정된 텍스트 범위 내에서 텍스트의 글꼴 두께를 설정합니다. |
IDWriteTextLayout::SetInlineObject 인라인 개체를 설정합니다. |
IDWriteTextLayout::SetLocaleName 지정된 텍스트 범위 내에서 텍스트의 로캘 이름을 설정합니다. |
IDWriteTextLayout::SetMaxHeight 레이아웃 최대 높이를 설정합니다. |
IDWriteTextLayout::SetMaxWidth 레이아웃 최대 너비를 설정합니다. |
IDWriteTextLayout::SetStrikethrough 지정된 텍스트 범위 내의 텍스트에 대한 취소선 을 설정합니다. |
IDWriteTextLayout::SetTypography 지정된 텍스트 범위 내의 텍스트에 대한 글꼴 입력 체계 기능을 설정합니다. |
IDWriteTextLayout::SetUnderline 지정된 텍스트 범위 내의 텍스트에 대한 밑면을 설정합니다. |
설명
IDWriteTextLayout 인터페이스에 대한 참조를 가져오려면 애플리케이션은 다음 코드와 같이 IDWriteFactory::CreateTextLayout 메서드를 호출해야 합니다.
// Create a text layout using the text format.
if (SUCCEEDED(hr))
{
RECT rect;
GetClientRect(hwnd_, &rect);
float width = rect.right / dpiScaleX_;
float height = rect.bottom / dpiScaleY_;
hr = pDWriteFactory_->CreateTextLayout(
wszText_, // The string to be laid out and formatted.
cTextLength_, // The length of the string.
pTextFormat_, // The text format to apply to the string (contains font information, etc).
width, // The width of the layout box.
height, // The height of the layout box.
&pTextLayout_ // The IDWriteTextLayout interface pointer.
);
}
IDWriteTextLayout 인터페이스를 사용하면 애플리케이션이 나타내는 텍스트 범위의 형식을 변경할 수 있으며 DWRITE_TEXT_RANGE 구조체로 지정됩니다. 다음 예제에서는 텍스트 범위의 글꼴 두께를 설정하는 방법을 보여 주는 예제입니다.
// Set the font weight to bold for the first 5 letters.
DWRITE_TEXT_RANGE textRange = {0, 4};
if (SUCCEEDED(hr))
{
hr = pTextLayout_->SetFontWeight(DWRITE_FONT_WEIGHT_BOLD, textRange);
}
IDWriteTextLayout 은 텍스트에 취소선, 밑줄 및 인라인 개체를 추가하는 메서드도 제공합니다.
IDWriteTextLayout 개체로 표시되는 텍스트 블록을 그리기 위해 Direct2D는 ID2D1RenderTarget::D rawTextLayout 메서드를 제공합니다. 사용자 지정 렌더러를 사용하여 그리려면 IDWriteTextRenderer 인터페이스를 구현하고 IDWriteTextLayout::D raw 메서드를 호출합니다.
DirectWrite 및 Direct2D
IDWriteTextLayout 개체로 표시되는 형식이 지정된 문자열을 그리기 위해 Direct2D는 ID2D1RenderTarget::D rawTextLayout 메서드를 제공합니다.기타 렌더링 옵션
사용자 지정 렌더러를 사용하여 렌더링하려면 다음 코드와 같이 IDWriteTextRenderer에서 파생된 콜백 인터페이스를 인수로 사용하는 IDWriteTextLayout::D raw 메서드를 사용합니다.
// Draw the text layout using DirectWrite and the CustomTextRenderer class.
hr = pTextLayout_->Draw(
NULL,
pTextRenderer_, // Custom text renderer.
origin.x,
origin.y
);
IDWriteTextRenderer 는 문자 모양 실행, 밑줄, 취소선 및 인라인 개체를 그리는 메서드를 선언합니다. 이러한 메서드를 구현하는 것은 애플리케이션의 입니다. 사용자 지정 텍스트 렌더러를 만들면 애플리케이션에서 사용자 지정 채우기 또는 윤곽선과 같은 텍스트를 렌더링할 때 추가 효과를 적용할 수 있습니다.
사용자 지정 텍스트 렌더러를 사용하면 GDI와 같은 다른 기술을 사용하여 렌더링할 수도 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | dwrite.h |