/*****************************************************************************
*           Change Log
*  Date     | Change
*-----------+-----------------------------------------------------------------
* 22-Nov-91 | [1.446] <jmn> Created
* 22-Nov-91 | [1.446] <jmn> Added conditionals for medium and large memory
*           | models
*****************************************************************************/
#define mouse_reset            0
#define mouse_show_cursor      1
#define mouse_hide_cursor      2
#define mouse_get_cursor       3
#define mouse_set_cursor       4
#define mouse_set_text_cursor 10

#define mouse_software_cursor  0
#define mouse_hardware_cursor  1

#define mouse_set_sensitivity 15

#ifdef M_I86SM
extern void MOUSECMS(short * m1, short * m2, short * m3, short * m4);
#define mouse(m1,m2,m3,m4) MOUSECMS(m1,m2,m3,m4)
#endif

#ifdef M_I86CM
extern void MOUSECMC(short * m1, short * m2, short * m3, short * m4);
#define mouse(m1,m2,m3,m4) MOUSECMC(m1,m2,m3,m4)
#endif

#ifdef M_I86MM
extern void MOUSECMM(short * m1, short * m2, short * m3, short * m4);
#define mouse(m1,m2,m3,m4) MOUSECMM(m1,m2,m3,m4)
#endif

#ifdef M_I86LM
extern void MOUSECML(short * m1, short * m2, short * m3, short * m4);
#define mouse(m1,m2,m3,m4) MOUSECML(m1,m2,m3,m4)
#endif

#define MOUSE_X 8
#define MOUSE_Y 8
#define mouse_to_screen_x(v) ((coord)((v)/MOUSE_X))
#define mouse_to_screen_y(v) ((coord)((v)/MOUSE_Y))
#define screen_to_mouse_x(v) ((mouse_coord)((v)*MOUSE_X))
#define screen_to_mouse_y(v) ((mouse_coord)((v)*MOUSE_Y))
