Jump to content

GpiOutlinePath: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
 
Line 70: Line 70:


==Related Functions==
==Related Functions==
*GpiBeginPath
* [[GpiBeginPath]]
*GpiEndPath
* [[GpiEndPath]]
*GpiFillPath
* [[GpiFillPath]]
*GpiModifyPath
* [[GpiModifyPath]]
*GpiPathToRegion
* [[GpiPathToRegion]]
*GpiPop
* [[GpiPop]]
*GpiSetAttrMode
* [[GpiSetAttrMode]]
*GpiSetAttrs
* [[GpiSetAttrs]]
*GpiSetBackColor
* [[GpiSetBackColor]]
*GpiSetBackMix
* [[GpiSetBackMix]]
*GpiSetClipPath
* [[GpiSetClipPath]]
*GpiSetColor
* [[GpiSetColor]]
*GpiSetDefAttrs
* [[GpiSetDefAttrs]]
*GpiSetLineEnd
* [[GpiSetLineEnd]]
*GpiSetLineJoin
* [[GpiSetLineJoin]]
*GpiSetLineType
* [[GpiSetLineType]]
*GpiSetLineWidth
* [[GpiSetLineWidth]]
*GpiSetMix
* [[GpiSetMix]]
*GpiStrokePath
* [[GpiStrokePath]]


[[Category:gpi]]
[[Category:gpi]]

Latest revision as of 19:33, 7 April 2025

This function draws the outline of a path.

Syntax

GpiOutlinePath(hps, lPath, lOptions)

Parameters

hps (HPS) - input
Presentation-space handle.
lPath (LONG) - input
Identifier of path to be outlined; it must be 1.
lOptions (LONG) - input
Options.
Reserved; must be 0.

Returns

lHits (LONG) - returns
Correlation and error indicators.
  • GPI_OK - Successful
  • GPI_HITS - Correlate hits
  • GPI_ERROR - Error.

Possible returns from WinGetLastError

PMERR_INV_HPS (0x207F)
An invalid presentation-space handle was specified.
PMERR_PS_BUSY (0x20F4)
An attempt was made to access the presentation space from more than one thread simultaneously.
PMERR_INV_PATH_ID (0x20AE)
An invalid path identifier parameter was specified.
PMERR_INV_RESERVED_FIELD (0x20C1)
An invalid reserved field was specified.
PMERR_PATH_UNKNOWN (0x20EE)
An attempt was made to perform a path function on a path that did not exist.

Calling Sequence

#define INCL_GPIPATHS /* Or use INCL_GPI, INCL_PM, */
#include <os2.h>

HPS     hps;       /*  Presentation-space handle. */
LONG    lPath;     /*  Identifier of path to be outlined; it must be 1. */
LONG    lOptions;  /*  Options. */
LONG    lHits;     /*  Correlation and error indicators. */

lHits = GpiOutlinePath(hps, lPath, lOptions);

Example Source Code

This example uses GpiOutlinePath to draw the outline of a path (in this case a triangle).


#define INCL_GPIPATHS           /* Path functions               */
#include <os2.h>

LONG   lHits;           /* correlation/error indicator          */
HPS    hps;             /* Presentation-space handle            */
POINTL ptlStart = { 0, 0 }; /* first vertex                     */
POINTL ptlTriangle[] = { 100, 100, 200, 0, 0, 0 }; /* vertices  */

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   */
 .
 .
lHits = GpiOutlinePath(hps, 1L, 0L);

Remarks

The outline of the path is drawn, using the line attributes, including cosmetic line width (see GpiSetLineWidth) but not geometric line width (see GpiSetLineWidthGeom). This normally has the same effect as if the lines, curves, and so on, which comprise the path, had been drawn without defining them as being within a path. However, if character strings (referencing outline fonts) are contained within the path, the outlines of the characters, without the interior fill, are drawn by GpiOutlinePath, giving the appearance of hollow characters.

Open figures within the path are not closed automatically.

When the outline of the path has been drawn, the path is deleted.

Graphic Elements and Orders

Element Type: OCODE_GOPTH

Order: Outline Path

Related Functions