Microsoft DirectX 8.0 (C++)

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
ファイル (指定されている場合) は、構成イメージのオーバーレイである。dwViewIDrcOverlaydwObjIDrgptCalloutLinercCalloutRect、および 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 で宣言。