DIBENGINE


typedef struct {  
    WORD         deType;
    WORD         deWidth;
    WORD         deHeight;
    WORD         deWidthBytes;
    BYTE         dePlanes;
    BYTE         deBitsPixel;
    DWORD        deReserved1;
    DWORD        deDeltaScan;
    LPBYTE       delpPDevice;
    DWORD        deBitsOffset;
    WORD         deBitsSelector;
    WORD         deFlags;
    WORD         deVersion;
    LPBITMAPINFO deBitmapInfo;
    void         (FAR *deBeginAccess)();
    void         (FAR *deEndAccess)();
    DWORD        deDriverReserved;
} DIBENGINE;

Specifies the dimensions, attributes, and bits of the PDEVICE for the DIB engine.

deType

The type of drawing surface. Must be either TYPE_DIBENG (0x5250) or 0. If TYPE_DIBENG, the surface being drawn to is video memory, a DIB, or a color device-dependent bitmap (DDB). If 0, the surface is a monochrome bitmap, and the PDEVICE must be in the format of a PBITMAP structure, not a DIBENGINE structure.

deWidth

Width of DIB in pixels.

deHeight

Height of DIB in pixels.

deWidthBytes

Number of bytes in each raster line. The number of bytes must be a DWORD multiple; all raster lines must be aligned on 16-bit boundaries.

dePlanes

Number of planes in the bitmap. Must be one.

deBitsPixel

Number of bits per pixel.

deReserved1

Reserved, do not use

deDeltaScan

The number of bytes to the next scan line.

delpPDevice

Address of the physical device. This can be a pointer to either video memory, a device-dependent bitmap, or a device-independent bitmap.

deBits

Offset to an array of bits that specifies the pixels in the DIB. The array must be aligned on a 16-bit boundary.

deFlags

Additional flags. May be a combination of the following:

Value

Meaning

MINIDRIVER (0x0001)

Display driver

PALETTIZED (0x0002)

Palletized device

SELECTEDDIB (0x0004)

DIB Section

OFFSCREEN (0x0008)

Offscreen surface (use with VRAM)

BUSY (0x0010)

Disable the frame buffer

NOT_FRAMEBUFFER (0x0020)

Example: 8514/a or ATIM8

FIVE6FIVE (0x0040)

16 bpp, 565 color format.

NON64KBANK (0x0080)

Bank size is not 64K

VRAM (0x8000)

Physical surface (video memory)

BANKEDVRAM (0x4000)

VFlatD simulated

BANKEDSCAN (0x2000)

VFlatD simulated (rasters may cross bank boundary)

PALETTE_XLAT (0x1000)

Background palette xlat

VGADITHER (0x0800)

Dither to VGA colors (first 8, and last 8)

CTCHANGE (0x0400)

Color table has been changed

DITHER256 (0x0200)

Dither to 256 fixed colors


deVersion

Version number. The least significant bit is the minor version number and the most significant bit is the major version number. For Windows 95 (Windows 4.0) the version number is 0400h.

deBitmapInfo

Pointer to the BITMAPINFOHEADER

deBeginAccess

Begin surface access call back.

deEndAccess

End surface access call back.

deDriverReserved

Reserved for minidriver use.