InkD2DRenderer クラス
IInkD2DRenderer インターフェイスを実装します。
IInkD2DRenderer オブジェクトを使用すると、既定の InkCanvas コントロールではなく、ユニバーサル Windows アプリの指定された Direct2D デバイス コンテキストにインク ストロークをレンダリングできます。
メンバー
InkD2DRenderer クラスは、IUnknown インターフェイスから継承します。 InkD2DRenderer には、次の種類のメンバーもあります。
メソッド
InkD2DRenderer クラスには、これらのメソッドがあります。
メソッド | 説明 |
---|---|
描画 | アプリの指定された Direct2D デバイス コンテキストにインク ストロークをレンダリングします。 |
Creation\Access Functions
クラス識別子 InkD2DRenderer を使用して CoCreateInstance を呼び出して、オブジェクトへの参照を取得します。
CoCreateInstance(__uuidof(InkD2DRenderer),
nullptr,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&_spInkD2DRenderer));
例
複合手描き入力サンプルの "SceneComposer.cpp" ファイルのこのスニペットは、Direct2D デバイス コンテキストへのインク ストロークのコレクションのレンダリングを示しています。
_inkRenderer->Render(strokes, _deviceResources->GetD2DDeviceContext());
strokes->Clear();
複合手描き入力サンプルの "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 [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
サポートなし |
Header |
|
IDL |
|
IID |
IID_IInkD2DRendererは 4044e60c-7b01-4671-a97c-04e0210a07a5 として定義されています |
関連トピック
インク レンダラー、 ペンとスタイラスの相互作用、 インク分析サンプル、 単純な手描き入力サンプル、 複雑な手描き入力サンプル