PolyBezier
The PolyBezier function draws one or more Bézier curves.
BOOL PolyBezier(
HDC hdc, // handle to device context
CONST POINT *lppt, // endpoints and control points
DWORD cPoints // count of endpoints and control points
);
Parameters
hdc
[in] Handle to a device context.
lppt
[in] Pointer to an array of POINT structures that contain the endpoints and control points of the curve(s).
cPoints
[in] Specifies the number of points in the lppt array. This value must be one more than three times the number of curves to be drawn, because each Bézier curve requires two control points and an endpoint, and the initial curve requires an additional starting point.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero.
Windows NT/2000: To get extended error information, call GetLastError
Remarks
Th Polybezier function draws cubic Bézier curves by using the endpoints and control points specified by the lppt parameter. The first curve is drawn from the first point to the fourth point by using the second and third points as control points. Each subsequent curve in the sequence needs exactly three more points: the ending point of the previous curve is used as the starting point, the next two points in the sequence are control points, and the third is the ending point.
The current position is neither used nor updated by the PolyBezier function. The figure is not filled.
This function draws lines by using the current pen.
Windows 95/98: PolyBezier cannot draw more than a certain number of points. The limit depends on the line width (that is, the width of the pen selected into the DC), as shown in the following table.
Line width Maximum points allowed
line width is 1 16K
line width > 1 (that is, wideline) and device supports wideline 16K
line width > 1 but device does not support wideline approximately 1360 (that is, approximately 16K / 12)
Any extra points are ignored. To draw a line with more points, divide the data into groups that have less than the maximum number of points and call the function for each group of points. Remember to connect the line segments.