ID2D1Mesh インターフェイス
三角形リストを形成する一連の頂点を表します。
実装するタイミング
カスタム実装はサポートされません。
メンバー
ID2D1Mesh インターフェイス の継承元は次のとおりです: ID2D1Resource. ID2D1Mesh は次のメンバーも定義します:
- メソッド
メソッド
ID2D1Mesh インターフェイス は次の項目を定義します: メソッド.
メソッド | 説明 |
---|---|
Open | 作成するメッシュを開きます。 |
解説
ID2D1Mesh オブジェクトの作成
メッシュを作成するには、メッシュが使用されるレンダー ターゲットで ID2D1RenderTarget::CreateMesh メソッドを呼び出します。メッシュは、そのメッシュを作成したレンダー ターゲットおよびそのレンダー ターゲットと互換性のあるターゲットでのみ使用できます。
メッシュはデバイス依存のリソースです。アプリケーションでは、メッシュが使用されるレンダー ターゲットを初期化した後にメッシュを作成し、レンダー ターゲットの再作成が必要になるたびにメッシュも再作成する必要があります (リソースの詳細については、「リソースの概要」を参照してください)。
例
次のコード例は、ID2D1Mesh を使用して、三角形リストを形成する一連の頂点を表す方法を示しています。
ID2D1GeometrySink *pGeometrySink = NULL;
hr = pPathGeometry->Open(&pGeometrySink);
if (SUCCEEDED(hr))
{
hr = pGeometry->Widen(
strokeWidth,
pIStrokeStyle,
pWorldTransform,
pGeometrySink
);
if (SUCCEEDED(hr))
{
hr = pGeometrySink->Close();
if (SUCCEEDED(hr))
{
ID2D1Mesh *pMesh = NULL;
hr = m_pRT->CreateMesh(&pMesh);
if (SUCCEEDED(hr))
{
ID2D1TessellationSink *pSink = NULL;
hr = pMesh->Open(&pSink);
if (SUCCEEDED(hr))
{
hr = pPathGeometry->Tessellate(
NULL, // world transform (already handled in Widen)
pSink
);
if (SUCCEEDED(hr))
{
hr = pSink->Close();
if (SUCCEEDED(hr))
{
SafeReplace(&m_pStrokeMesh, pMesh);
}
}
pSink->Release();
}
pMesh->Release();
}
}
}
pGeometrySink->Release();
}
pPathGeometry->Release();
完全な例については、「ジオメトリ実現の例」を参照してください。
要件
クライアントの最小要件 |
Windows 7, Windows Vista SP2 および Windows Vista 用のプラットフォーム更新プログラム |
サーバーの最小要件 |
Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム |
ヘッダー |
D2d1.h |
ライブラリ |
D2d1.lib |
DLL |
D2d1.dll |