jimm@amiga.UUCP (Jim Mackraz) (03/18/86)
1 -- ReportMouse() Intuition call -------------
The flag REPORTMOUSE in the Window structure (in the field Flags, not
IDCMPFlags) determines whether a window is to receive mouse movement
input. This flag may be set upon a window's opening by setting
the same flag in the NewWindow Flags field.
Changing the state of this flag was to be done using the ReportMouse()
Intuition function, but this function fails because of a problem
in its interface code.
One may work around this problem by (re-)setting the REPORTMOUSE flag
directly. We will be sure to make this method upward compatible.
MyReportMouse(w, bool)
struct Window *w;
BOOL bool;
{
if (bool) w->Flags |= REPORTMOUSE;
else w->Flags &= ~REPORTMOUSE;
}
Note that the IDCMPFlag MOUSEMOVE does not determine if mouse
movement input events are generated, just whether they are to
be passed via the IDCMP rather than fed along the input device
handler chain (i.e., to the console). If you want your
mouse movement input to come through the IDCMP (recommended),
but don't want it all the time, leave the MOUSEMOVE IDCMPFlag set,
and toggle the REPORTMOUSE window Flag.
2 -- DELTAMOVE IDCMPFlag -------------
Unfortunately, this feature also fails in released versions.
Its purpose is to provide you with mouse reports in delta-x/y
form, which is not only convenient, but represents true mouse
movements, not constrained by the pointer encountering screen
boundaries. In practice, this allows one to use the mouse for
functions which might otherwise call for a joystick or something.
This feature, as well as ReportMouse(), will be fixed in future
releases.
Please send any further questions/problems to me.
jimm