Category : Miscellaneous Language Source Code
Archive   : RXMOUSE.ZIP
Filename : RXMOUSE.DOC

 
Output of file : RXMOUSE.DOC contained in archive : RXMOUSE.ZIP
RXMOUSE - A function package for Personal Rexx allowing access to a mouse

Patrick J. Mueller - 1989

installation and removal:
------------------------
To install the function package, execute the command

RXMOUSE

To install without any messages being printed, execute the command

RXMOUSE > NUL

To un-install the function package, execute the command

RXMOUSE UNLOAD

This will NOT release the memory, it will only make the functions
inaccesible for REXX programs.

To un-install the function package AND release the memory, execute the command

RXUNLOAD RXMOUSE

RXUNLOAD is a utility provided by Mansfield. It is advertised as only
working with some Mansfield supplied programs, but seems to work well
with this package as well. Maybe someday it will stop working. In this
case, the RXMOUSE UNLOAD call should be made to un-install the functions,
and some other program should be used to release the memory.


demonstration:
--------------
The TSTMOUSE.REX file included is an example of how the functions
may be used.


functions included:
------------------
The functions included were ones that are available with the INT 33
interface provided with the Microsoft Mouse device driver. The
functions are not described well in the manual I have, so my descriptions
aren't too great either

mouse_init()
------------
initialize the mouse to default values
returns

mouse_show_cursor()
-------------------
turn on cursor

mouse_hide_cursor()
-------------------
turn off cursor

mouse_get_but_pos()
-------------------
returns a string of 4 numbers with the following values

word 1 - x coordinate
word 2 - y coordinate
word 3 - 1 if left button is depressed, 0 otherwise
word 4 - 1 if right button is depressed, 0 otherwise

mouse_set_cur_pos(x,y)
----------------------
set the cursor to the desired position.

mouse_get_but_press()
---------------------
returns a string of 8 numbers with the following values

word 1 - left button - status
word 2 - left button - number of times button has been pressed
since the last time this function was called
word 3 - left button - x coordinate at last press
word 4 - left button - y coordinate at last press
word 5 - right button - status
word 6 - right button - number of times button has been pressed
since the last time this function was called
word 7 - right button - x coordinate at last press
word 8 - right button - y coordinate at last press

mouse_get_but_release()
-----------------------
returns a string of 8 numbers with the following values

word 1 - left button - status
word 2 - left button - number of times button has been released
since the last time this function was called
word 3 - left button - x coordinate at last release
word 4 - left button - y coordinate at last release
word 5 - right button - status
word 6 - right button - number of times button has been released
since the last time this function was called
word 7 - right button - x coordinate at last release
word 8 - right button - y coordinate at last release


mouse_xy_range(x_min,x_max,y_min,y_max)
---------------------------------------
sets the minimum and maximum values that can be returned from the
mouse.

mouse_text_cursor()
-------------------
set the mouse to work in text graphic modes - uses a default 'reverse'
mask for the mask so it can be found easily.

notes:
------
- only two buttons of the mouse are supported and assumed

- a mouse_init() call should be made at the start of your programs

- mouse_show_cursor and mouse_hide_cursor update a variable that
determines whether the mouse should be displayed. mouse_show_cursor
increments the flag, and mouse_hide_cursor decrements the flag. When
the flag is less than 0, the mouse is hidden, otherwise it is
displayed. After a mouse_init() the flag is set to -1.

- corrdinates used by this function package are in pixels. In
non-graphics video modes, these values will be multiples of 8,
where the origin (0,0) is the upper-left corner of the screen.
x is the horizontal axis and y is the vertical axis.



recompiling the source:
----------------------
The source and a make file are included for Microsoft QuickC. It should
run under IBM C/2 and Microsoft C 5.?+. In particular, notice the call
to EXEMOD to change the maximum allocated space. This is done only to
change the size of the loaded function pacakge from 80K to about 20K.
RXMOUSE can be run without it, although it will use a lot more memory.
I have had problems using RXUNLOAD with the max < 100, but it seems to
work fine at 200.

Also, in the link statement I link REXX.LIB. This is a library I created
from the .OBJ files provided by Mansfield.


  3 Responses to “Category : Miscellaneous Language Source Code
Archive   : RXMOUSE.ZIP
Filename : RXMOUSE.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/