GreQueryWidthTable: Difference between revisions
Appearance
Created page with "GreQueryWidthTable stores, at the location addressed by paWidthTable, an array of world coordinates representing the width-table information of the currently selected font. ..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
GreQueryWidthTable stores, at the location addressed by paWidthTable, an array of world coordinates representing the width-table information of the currently selected font. | GreQueryWidthTable stores, at the location addressed by paWidthTable, an array of world coordinates representing the width-table information of the currently selected font. | ||
This function must be supported by the presentation driver. GreQueryWidthTable is called by the function GpiQueryWidthTable. | This function must be supported by the presentation driver. GreQueryWidthTable is called by the function GpiQueryWidthTable. | ||
;Simulation support: None. This function is mandatory for all drivers. | ;Simulation support: None. This function is mandatory for all drivers. | ||
==Syntax== | ==Syntax== | ||
GreQueryWidthTable(hdc, lFirstChar, cWidthTable, | GreQueryWidthTable(hdc, lFirstChar, cWidthTable, | ||
paWidthTable, pInstance, lFunction) | paWidthTable, pInstance, lFunction) | ||
==Parameters== | ==Parameters== | ||
;hdc (HDC) - input | ;hdc (HDC) - input:Device context handle. | ||
:Device context handle. | ;lFirstChar (LONG) - input:Code point of the initial character for which width-table information is required. | ||
;cWidthTable (LONG) - input:Count of widths in the width-table data. | |||
;lFirstChar (LONG) - input | ;paWidthTable (PLONG) - input:Pointer to buffer of width-table data. | ||
:Code point of the initial character for which width-table information is required. | ;pInstance (PVOID) - input:Pointer to instance data. | ||
;lFunction (ULONG) - input:High-order WORD=flags; low-order WORD=NGreQueryWidthTable. | |||
;cWidthTable (LONG) - input | |||
:Count of widths in the width-table data. | |||
;paWidthTable (PLONG) - input | |||
:Pointer to buffer of width-table data. | |||
;pInstance (PVOID) - input | |||
:Pointer to instance data. | |||
;lFunction (ULONG) - input | |||
:High-order WORD=flags; low-order WORD=NGreQueryWidthTable. | |||
==Return Code== | ==Return Code== | ||
;rc (BOOL) - returns | ;rc (BOOL) - returns:Return Code. | ||
:Return Code. | :On completion, the handling routine must return a BOOLEAN value to indicate success or an error. | ||
:*TRUE Successful | |||
:On completion, the handling routine must return a BOOLEAN value to indicate success or an error. | :*FALSE 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: | |||
:*TRUE Successful | :*PMERR_COORDINATE_OVERFLOW | ||
:*FALSE Error | :*PMERR_DEV_FUNC_NOT_INSTALLED | ||
:*PMERR_EXCEEDS_MAX_SEG_LENGTH | |||
: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_HDC_BUSY | ||
:*PMERR_INSUFFICIENT_MEMORY | |||
:*PMERR_COORDINATE_OVERFLOW | :*PMERR_INV_CHAR_MODE_ATTR | ||
:*PMERR_DEV_FUNC_NOT_INSTALLED | :*PMERR_INV_CODEPAGE | ||
:*PMERR_EXCEEDS_MAX_SEG_LENGTH | :*PMERR_INV_COORD_SPACE | ||
:*PMERR_HDC_BUSY | :*PMERR_INV_FIRST_CHAR | ||
:*PMERR_INSUFFICIENT_MEMORY | :*PMERR_INV_HDC | ||
:*PMERR_INV_CHAR_MODE_ATTR | :*PMERR_INV_LENGTH_OR_COUNT | ||
:*PMERR_INV_CODEPAGE | :*PMERR_INV_MATRIX_ELEMENT | ||
:*PMERR_INV_COORD_SPACE | :*PMERR_INV_SETID | ||
:*PMERR_INV_FIRST_CHAR | :*PMERR_INV_TRANSFORM_TYPE | ||
:*PMERR_INV_HDC | :Refer to the "Error Explanations" section in the ''Presentation Manager Programming Reference'' for further explanation. | ||
:*PMERR_INV_LENGTH_OR_COUNT | |||
:*PMERR_INV_MATRIX_ELEMENT | |||
:*PMERR_INV_SETID | |||
:*PMERR_INV_TRANSFORM_TYPE | |||
:Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation. | |||
==Remarks== | ==Remarks== | ||
The handling routine must use GreConvert (see GreConvert) to transform the width-table information from device coordinates to world coordinates. | The handling routine must use GreConvert (see [[GreConvert]]) to transform the width-table information from device coordinates to world coordinates. | ||
==Sample Code== | ==Sample Code== | ||
Line 65: | Line 48: | ||
HDC hdc; /* Device context handle. */ | HDC hdc; /* Device context handle. */ | ||
LONG lFirstChar; /* Code point of the initial character for which width-table information is required. */ | LONG lFirstChar; /* Code point of the initial character for which width-table | ||
information is required. */ | |||
LONG cWidthTable; /* Count of widths in the width-table data. */ | LONG cWidthTable; /* Count of widths in the width-table data. */ | ||
PLONG paWidthTable; /* Pointer to buffer of width-table data. */ | PLONG paWidthTable; /* Pointer to buffer of width-table data. */ | ||
Line 74: | Line 58: | ||
rc = GreQueryWidthTable(hdc, lFirstChar, cWidthTable, | rc = GreQueryWidthTable(hdc, lFirstChar, cWidthTable, | ||
paWidthTable, pInstance, lFunction); | paWidthTable, pInstance, lFunction); | ||
</PRE> | </PRE> | ||
[[Category:Gre]] | [[Category:Gre]] |
Latest revision as of 01:14, 25 March 2020
GreQueryWidthTable stores, at the location addressed by paWidthTable, an array of world coordinates representing the width-table information of the currently selected font.
This function must be supported by the presentation driver. GreQueryWidthTable is called by the function GpiQueryWidthTable.
- Simulation support
- None. This function is mandatory for all drivers.
Syntax
GreQueryWidthTable(hdc, lFirstChar, cWidthTable, paWidthTable, pInstance, lFunction)
Parameters
- hdc (HDC) - input
- Device context handle.
- lFirstChar (LONG) - input
- Code point of the initial character for which width-table information is required.
- cWidthTable (LONG) - input
- Count of widths in the width-table data.
- paWidthTable (PLONG) - input
- Pointer to buffer of width-table data.
- pInstance (PVOID) - input
- Pointer to instance data.
- lFunction (ULONG) - input
- High-order WORD=flags; low-order WORD=NGreQueryWidthTable.
Return Code
- rc (BOOL) - returns
- Return Code.
- On completion, the handling routine must return a BOOLEAN value to indicate success or an error.
- TRUE Successful
- FALSE 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_COORDINATE_OVERFLOW
- PMERR_DEV_FUNC_NOT_INSTALLED
- PMERR_EXCEEDS_MAX_SEG_LENGTH
- PMERR_HDC_BUSY
- PMERR_INSUFFICIENT_MEMORY
- PMERR_INV_CHAR_MODE_ATTR
- PMERR_INV_CODEPAGE
- PMERR_INV_COORD_SPACE
- PMERR_INV_FIRST_CHAR
- PMERR_INV_HDC
- PMERR_INV_LENGTH_OR_COUNT
- PMERR_INV_MATRIX_ELEMENT
- PMERR_INV_SETID
- PMERR_INV_TRANSFORM_TYPE
- Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.
Remarks
The handling routine must use GreConvert (see GreConvert) to transform the width-table information from device coordinates to world coordinates.
Sample Code
#define INCL_GRE_STRINGS #include <os2.h> HDC hdc; /* Device context handle. */ LONG lFirstChar; /* Code point of the initial character for which width-table information is required. */ LONG cWidthTable; /* Count of widths in the width-table data. */ PLONG paWidthTable; /* Pointer to buffer of width-table data. */ PVOID pInstance; /* Pointer to instance data. */ ULONG lFunction; /* High-order WORD=flags; low-order WORD=NGreQueryWidthTable. */ BOOL rc; /* Return Code. */ rc = GreQueryWidthTable(hdc, lFirstChar, cWidthTable, paWidthTable, pInstance, lFunction);