WinStretchPointer: Difference between revisions
Appearance
Created page with "This function draws a pointer in the passed '''hps''' at the passed coordinates '''lx''', '''ly''' and at the passed size '''lcx''', '''lcy'''. ==Syntax== WinStretchPointer(hps, lx, ly, lcx, lcy, hptrPointer, ulHalftone) ==Parameters== ;hps (HPS) - input : Presentation space handle into which the pointer is drawn. This can be either a micro presentation space or a normal presentation space (see GpiCreatePS). ;lx (LONG) - input : X coordinate at which to dr..." |
|||
| Line 90: | Line 90: | ||
* [[WinQuerySysPointer]] | * [[WinQuerySysPointer]] | ||
* [[WinQuerySysPointerData]] | * [[WinQuerySysPointerData]] | ||
* [WinSetPointer]] | * [[WinSetPointer]] | ||
* [[WinSetPointerPos]] | * [[WinSetPointerPos]] | ||
* [[WinSetSysPointerData]] | * [[WinSetSysPointerData]] | ||
Latest revision as of 17:14, 24 April 2025
This function draws a pointer in the passed hps at the passed coordinates lx, ly and at the passed size lcx, lcy.
Syntax
WinStretchPointer(hps, lx, ly, lcx, lcy, hptrPointer, ulHalftone)
Parameters
- hps (HPS) - input
- Presentation space handle into which the pointer is drawn. This can be either a micro presentation space or a normal presentation space (see GpiCreatePS).
- lx (LONG) - input
- X coordinate at which to draw the pointer, in device coordinates.
- ly (LONG) - input
- Y coordinate at which to draw the pointer, in device coordinates.
- lcx (LONG) - input
- X size at which to draw the pointer, in device coordinates.
- lcy (LONG) - input
- Y size at which to draw the pointer, in device coordinates.
- hptrPointer (HPOINTER) - input
- Pointer handle. The pointer should be loaded using WinLoadPointer, WinCreatePointer, or WinCreatePointerIndirect.
- ulHalftone (ULONG) - input
- Shading control with which to draw the pointer:
- DP_NORMAL: As it normally appears.
- DP_HALFTONED: With a halftone pattern where black normally appears.
- DP_INVERTED: Inverted-black for white, and white for black.
Returns
- fSuccess (BOOL) - returns
- Success indicator:
- TRUE: Successful completion.
- FALSE: The function failed.
Remarks
This function should only be used in draw mode (DM_DRAW) to a screen device context.
The function checks the supplied pointer to determine whether it contains a pointer format matching the size passed. If there is no such match the default format is stretched to size.
Errors
Possible returns from WinGetLastError:
- PMERR_INVALID_HPTR (0x101B)
- An invalid pointer handle was specified.
- PMERR_INVALID_FLAG (0x1019)
- An invalid bit was set for a parameter. Use constants defined by PM for options, and do not set any reserved bits.
Example Code
#define INCL_WINPOINTERS /* Or use INCL_WIN, INCL_PM, */
#include <os2.h>
HPS hps; /* Presentation space handle into which the pointer is drawn. */
LONG lx; /* X coordinate at which to draw the pointer, in device coordinates. */
LONG ly; /* Y coordinate at which to draw the pointer, in device coordinates. */, in device coordinates. */
LONG lcy; /* Y size at which to draw the pointer, in device coordinates. */
HPOINTER hptrPointer; /* Pointer handle. */
ULONG ulHalftone; /* Shading control with which to draw the pointer: */
BOOL fSuccess; /* Success indicator: */
fSuccess = WinStretchPointer(hps, lx, ly,
lcx, lcy, hptrPointer, ulHalftone);
This example draws a pointer loaded using WinLoadPointer in response to a paint message (WM_PAINT).
#define INCL_WINPOINTERS /* Window Pointer functions */
#include <os2.h>
HPS hps; /* Presentation-space handle */
HWND hwnd; /* Window handle */
HPOINTER hptr; /* Pointer handle */
BOOL fSuccess; /* Success indicator */
ULONG ulHalftone=DP_NORMAL; /* Draw with normal shading */
ULONG idPointer=ID_MYPOINTER; /* Identifier of pointer in */
/* executable resources */
case WM_CREATE:
hptr = WinLoadPointer(HWND_DESKTOP, NULLHANDLE, idPointer);
case WM_PAINT:
hps = WinBeginPaint(hwnd, NULLHANDLE, NULL);
WinStretchPointer(hps, 100, 100, 16, 16, hptr, ulHalftone);
WinEndPaint(hps);