GreFullArcBoundary: Difference between revisions
Appearance
Created page with "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 define..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
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. | 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. | 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. | This function can be hooked by the presentation driver. | ||
; Simulation support: This function is simulated by a handling routine in the graphics engine. | ;Simulation support: This function is simulated by a handling routine in the graphics engine. | ||
==Syntax== | ==Syntax== | ||
GreFullArcBoundary(hdc, fxMultiplier, pInstance, lFunction) | GreFullArcBoundary(hdc, fxMultiplier, pInstance, lFunction) | ||
==Parameters== | ==Parameters== | ||
;hdc (HDC) - input | ;hdc (HDC) - input:Device context handle. | ||
: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. | |||
;fxMultiplier (FIXED) - input | ;pInstance (PVOID) - input:Pointer to instance data. | ||
:Multiplier. | ;lFunction (ULONG) - input:High-order WORD=flags; low-order WORD=NGreFullArcBoundary. | ||
: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== | ==Return Code== | ||
;rc (LONG) - returns | ;rc (LONG) - returns:Return codes. | ||
:Return codes. | :This function returns an integer (cHits) indicating, where appropriate, whether correlation hits were detected: | ||
:*GPI_OK Successful | |||
:This function returns an integer (cHits) indicating, where appropriate, whether correlation hits were detected: | :*GPI_HITS Successful with correlate hit (returned by display drivers when the correlate flag is ON, and a hit is detected) | ||
:*GPI_ERROR Error | |||
:*GPI_OK Successful | :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: | ||
:*GPI_HITS Successful with correlate hit (returned by display drivers when the correlate flag is ON, and a hit is detected) | :*PMERR_BASE_ERROR | ||
:*GPI_ERROR Error | :*PMERR_BITMAP_NOT_SELECTED | ||
:*PMERR_COORDINATE_OVERFLOW | |||
:Possible Errors Detected: | :*PMERR_DEV_FUNC_NOT_INSTALLED | ||
:*PMERR_HDC_BUSY | |||
:*PMERR_BASE_ERROR | :*PMERR_INV_COLOR_DATA | ||
:*PMERR_BITMAP_NOT_SELECTED | :*PMERR_INV_COLOR_INDEX | ||
:*PMERR_COORDINATE_OVERFLOW | :*PMERR_INV_COORD_SPACE | ||
:*PMERR_DEV_FUNC_NOT_INSTALLED | :*PMERR_INV_HDC | ||
:*PMERR_HDC_BUSY | :*PMERR_INV_IN_AREA | ||
:*PMERR_INV_COLOR_DATA | :*PMERR_INV_IN_PATH | ||
:*PMERR_INV_COLOR_INDEX | :*PMERR_INV_LENGTH_OR_COUNT | ||
:*PMERR_INV_COORD_SPACE | :*PMERR_INV_MULTIPLIER | ||
:*PMERR_INV_HDC | :*PMERR_INV_NESTED_FIGURES | ||
:*PMERR_INV_IN_AREA | :*PMERR_INV_PICK_APERTURE_POSN | ||
:*PMERR_INV_IN_PATH | :*PMERR_INV_RECT | ||
:*PMERR_INV_LENGTH_OR_COUNT | :*PMERR_NOT_IN_PATH | ||
:*PMERR_INV_MULTIPLIER | :*PMERR_PATH_LIMIT_EXCEEDED | ||
:*PMERR_INV_NESTED_FIGURES | :*PMERR_PATH_UNKNOWN | ||
:*PMERR_INV_PICK_APERTURE_POSN | :Refer to the "Error Explanations" section in the ''Presentation Manager Programming Reference'' for further explanation. | ||
:*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== | ==Sample Code== | ||
Line 70: | Line 56: | ||
LONG rc; /* Return codes. */ | LONG rc; /* Return codes. */ | ||
rc = GreFullArcBoundary(hdc, fxMultiplier, | rc = GreFullArcBoundary(hdc, fxMultiplier, pInstance, lFunction); | ||
</PRE> | </PRE> | ||
[[Category:Gre]] | [[Category:Gre]] |
Latest revision as of 04:26, 24 March 2020
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
#define INCL_GRE_ARCS #include <os2.h> 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);