GreFullArcBoundary

GreFullArcBoundary draws a line by using the current line attributes around the edge of a full arc centered on the current (X,Y) position. The dimensions of the arc are defined as a multiplier that is applied to the current arc parameters. GreFullArcxxx functions do not affect the current position.

When correlating, the handling routine must return a hit when the pick aperture intersects the boundary. See Mix Modes.

This function can be hooked by the presentation driver.


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

Syntax
GreFullArcBoundary(hdc, fxMultiplier, pInstance, lFunction);

Parameters

 * hdc (HDC) - input
 * Device context handle.


 * fxMultiplier (FIXED) - input
 * Multiplier.


 * The value of this parameter defines the size of the required arc in relation to an arc drawn with the current arc parameters. The multiplier is a fixed-point value. The high-order WORD contains the integer portion; the low-order WORD contains the fractional portion. A value of 64KB gives a multiplier of 1. The implementation limit of the multiplier is 255. This value must not be negative.


 * pInstance (PVOID) - input
 * Pointer to instance data.


 * lFunction (ULONG) - input
 * High-order WORD=flags; low-order WORD=NGreFullArcBoundary.

Return Code

 * 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_MULTIPLIER
 * PMERR_INV_NESTED_FIGURES
 * PMERR_INV_PICK_APERTURE_POSN
 * PMERR_INV_RECT
 * PMERR_NOT_IN_PATH
 * PMERR_PATH_LIMIT_EXCEEDED
 * PMERR_PATH_UNKNOWN


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

Sample Code

 * 1) define INCL_GRE_ARCS
 * 2) include 

HDC     hdc;           /*  Device context handle. */ FIXED   fxMultiplier;  /*  Multiplier. */ PVOID   pInstance;     /*  Pointer to instance data. */ ULONG   lFunction;     /*  High-order WORD=flags; low-order WORD=NGreFullArcBoundary. */ LONG    rc;            /*  Return codes. */

rc = GreFullArcBoundary(hdc, fxMultiplier,      pInstance, lFunction); 