/*****************************************************************************
*                                                                            *
*   Mouse.h             Mouse header file for use with mouse.lib             *
*                                                                            *
*   Copyright (C) 1991 by W. Paul Mills, All Rights Reserved                 *
*                                                                            *
*****************************************************************************/

#ifndef MOUSE_H

        #define MOUSE_H 1

                                /********      MOUSE  CONSTANTS      ********/
                      /*  Mouse Calling Values  'm1' */

    #define MOUSE_STATUS        0
    #define MOUSE_SHOW          1
    #define MOUSE_HIDE          2
    #define MOUSE_POSITION      3
    #define MOUSE_HORIZ_LIMIT   7
    #define MOUSE_VERT_LIMIT    8
    #define SET_SENSITIVITY    26
    #define GET_SENSITIVITY    27
    #define MOUSE_ENABLE       32
    #define MOUSE_SOFTRESET    33

                      /*  Mouse Return Values  ' m2' */

    #define NO_MOUSE_PRESS      0
    #define LEFT_MOUSE          1
    #define RIGHT_MOUSE         2

    /*  TurboC mouse declarations and defines  **************************/

    #ifdef  __TURBOC__


        #ifdef  __TINY__
            extern void cmouses (int *, int *, int *, int *);
                        #define mouse() (cmouses(&m1, &m2, &m3, &m4))
                #endif

        #ifdef  __SMALL__
            extern void cmouses (int *, int *, int *, int *);
                        #define mouse() (cmouses(&m1, &m2, &m3, &m4))
        #endif

        #ifdef  __COMPACT__
            extern void cmousec(int *, int *, int *, int *);
                        #define mouse() (cmousec(&m1, &m2, &m3, &m4))
        #endif

        #ifdef  __LARGE__
            extern void cmousel(int *, int *, int *, int *);
                        #define mouse() (cmousel(&m1, &m2, &m3, &m4))
        #endif

        #ifdef  __HUGE__
            extern void cmousel(int *, int *, int *, int *);
                        #define mouse() (cmousel(&m1, &m2, &m3, &m4))
        #endif
    #endif

    /*  QuickC mouse declarations and defines  **************************/

    #ifdef  _QC


        #ifdef  M_I86SM
                        extern void cmouses (int *, int *, int *, int *);
                        #define mouse() (cmouses(&m1, &m2, &m3, &m4))
        #endif

        #ifdef  M_I86MM
            extern void cmousem(int *, int *, int *, int *);
                        #define mouse() (cmousem(&m1, &m2, &m3, &m4))
        #endif

        #ifdef  M_I86CM
            extern void cmousec(int *, int *, int *, int *);
                        #define mouse() (cmousec(&m1, &m2, &m3, &m4))
        #endif

        #ifdef  M_I86LM
            extern void cmousel(int *, int *, int *, int *);
                        #define mouse() (cmousel(&m1, &m2, &m3, &m4))
        #endif
    #endif

#endif

