GDIINFO (Compact 2013)

3/26/2014

This structure contains information about the graphics device supported by a device driver.

Syntax

typedef struct _GDIINFO {
  ULONG ulVersion;
  ULONG ulTechnology;
  ULONG ulHorzSize;
  ULONG ulVertSize;
  ULONG ulHorzRes;
  ULONG ulVertRes;
  ULONG cBitsPixel;
  ULONG cPlanes;
  ULONG ulNumColors;
  ULONG flRaster;
  ULONG ulLogPixelsX;
  ULONG ulLogPixelsY;
  ULONG flTextCaps;
  ULONG flShadeBlendCaps;
  ULONG ulDACRed;
  ULONG ulDACGreen;
  ULONG ulDACBlue;
  ULONG ulAspectX;
  ULONG ulAspectY;
  ULONG ulAspectXY;
  LONG xStyleStep;
  LONG yStyleStep;
  LONG denStyleStep;
  POINTL ptlPhysOffset;
  SIZEL szlPhysSize;
  ULONG ulNumPalReg;
  ULONG ulTouchTargetSize;
  ULONG ulDevicePelsDPI;
  ULONG ulPrimaryOrder;
  ULONG ulHTPatternSize;
  ULONG ulHTOutputFormat;
  ULONG flHTFlags;
  ULONG ulVRefresh;
  ULONG ulBltAlignment;
  LONG lStride;
} GDIINFO, *PGDIINFO;

Members

  • ulVersion
    Version number. The high-order byte specifies the major version, the low-order byte the minor version.
  • ulTechnology
    Device technology. The following table shows the possible values. Set to one of these values.

    Value

    Description

    DT_PLOTTER

    Vector plotter.

    DT_RASDISPLAY

    Raster display.

    DT_RASPRINTER

    Raster printer.

    All other values are reserved.

  • ulHorzSize
    Width, in millimeters, of the physical display surface.
  • ulVertSize
    Height, in millimeters, of the physical display surface.
  • ulHorzRes
    Width, in pixels, of the display surface. For nonraster devices, this width is equivalent to the number of vertical grid lines used by the device to plot points on the display surface. In such cases, a pixel is defined to be the smallest mark the device can draw.
  • ulVertRes
    Height, in raster lines, of the display. For nonraster devices, this height is equivalent to the number of horizontal grid lines used by the device to plot points on the display surface. In such cases, a raster line is equivalent to a gridline.
  • cBitsPixel
    Number of adjacent bits on each plane required to define a single pixel.
  • cPlanes
    Number of planes required to define the pixels. This parameter is typically 1.
  • ulNumColors
    Number of entries in the color table for the device or the number of reserved colors for a palette-capable device.
  • flRaster
    Raster capabilities. The following table shows the possible values. Set to a combination of these values.

    Value

    Description

    RC_NONE

    No raster capabilities.

    RC_BITBLT

    Can transfer bitmaps. The driver exports the BitBlt function.

    RC_BANDING

    Requires banding support.

    RC_SCALING

    Requires scaling support.

    RC_SAVEBITMAP

    Saves bitmaps locally in shadow memory.

    RC_PALETTE

    Performs color-palette management.

    RC_DIBTODEV

    Transfers device-independent bitmaps (DIBs) directly to device. The driver exports the SetDIBitsToDevice function.

    RC_BIGFONT

    Displays large fonts.

    RC_STRETCHBLT

    Stretches and compresses bitmaps while transferring the bitmap. The driver exports the StretchBlt function.

    RC_FLOODFILL

    Perform flood filling.

    RC_STRETCHDIB

    Stretches and compresses device-independent bitmaps while transferring the bitmap. The driver exports the StretchDIBits function.

    RC_DEVBITS

    Supports device bitmaps.

  • ulLogPixelsX
    Number of pixels per logical inch along a horizontal line on the display surface. This value is used to match fonts.
  • ulLogPixelsY
    Number of pixels per logical inch along a vertical line on the display surface. This value is used to match fonts.
  • flTextCaps
    Flag. The following table shows the possible values. They can be combined.

    Value

    Description

    Zero (0)

    Driver does not support anti-aliased or Microsoft® ClearType® display technology text.

    GCAPS_GRAY16

    Driver supports anti-aliased text.

    GCAPS_CLEARTYPE

    Driver supports ClearType text.

  • flShadeBlendCaps
    Specifies a set of flags that indicate the shading and blending capabilities of the device. The value that the driver places in this member is the value that GDI reports when an application calls GetDeviceCaps(hdc, SHADEBLENDCAPS).

    For display drivers, if alpha blending is supported, the reported value is set to the combination of the following flags: SB_CONST_ALPHA, SB_PIXEL_ALPHA, and SB_PREMULT_ALPHA. Or, if gradient fill is supported, the value is set to SB_GRAD_RECT. For a definition of these values, see SHADEBLENDCAPS in GetDeviceCaps.

  • ulDACRed
    Ignored, set to NULL.
  • ulDACGreen
    Ignored, set to NULL.
  • ulDACBlue
    Ignored, set to NULL.
  • ulAspectX
    Relative width of a device pixel. This value, in the range 1 through 1000, provides information about device's aspect ratio.
  • ulAspectY
    Relative height of a device pixel. This value, in the range 1 through 1000, provides information about device's aspect ratio.
  • ulAspectXY
    Relative diagonal width of a device pixel. This value, in the range 1 through 1000, provides information about device's aspect ratio. It must be equal to the square root of the sum of the squares of ulAspectX and ulAspectY.
  • xStyleStep
    Ignored, set to NULL.
  • yStyleStep
    Ignored, set to NULL.
  • denStyleStep
    Ignored, set to NULL.
  • ptlPhysOffset
    Number of device units between the top-left corner of the physical page and the top-left corner of the printable area of the page. Use for printing devices.
  • szlPhysSize
    Width and height of the high-resolution metric window. The width is ulHorzSize*100; the height is ulVertSize*100.
  • ulNumPalReg
    Ignored, set to NULL.
  • ulTouchTargetSize
    Indicates touch screen target size.
  • ulDevicePelsDPI
    Ignored, set to NULL.
  • ulPrimaryOrder
    Ignored, set to NULL.
  • ulHTPatternSize
    Ignored, set to NULL.
  • ulHTOutputFormat
    Ignored, set to NULL.
  • flHTFlags
    Ignored, set to NULL.
  • ulVRefresh
    Refresh rate of the display device in hertz.
  • ulBltAlignment
    Ignored, set to NULL.
  • lStride
    Indicates the stride of the video surface, which is the number of bytes from one row of pixels in memory to the next row of pixels in memory.

Remarks

GDI retrieves this structure when it loads the driver and uses the information in the structure to initialize the driver.

Requirements

Header

winddi.h

See Also

Reference

Display Driver Structures