When Windows calls the Enable function the first time, a graphics driver should initialize the members of the GDIINFO structure that contain information about the lines, curves, and geometric shapes that the device can draw. The following table identifies these members and their purpose:
GDIINFO member | Purpose |
dpCurves | Specifies the types of curves and curved objects (circles, pies, chords, and ellipses) that a device can draw. |
dpLines | Specifies the types of lines that a device can draw. |
dpPolygonals | Specifies the types of geometric shapes (polygons, rectangles, and filled shapes) that a device can draw. |
Depending on the line, curve, and geometric-shape capabilities of a device, the graphics driver should support as many as thirteen variations of the Output function. If a device can draw arcs, ellipses, pies, chords, circles, Bezier splines or rectangles with rounded corners, the driver should set the appropriate values for the dpCurves member of the GDIINFO structure and support the corresponding calls to the Output function. (For example, if a driver sets the CC_ELLIPSES value for dpCurves, it must support the call to Output when the wStyle parameter is OS_ELLIPSE). If a device can draw lines or polylines of various widths and styles, the driver should set the appropriate values for the dpLines member of the GDIINFO structure and support the corresponding calls to the Output function. If a device can draw polygons, rectangles, or filled shapes, the driver should set the appropriate values for the dpPolygonals member of the GDIINFO structure and support the corresponding calls to the Output function.
See also Enable, GDIINFO, Output(OS_ALTPOLYGON), Output(OS_ARC), Output(OS_BEGINNSCAN), Output(OS_CHORD), Output(OS_CIRCLE), Output(OS_ELLIPSE), Output(OS_ENDNSCAN), Output(OS_PIE), Output(OS_POLYBEZIER), Output(OS_POLYLINE), Output(OS_POLYPOLYGON), Output(OS_POLYSCANLINE), Output(OS_RECTANGLE), Output(OS_ROUNDRECT), Output(OS_SCANLINES), Output(OS_WINDPOLYGON)