Share via


DIDEVICEIMAGEINFO Structure

Carries information required to display a device image or an overlay image with a callout. This structure is passed to the IDirectInputDevice8::GetImageInfo method as an array within a DIDEVICEIMAGEINFOHEADER structure.

Syntax

typedef struct DIDEVICEIMAGEINFO {
    TCHAR tszImagePath[MAX_PATH];
    DWORD dwFlags;
    DWORD dwViewID;
    RECT rcOverlay;
    DWORD dwObjID;
    DWORD dwcValidPts;
    POINT rgptCalloutLine[5];
    RECT rcCalloutRect;
    DWORD dwTextAlign;
} DIDEVICEIMAGEINFO, *LPDIDEVICEIMAGEINFO;

Members

  • tszImagePath
    Fully qualified path to the file that contains an image of the device. The file format is given in dwFlags. If no image is available for the device, this member will be set to NULL. If so, the application is responsible for enumerating controls on the device and displaying a default listing of actions to device controls (similar to the method used by most applications before DirectX 8.0).

  • dwFlags
    Flag that describes the intended use of the image.

    • DIDIFT_CONFIGURATION
      The file is used to display the current configuration of actions on the device. Overlay image coordinates are relative to the upper-left corner of the configuration image.
    • DIDIFT_OVERLAY
      The file (if provided) is an overlay for a configuration image. The dwViewID, rcOverlay, dwObjID, rgptCalloutLine, rcCalloutRect, and dwTextAlign members are valid and contain data used to display the overlay and callout information for a single control on the device. If no file is provided (null path string), all other pertinent members are relevant except rcOverlay.
  • dwViewID
    For device view images (DIDIFT_CONFIGURATION), this is the ID of the device view. For device control overlays (DIDIFT_OVERLAY), this value refers to the device view (by ID) over which an image and callout information should be displayed.

  • rcOverlay
    Rectangle, using coordinates relative to the top-left pixel of the device configuration image, in which the overlay image should be painted. This member is valid only if the DIDIFT_OVERLAY flag is present in dwFlags.

  • dwObjID
    Control identifier, as a combination of DIDFT_* flags and an instance value, to which an overlay image corresponds for this device. Applications use the DIDFT_GETINSTANCE and DIDFT_GetType macros to decode this value to its constituent parts. This member is valid only if the DIDIFT_OVERLAY flag is present in dwFlags.

  • dwcValidPts
    Number of points in the array at rgptCalloutLine.

  • rgptCalloutLine
    Array of POINT structures that specify coordinates of the points describing a callout line. A callout line connects a device control to a caption for the game action. Each line can have from one to four segments. This member is valid only if the DIDIFT_OVERLAY flag is present in dwFlags.

  • rcCalloutRect
    RECT structure that describes the rectangle in which the game action string is displayed. If the string cannot fit within the rectangle, the application is responsible for handling clipping. This member is valid only if the DIDIFT_OVERLAY flag is present in dwFlags.

  • dwTextAlign
    DWORD value that specifies the alignment of the text in the rectangle described by the rcCalloutRect member. Must be one horizontal alignment flag combined with one vertical alignment flag. This member is valid only if the DIDIFT_OVERLAY flag is present in dwFlags.

    The following horizontal alignment flags are defined.

    • DIDAL_LEFTALIGNED
      Text is aligned on the left border.
    • DIDAL_CENTERED
      Text is horizontally centered.
    • DIDAL_RIGHTALIGNED
      Text is aligned on the right border.

    The following vertical alignment flags are defined.

    • DIDAL_MIDDLE
      The text is vertically centered.
    • DIDAL_TOPALIGNED
      The text is aligned on the top border.
    • DIDAL_BOTTOMALIGNED
      The text is aligned on the bottom border.