GreCharStr
Appearance
GreCharStr draws a string of character cells from the LVB to the device context.
- Simulation support
- This function is mandatory for display drivers. For other drivers, it is simulated by a handling routine in the graphics engine.
Syntax
GreCharStr(hdc, pVioPS, pCharRect, pInstance, lFunction);
Parameters
- hdc (HDC) - input
- The device context handle.
- pVioPS (VioPresentationSpace *) - input
- A pointer to the Vio presentation space.
- pCharRect (LPGridRectRef) - input
- A pointer to parameter block. This is a GridStringRef structure:
- StartRow
- The starting row (relative to the bottom left of the LVB) of the character rectangle to be drawn
- StartCol
- The starting column (relative to the bottom left of the LVB) of the character rectangle to be drawn
- StringLength
- Number of characters to be written
- pInstance (PVOID) - input
- A pointer to instance data.
- lFunction (ULONG) - input
- High-order WORD=flags; low-order WORD=NGreCharStr.
Return Code
- rc (LONG) - returns
- Return codes.
This function returns a LONG value as an error indicator.
- NO_ERROR Successful.
- GRE_INVALID_COLUMN_INDEX Invalid column index.
- CE_INVALID_PRESENTATION_SPACE Error. For example, this message might be returned as a result of an invalid CellByteSize.
- CE_INVALID_ROW_INDEX Invalid row index.
- GRE_NEGATIVE_LENGTH Negative length.
Remarks
The attributes for each character are applied by the handling routine as the character is drawn. When the end of a row is reached, the next character is drawn in the first cell of the next row. Character drawing continues until either the string or the logical video buffer is exhausted.
Example Code
#define INCL_AVIOP #include <os2.h> HDC hdc; /* The device context handle. */ VioPresentationSpace *pVioPS; /* A pointer to the Vio presentation space. */ LPGridRectRef pCharRect; PVOID pInstance; /* A pointer to instance data. */ ULONG lFunction; /* High-order WORD=flags; low-order WORD=NGreCharStr. */ LONG rc; /* Return codes. */ rc = GreCharStr(hdc, pVioPS, pCharRect, pInstance, lFunction);