DEVINFO

typedef struct tagDEVINFO {
    FLONG flGraphicsCaps;
    LOGFONTW lfDefaultFont;
    LOGFONTW lfAnsiVarFont;
    LOGFONTW lfAnsiFixFont;
    ULONG cFonts;
    ULONG iDitherFormat;
    USHORT cxDither;
    USHORT cyDither;
    HPALETTE hpalDefault;
} DEVINFO, *PDEVINFO;

The DEVINFO structure is used by the DrvEnablePDEV driver-supplied function to describe the driver and the PDEV. The driver should set only the members that are relevant to it. This structure is zero-initialized by GDI before DrvEnablePDEV is called. Applications do not have direct access to this structure.

Members

flGraphicsCaps
Flags that describe graphics capabilities of the device driver. These flags are defined as follows:

Flag

Meaning

GCAPS_BEZIERS

Handles Bezier curves.

GCAPS_GEOMETRICWIDE

Handles geometric widening.

GCAPS_ALTERNATEFILL

Handles alternating fills.

GCAPS_WINDINGFILL

Handles winding mode fills.

GCAPS_HALFTONE

Handles halftoning.

GCAPS_COLOR_DITHER

Handles color dithering to a PDEV-comptible surface.

GCAPS_HORIZSTRIKE

Handles horizontal strikeouts in DrvTextOut.

GCAPS_VERTSTRIKE

Handles vertical strikeouts in DrvTextOut.

GCAPS_OPAQUERECT

Handles opaque rectangles in DrvTextOut.

GCAPS_VECTORFONT

Handles stroking of vector fonts in DrvTextOut.

GCAPS_MONO_DITHER

Handles monochrome dithering.

GCAPS_ASYNCCHANGE

Handles changes to the hardware pointer shape.

GCAPS_ASYNCMOVE

Moves the hardware pointer when a thread is performing graphical operations.

GCAPS_DONTJOURNAL

Disallows journaling to this driver. This is only valid for printer DCs and will generally result in slower return-to-application time when printing.

GCAPS_ARBRUSHOPAQUE

Supports arbitrary brush for text opaque rectangle.

GCAPS_HIGHRESTEXT

Indicates that the driver is requesting glyph positions as returned by the STROBJ in FIX point coordinates.

GCAPS_PALMANAGED

Supports palette management.

GCAPS_DITHERONREALIZE

Specifies that GDI can call DrvRealizeBrush with the RGB to be dithered directly.

GCAPS_FORCEDITHER

Allows dithering on all geometric pens.

lfDefaultFont
An Extended Logical Font structure that specifies the default font for a device.
lfAnsiVarFont
An Extended Logical Font structure that specifies the default variable-pitch font for a device.
lfAnsiFixFont
An Extended Logical Font structure that specifies the default fixed-pitch (monospaced) font for a device.
cFonts
Specifies the number of device fonts. GDI assumes that the device can draw text with this number of fonts on its own surfaces and that the driver can provide metrics information about the fonts. If the driver sets cFonts to -1, GDI will wait until fonts are needed to query the driver for the actual number of fonts it supports in a call to DrvQueryFont.
iDitherFormat
Specifies the format of the bitmap. This parameter indicates how many bits of color information per pixel are requested, and must be one of the following values:

Value

Meaning

BMF_1BPP

Monochrome.

BMF_4BPP

4 bits per pixel.

BMF_8BPP

8 bits per pixel.

BMF_16BPP

16 bits per pixel.

BMF_24BPP

24 bits per pixel.

BMF_32BPP

32 bits per pixel.

BMF_4RLE

4 bits per pixel, run length encoded.

BMF_8RLE

8 bits per pixel, run length encoded.

cxDither and cyDither
Specifies the dimensions of a dithered brush. If these members are nonzero, then the device can create a dithered brush for a given RGB color.
hpalDefault
Specifies the default palette for the device. The palette should be created by calling EngCreatePalette. The driver associates a palette with a device by returning this handle to GDI.

See Also

DrvEnablePDEV, DrvQueryFont, DrvRealizeBrush, DrvTextOut