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