Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
GpiBeginPath (1.2)
◄Function Group► ◄Overview► ◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
#define INCL_GPIPATHS
BOOL GpiBeginPath(hps, idPath)
HPS hps; /* presentation-space handle */
LONG idPath; /* path identifier */
The GpiBeginPath function starts a path bracket, that is, starts a sequence
of functions that define the shape and size of a path. GpiBeginPath sets the
path identifier and initializes the path, clearing any path created
previously with this identifier. All subsequent drawing functions, up to the
next GpiEndPath function, apply to the new path.
Parameter Description
────────────────────────────────────────────────────────────────────────────
hps Identifies the presentation space.
idPath Specifies the path identifier; for MS OS/2 version 1.2, it must
be 1.
Return Value
The return value is GPI_OK if the function is successful or GPI_ERROR if an
error occurred.
Errors
Use the WinGetLastError function to retrieve the error value, which may be
one of the following:
PMERR_ALREADY_IN_PATH
PMERR_INV_HPS
PMERR_INV_IN_AREA
PMERR_INV_PATH_ID
PMERR_PS_BUSY
Comments
Since there is a limit to the size of a path, any line or curve drawing
function within a path bracket that would exceed the limit returns the
PMERR_PATH_TOO_BIG error value.
Example
This example uses the GpiBeginPath function to create a path. The path, an
isosceles triangle, is given path identifier 1. After the path bracket is
ended using GpiEndPath, a subsequent call to the GpiFillPath function draws
and fills the path.
HPS hps;
POINTL ptlStart = { 0, 0 };
POINTL ptlTriangle[] = { 100, 100, 200, 0 };
GpiBeginPath(hps, 1L); /* start the path bracket */
GpiMove(hps, &ptlStart); /* move to starting point */
GpiPolyLine(hps, 2L, ptlTriangle); /* draw the three sides */
GpiCloseFigure(hps); /* close the triangle */
GpiEndPath(hps); /* end the path bracket */
GpiFillPath(hps, 1L, FPATH_ALTERNATE); /* draw and fill the path */
See Also
GpiCloseFigure, GpiEndPath, GpiFillPath, GpiModifyPath, GpiSetClipPath,
GpiSetLineWidthGeom, GpiStrokePath, WinGetLastError
♦