MouSetPtrShape
Bindings: C,
MASM
This call allows a process to set the pointer shape and size to be used
as the mouse device driver pointer image for all applications in a session.
MouSetPtrShape
(PtrBuffer, PtrDefRec, DeviceHandle)
PtrBuffer (PBYTE) - input
Address of a buffer
containing the bit image used by the mouse device driver as the pointer
shape for that session. The buffer consists of AND and XOR pointer masks
in a format meaningful to the pointer draw device driver.
For CGA compatible text modes (0, 1, 2, and 3) the following describes the
AND and XOR pointer mask bit definitions for each character cell of the
masks. Bit values are:
Bit
15
14-12
11
10-8
7-0
PtrDefRec
(PPTRSHAPE) - input
TotLength = (height in chars) * (width in chars) * 2 * 2
= 1 * 1 * 2 * 2
= 4
Graphics Mode
Width-in-pels
must be a multiple of 8.
TotLength = (height in pels)*(width in pels)*(bits per pel)*2/8
Modes 4 and 5 (320 X 200)
TotLength = (height) * (width) * 2 * 2 / 8
Mode 6 (640 X 200)
TotLength = (height) * (width) * 1 * 2 / 8
Length calculations produce byte boundary buffer sizes.
col
(USHORT)
Number of columns in the mouse shape.
In graphics modes, this field contains the pel width (columns) of the mouse
shape for the session and must be greater than or equal to 1. In text modes,
col must equal 1.
row (USHORT)
Number
of rows in the mouse shape. In graphics modes, this field contains the pel
height (rows) of the mouse shape for the session and must be greater than
or equal to 1. In text modes, row must equal 1.
coloffset
(USHORT)
This value is returned by the mouse
device driver to indicate the relative column offset within the pointer
image. The value defines the center (hotspot) of the pointer image. This
value is a signed number that represents either character or pel offset,
depending on the display mode.
rowoffset (USHORT)
This value is returned by the mouse device driver
to indicate the relative row offset within the pointer image. The value
defines the center (hotspot) of the pointer image. This value is a signed
number that represents either character or pel offset, depending on the
display mode.
Programming Note:
For
other custom displays and for the extended modes of the EGA attachment,
it is possible to set the display to modes that require multiple bit planes.
In these cases, the area sized by the row and column limits must be repeated
for each bit plane supported in that mode. Consequently, the calling process
must supply enough data to allow the mouse device driver to draw the pointer
shape on all currently supported bit planes in that session. For text modes,
row and column offset must equal 0.
DeviceHandle
(HMOU) - input
Contains the handle of the mouse
device obtained from a previous MouOpen.
rc (USHORT) - return
Return
code descriptions are:
- NO_ERROR
385
387
466
501
505
Remarks
An application passes a data image to the mouse device driver that the mouse
driver applies to the screen whenever the logical pointer position is not
located in the application-defined collision area.
The application synchronizes use of the screen with the mouse driver by
way of MouRemovePtr and MouDrawPtr.
The pointer shape is dependent on the display device driver used to support
the display device. OS/2 supports text and graphics modes. These modes
are restricted to modes 0 through 7, depending on the display device. Character
modes (modes 0, 1, 2, 3, and 7) support the pointer cursor only as a reverse
block character. This reverse block character has a character height and
width equal to 1.
The pointer shape is mapped by the Pointer Draw Device Driver and determined
completely by the application. The height and width may vary from 1 through
the pel size of the display screen. For restrictions concerning the Pointer
Draw Device Driver, see IBM Operating System/2 Version 1.2 I/O Subsystems
And Device Support Volume 1.
[Back: MouSetPtrPos]
[Next: MouSetScaleFact]