/***************************************************************************

	     Microsoft Mouse Driver v1.0 for BGI graphics modes

			     By Erik Kangas

			       July 1992

				  v1.5

 **************************************************************************/


extern "C" {

int  _Cdecl MouseInit();              // Must be called first, sets up env.
void _Cdecl MouseClose();             // Must be called at end, fixes env.
int  _Cdecl MHidden();                // Number of layers of hiding
int  _Cdecl MActive();                // Is mouse driver present?
void _Cdecl MLeftPressed();           // gets Mspressed for left button
void _Cdecl MRightPressed();          // gets Mspressed for right button
void _Cdecl MLeftReleased();          // gets Msreleased for left button
void _Cdecl MRightReleased();         // gets Msreleased for right button
void _Cdecl MSetXRange(int,int);      // set cursor range horiz & vert
void _Cdecl MSetYRange(int,int);      // does not range check the values!
void _Cdecl MSetPos(int,int);         // set cursor pixel position
void _Cdecl MGetStatus();             // Set button status and cur. position
void _Cdecl MHideCursor();            // don't display cursor
void _Cdecl MShowCursor();            // display cursor
void _Cdecl MSetMode(int);            // set mouse display mode
void _Cdecl MAssignCursor(void far *);// assign new cursor design
};

extern int _Cdecl Mspressed;      // #times a button pressed
extern int _Cdecl Msreleased;     // #times a button released
extern int _Cdecl Msbutton;       // 1=left button, 2=right button
extern int _Cdecl Msx;            // horiz. screen position
extern int _Cdecl Msy;            // vert. screen position
extern void _Cdecl *McursorArrow; // default cursor definition block

#define LeftMButton  1
#define RightMButton 2

#define MCopy_Put 0          // Mouse cursor display modes
#define MXor_Put  1
#define MAnd_Put  2
#define MOr_Put   3
#define MNot_Put  4


