InkD2DRenderer 클래스
IInkD2DRenderer 인터페이스를 구현합니다.
IInkD2DRenderer 개체를 사용하면 기본 InkCanvas 컨트롤 대신 유니버설 Windows 앱의 지정된 Direct2D 디바이스 컨텍스트에 잉크 스트로크를 렌더링할 수 있습니다.
멤버
InkD2DRenderer 클래스는 IUnknown 인터페이스에서 상속됩니다. InkD2DRenderer 에는 다음과 같은 유형의 멤버도 있습니다.
메서드
InkD2DRenderer 클래스에는 이러한 메서드가 있습니다.
메서드 | Description |
---|---|
Draw | 잉크 스트로크를 앱의 지정된 Direct2D 디바이스 컨텍스트로 렌더링합니다. |
Creation\Access 함수
클래스 식별자 InkD2DRenderer를 사용하여 CoCreateInstance를 호출하여 개체에 대한 참조를 검색합니다.
CoCreateInstance(__uuidof(InkD2DRenderer),
nullptr,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&_spInkD2DRenderer));
예제
복합 수동 입력 샘플의 "SceneComposer.cpp" 파일의 이 코드 조각은 잉크 스트로크 컬렉션을 Direct2D 디바이스 컨텍스트로 렌더링하는 방법을 보여 줍니다.
_inkRenderer->Render(strokes, _deviceResources->GetD2DDeviceContext());
strokes->Clear();
Complex 수동 입력 샘플의 "InkRenderer.cpp" 파일의 이 코드 조각은 스트로크 렌더링을 위해 Draw 메서드를 호출하는 Render 메서드(이전 코드 조각에서 호출됨)를 보여 줍니다.
void InkRenderer::Render(
Platform::Collections::Vector<
Windows::UI::Input::Inking::InkStroke^>^ strokes,
Microsoft::WRL::ComPtr<ID2D1DeviceContext> d2dContext)
{
HRESULT hr = S_OK;
if (_spInkD2DRenderer != nullptr)
{
if (strokes != nullptr && strokes->Size > 0)
{
// Cast the stroke collection into IUnknown to call Inkd2dRenderer
ComPtr<IUnknown> spUnkStrokes =
reinterpret_cast<IUnknown*>(reinterpret_cast<__abi_IUnknown*>(strokes));
hr = _spInkD2DRenderer->Draw(d2dContext.Get(), spUnkStrokes.Get(), false);
if (FAILED(hr))
{
DX::ThrowIfFailed(hr);
}
}
}
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 10 [데스크톱 앱만 해당] |
지원되는 최소 서버 |
지원되는 버전 없음 |
헤더 |
|
IDL |
|
IID |
IID_IInkD2DRenderer 4044e60c-7b01-4671-a97c-04e0210a07a5로 정의됩니다. |
관련 항목
잉크 렌더러, 펜 및 스타일러스 상호 작용, 잉크 분석 샘플, 간단한 수동 입력 샘플, 복잡한 수동 입력 샘플