IDirectManipulationViewport::SetViewportTransform メソッド (directmanipulation.h)

ビューポート座標系からウィンドウ クライアント座標系への変換を指定します。

構文

HRESULT SetViewportTransform(
  [in] const float *matrix,
  [in] DWORD       pointCount
);

パラメーター

[in] matrix

行単位の変換行列: _11、_12、_21、_22、_31、_32。

[in] pointCount

変換行列のサイズ。 3x2 行列はすべての直接操作変換に使用されるため、この値は常に 6 です。

戻り値

メソッドが成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。

解説

この関数を呼び出して、画面上のビューポートの位置、拡大縮小、向きを指定します。 ビューポートの位置、拡大縮小、向き、サイズは、ビューポート変換とビューポートの四角形によって一意に決定されます。 アプリケーションでは、このメソッドを使用してビューポート変換を指定し、 SetViewportRect を使用してビューポートの四角形を指定できます。

ビューポートの四角形 (ユーザーに表示されるコンテンツ内の四角形領域) は、ビューポート座標で指定されます。 ビューポートの四角形の左上のポイントが (0,0) の場合、ビューポートの四角形はビューポート座標系の原点に正確に配置されます。 ビューポート座標系の原点からオフセットされたビューポートは、次の 2 つの方法で指定できます。

  • ビューポートの四角形の左上の点を通る
  • ビューポート変換変換コンポーネントを使用 (_31、_32)
ビューポート変換は、ビューポート座標系からウィンドウ クライアント座標系に変換されます。 直接操作 では、ウィンドウの RTL プロパティが無視されるため、クライアント領域の原点は常に左上のポイントになります。 変換は次の順序で適用されます。
  1. ビューポートの四角形のオフセット
  2. ビューポート変換 (ビューポートからクライアント座標系へ)
  3. クライアントから画面へのマッピング (クライアントから画面への座標系)

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー directmanipulation.h

関連項目

IDirectManipulationViewport