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