X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fdos%2Fmouse.c;h=0033130632c3546bf7bfc0d85aacd1bc2980ca5f;hp=e2779c985f2d241fe45966f99ce78d20fa58fd97;hb=a5c65ceb155188c8acee31a475f8db9f5b58f4b6;hpb=757e7697c9a4434df6f3fdf3234de504bb4636bc diff --git a/src/dos/mouse.c b/src/dos/mouse.c index e2779c9..0033130 100644 --- a/src/dos/mouse.c +++ b/src/dos/mouse.c @@ -17,26 +17,31 @@ typedef unsigned short uint16_t; int have_mouse(void) { uint16_t res = 0; +#ifdef __WATCOMC__ _asm { mov eax, QUERY int INTR mov res, ax } +#endif return res; } void show_mouse(int show) { uint16_t cmd = show ? SHOW : HIDE; +#ifdef __WATCOMC__ _asm { mov ax, cmd int INTR } +#endif } int read_mouse(int *xp, int *yp) { uint16_t x, y, state; +#ifdef __WATCOMC__ _asm { mov eax, READ int INTR @@ -44,6 +49,10 @@ int read_mouse(int *xp, int *yp) mov x, cx mov y, dx } +#endif +#ifdef __DJGPP__ + x = y = state = 0; +#endif if(xp) *xp = x; if(yp) *yp = y; @@ -52,16 +61,19 @@ int read_mouse(int *xp, int *yp) void set_mouse(int x, int y) { +#ifdef __WATCOMC__ _asm { mov eax, WRITE mov ecx, x mov edx, y int INTR } +#endif } void set_mouse_limits(int xmin, int ymin, int xmax, int ymax) { +#ifdef __WATCOMC__ _asm { mov eax, XLIM mov ecx, xmin @@ -72,16 +84,19 @@ void set_mouse_limits(int xmin, int ymin, int xmax, int ymax) mov edx, ymax int INTR } +#endif } void set_mouse_rate(int xrate, int yrate) { +#ifdef __WATCOMC__ _asm { mov ax, PIXRATE mov ecx, xrate mov edx, yrate int INTR } +#endif } void set_mouse_mode(enum mouse_mode mode)