DIDEVICEIMAGEINFO
デバイス イメージを表示、またはイメージにコールアウトをオーバーレイするために必要な情報を格納する。この構造体は、DIDEVICEIMAGEINFOHEADER 構造体内の配列として IDirectInputDevice8::GetImageInfo メソッドに渡される。
typedef struct _DIDDEVICEIMAGEINFO {
TCHAR tszImagePath[MAX_PATH];
DWORD dwFlags;
// dwFlags に DIDIFT_OVERLAY が存在する場合、
// 次のコードは有効である。
DWORD dwViewID;
RECT rcOverlay;
DWORD dwObjID;
DWORD dwcValidPts;
POINT rgptCalloutLine[5];
RECT rcCalloutRect;
DWORD dwTextAlign;
} DIDEVICEIMAGEINFO, * LPDIDEVICEIMAGEINFO;
メンバ
- tszImagePath
- デバイスのイメージを含むファイルの完全修飾パス。ファイル フォーマットは dwFlags で指定する。デバイスで利用可能なイメージがなければ、このメンバには NULL が設定される。その場合、デバイスのコントロールの列挙と、デバイス コントロールに対するデフォルトのアクション一覧の表示は、アプリケーション側で行う必要がある (Microsoft® DirectX® 8.0 より前のほとんどのアプリケーションで使われていた方法と同様)。
- dwFlags
-
- イメージの使用目的を記述したフラグ。
- DIDIFT_CONFIGURATION
- ファイルは、デバイスに対するアクションの現在構成を表示するために使用される。オーバーレイ イメージの座標は、構成イメージの左上隅を起点とする相対座標である。
- DIDIFT_OVERLAY
- ファイル (指定されている場合) は、構成イメージのオーバーレイである。dwViewID、rcOverlay、dwObjID、rgptCalloutLine、rcCalloutRect、および dwTextAlign の各メンバは有効であり、これらに格納されたデータを使って、デバイスの単一コントロールのオーバーレイとコールアウト情報が表示される。ファイルが指定されない場合 (パス文字列が NULL)、rcOverlay 以外の関連するその他すべてのメンバが使用される。
- dwViewID
- デバイス ビュー イメージ (DIDIFT_CONFIGURATION) の場合、これはデバイス ビューの ID である。デバイス コントロール オーバーレイ (DIDIFT_OVERLAY) の場合、この値はデバイス ビューを ID によって参照する。デバイス ビューによって、イメージとコールアウト情報が表示される。
- rcOverlay
- デバイス構成イメージの左上ピクセルを原点とする相対座標を使って、オーバーレイ イメージをペイントする対象の長方形。このメンバは、dwFlags に DIDIFT_OVERLAY フラグが含まれる場合にのみ有効である。
- dwObjID
- このデバイスのオーバーレイ イメージが対応するコントロール識別子。DIDFT_* フラグとインスタンス値の組み合わせである。アプリケーションは DIDFT_GETINSTANCE および DIDFT_GETTYPE マクロを使って、この値から構成部分を読み取る。このメンバは、dwFlags に DIDIFT_OVERLAY フラグが含まれる場合にのみ有効である。
- dwcValidPts
- rgptCalloutLine が指す配列のポイント数。
- rgptCalloutLine
- コールアウト線を描画するポイントの座標を指定する POINT 構造体の配列。コールアウト線は、デバイス コントロールと、ゲーム アクションのキャプションを結ぶ線である。各線は、1 〜 4 のセグメントを持つことができる。このメンバは、dwFlags に DIDIFT_OVERLAY フラグが含まれる場合にのみ有効である。
- rcCalloutRect
- ゲーム アクションの文字列が表示される長方形を表す RECT 構造体。文字列が長方形内に納まらない場合は、アプリケーション側でクリッピングを処理する必要がある。このメンバは、dwFlags に DIDIFT_OVERLAY フラグが含まれる場合にのみ有効である。
- dwTextAlign
- rcCalloutRect メンバが表す長方形内のテキストの配置を指定する DWORD 値。1 つの水平方向の配置フラグと 1 つの垂直方向の配置フラグの組み合わせでなければならない。
定義済みの水平方向配置フラグは次のとおり。
- DIDAL_LEFTALIGNED
- テキストを左枠線に揃える。
- DIDAL_CENTERED
- テキストを水平方向の中央に寄せる。
- DIDAL_RIGHTALIGNED
- テキストを右枠線に揃える。
定義済みの垂直方向配置フラグは次のとおり。
- DIDAL_MIDDLE
- テキストを垂直方向の中央に寄せる。
- DIDAL_TOPALIGNED
- テキストを上枠線に揃える。
- DIDAL_BOTTOMALIGNED
- テキストを下枠線に揃える。
このメンバは、dwFlags に DIDIFT_OVERLAY フラグが含まれる場合にのみ有効である。
Windows NT/2000 : Windows 2000 以降に対する再配布可能ファイルとして提供。
Windows 95/98 : Windows 95 以降に対する再配布可能ファイルとして提供。
ヘッダー : dinput.h で宣言。