Jump to content

GrePolyFillet

From EDM2
Revision as of 18:21, 2 December 2019 by Ak120 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

GrePolyFillet draws a fillet on a series of connected lines with the first line starting at the current (X,Y) position. Upon completion, the current (X,Y) position is set to the last point in the series.

This function can be hooked by the presentation driver.

Simulation support
This function is simulated by a handling routine in the graphics engine.

Syntax

GrePolyFillet(hdc, paptlPoint, cPoints, pInstance, lFunction)

Parameters

hdc (HDC) - input
Device context handle.
paptlPoint (PPOINTL) - input
Pointer to coordinates array.
An array of cPoints (X,Y) pairs, which contain the (X,Y) coordinates of the end points for the lines. If COM_TRANSFORM is not set, the function expects the points to be in screen coordinates.
cPoints (LONG) - input
Number of coordinate pairs.
If this value is passed as 0, the handling routine does nothing and returns Successful.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGrePolyFillet.

Returns

rc (LONG) - returns
Return codes.
This function returns an integer (cHits) indicating, where appropriate, whether correlation hits were detected:
GPI_OK: Successful
GPI_HITS: Successful with correlate hit (returned by display drivers when the correlate flag is ON, and a hit is detected)
GPI_ERROR: Error

Possible Errors Detected:

When an error is detected, the handling routine must call WinSetErrorInfo to post the condition. Error codes for conditions that the handling routine is expected to check include:

  • PMERR_BASE_ERROR
  • PMERR_BITMAP_NOT_SELECTED
  • PMERR_COORDINATE_OVERFLOW
  • PMERR_DEV_FUNC_NOT_INSTALLED
  • PMERR_HDC_BUSY
  • PMERR_INV_COLOR_DATA
  • PMERR_INV_COLOR_INDEX
  • PMERR_INV_COORD_SPACE
  • PMERR_INV_HDC
  • PMERR_INV_IN_AREA
  • PMERR_INV_IN_PATH
  • PMERR_INV_LENGTH_OR_COUNT
  • PMERR_INV_PICK_APERTURE_POSN
  • PMERR_INV_RECT
  • PMERR_PATH_LIMIT_EXCEEDED
  • PMERR_PATH_UNKNOWN

Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.

Remarks

The shape of the fillet is controlled by a set of coordinates for a series of two or more connected lines. The fillet is tangential to the start point of the first line and to the end point of the last line. When more than two sets of coordinates are supplied, the fillet passes through the mid-points of the intermediate lines. An individual fillet always lies within the area bounded by the start, end, and control points.

Refer to function "GpiPolyFillet" in the Presentation Manager Programming Reference for more information.