GDI Drawing and Related Services

To support the CLIPOBJ, BRUSHOBJ, and XFORMOBJ structures, GDI offers several drawing services, listed in the following table.

GDI Drawing Service Function Description

BRUSHOBJ_hGetColorTransform

Retrieves the color transform for the specified brush.

BRUSHOBJ_pvAllocRbrush

Allocates memory for the driver's realization of a brush.

BRUSHOBJ_pvGetRbrush

Returns a pointer to the driver's realization of the brush. Realizes the brush if it has not yet been realized.

BRUSHOBJ_ulGetBrushColor

Returns the RGB color of the specified solid brush.

CLIPOBJ_bEnum

Retrieves a batch of rectangles from the clip region.

CLIPOBJ_cEnumStart

Sets parameters for enumeration of the rectangles in all or part of the clipped region. (The region can be enumerated once without calling this function, but subsequent enumerations require this function's use).

CLIPOBJ_ppoGetPath

Is used to retrieve complicated regions as a path.

EngAlphaBlend

Provides bit-block transfer capabilities with alpha blending. This is the GDI simulation for the DrvAlphaBlend function.

EngBitBlt

Provides general bit-block transfer capabilities either between device-managed surfaces, or between a device-managed surface and a GDI-managed standard format bitmap. This is the GDI simulation for the DrvBitBlt function.

EngControlSprites

Tears down or redraws sprites on the specified WNDOBJ area.

EngCopyBits

Translates between device-managed raster surfaces and GDI standard-format bitmaps. This is the GDI simulation for the DrvCopyBits function.

EngCreateClip

Allocates a CLIPOBJ for the driver's temporary use. The driver should call the EngDeleteClip function to delete it when it is no longer needed.

EngDeleteClip

Deletes a CLIPOBJ allocated with the EngCreateClip function.

EngDeviceIoControl

Sends a control code to the specified video miniport driver, causing the device to perform the specified operation.

EngFillPath

Fills (paints) a specified path. This is the GDI simulation for the DrvFillPath function.

EngGradientFill

Shades the specified graphics primitives. This is the GDI simulation for the DrvGradientFill function.

EngLineTo

Draws a single, solid, integer-only cosmetic line. This is the GDI simulation for the DrvLineTo function.

EngMovePointer

Moves the engine-managed pointer on the device. This is the GDI simulation for the DrvMovePointer function.

EngPaint

Paints a specified region. This is the GDI simulation for the obsolete DrvPaint function.

EngPlgBlt

Performs a rotate bit-block transfer. This is the GDI simulation for the DrvPlgBlt function.

EngSetPointerShape

Sets the shape of the pointer.

EngSetPointerTag

Creates a shape that is ORed with the application's pointer shape on DrvSetPointerShape calls to other associated drivers in a mirrored system.

This function is obsolete for Windows 2000 and later.

EngStretchBlt

Performs a stretching bit-block transfer. This is the GDI simulation for the DrvStretchBlt function.

EngStretchBltROP

Performs a stretching bit-block transfer using a ROP. This is the GDI simulation for the DrvStretchBltROP function.

EngStrokeAndFillPath

Strokes (draws) a path and fills it at the same time. This is the GDI simulation for the DrvStrokeAndFillPath function.

EngStrokePath

Strokes (draws) a path. This is the GDI simulation for the DrvStrokePath function.

EngTransparentBlt

Performs a transparent blt. This is the GDI simulation for the DrvTransparentBlt function.

XFORMOBJ_bApplyXform

Applies the given transform or its inverse to the given array of points.

XFORMOBJ_iGetFloatObjXform

Downloads a FLOATOBJ transform to the driver.

XFORMOBJ_iGetXform

Downloads a transform to the driver.