home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 441.lha / dmouse_v1.24 / dmouse.h < prev    next >
C/C++ Source or Header  |  1990-11-13  |  3KB  |  121 lines

  1.  
  2. /*
  3.  *  DMOUSE.H
  4.  */
  5.  
  6.  
  7. #include <exec/types.h>
  8. #include <devices/inputevent.h>
  9. #include <devices/input.h>
  10. #include <exec/lists.h>
  11. #include <exec/memory.h>
  12. #include <graphics/gfx.h>
  13. #include <graphics/layers.h>
  14. #include <graphics/gfxbase.h>
  15. #include <intuition/intuition.h>
  16. #include <intuition/intuitionbase.h>
  17. #include <intuition/screens.h>
  18. #include <libraries/dos.h>
  19. #include <libraries/dosextens.h>
  20.  
  21. #define DMS struct _DMS
  22. #define REQ struct _REQ
  23.  
  24. #define PORTNAME    "DMouse"
  25.  
  26. #define REQ_SCREENON    -1
  27. #define REQ_SCREENOFF    -2
  28. #define REQ_MOUSEON    -3
  29. #define REQ_MOUSEOFF    -4
  30. #define REQ_DOCMD    -5
  31. #define REQ_RAWMOUSE    -6
  32. #define REQ_RAWKEY    -7
  33. #define REQ_DEBUG    -8
  34. #define REQ_DEBUGOFF    -9
  35.  
  36. #define SBF_C    SIGBREAKF_CTRL_C
  37. #define SBF_D    SIGBREAKF_CTRL_D
  38. #define SBF_E    SIGBREAKF_CTRL_E
  39. #define SBF_F    SIGBREAKF_CTRL_F
  40.  
  41. typedef unsigned char    ubyte;
  42. typedef unsigned short    uword;
  43. typedef unsigned long    ulong;
  44.  
  45. typedef struct Library    LIB;
  46. typedef struct Node    NODE;
  47. typedef struct List    LIST;
  48. typedef struct MsgPort    PORT;
  49. typedef struct Window    WIN;
  50. typedef struct Screen    SCR;
  51. typedef struct NewScreen NS;
  52. typedef struct NewWindow NW;
  53. typedef struct Task    TASK;
  54. typedef struct Process    PROC;
  55. typedef struct Message    MSG;
  56. typedef struct InputEvent IE;
  57. typedef struct Layer    LAYER;
  58. typedef struct copinit    COPINIT;
  59.  
  60. typedef struct IntuitionBase IBASE;
  61. typedef struct GfxBase GFXBASE;
  62.  
  63. typedef struct IOStdReq     IOR;
  64. typedef struct Interrupt    INT;
  65. typedef struct timeval        TS;
  66. typedef void            (*FPTR)();
  67.  
  68.  
  69. DMS {
  70.     PORT    Port;
  71.     short   Version;
  72.     short   Acc;
  73.     short   AThresh;
  74.     long    STo;
  75.     long    MTo;
  76.     uword   Code;
  77.     uword   Qual;
  78.     uword   RQual;        /*    Right button qualifier    */
  79.     uword   LQual;        /*    Left button qualifier    */
  80.     char    Cmd[256];
  81.     char    LMBEnable;
  82.     char    AAEnable;
  83.     char    IPri;
  84.     char    FSEnable;        /*    Foreign Screen Enable    */
  85.     char    Workbench;        /*    Use WindowToFront/Back    */
  86.     char    Debug;        /*    Debug Mode        */
  87.     char    FBEnable;        /*    front/back enable on windows that */
  88.                 /*    don't have front/back gadgets     */
  89.     TASK    *HandTask;
  90.     TASK    *ShakeTask;
  91.     short   ShakeSig;
  92.     short   StartupError;
  93.     uword   *NoSprData;
  94.     long    Segment;
  95.  
  96.     uword   Clicks;    /*  # clicks required        */
  97.     uword   CLeft;    /*  # clicks left to do     */
  98.     TS        CTime;    /*  time of last click        */
  99.     WIN     *CWin;    /*  All clicks in same window    */
  100.     char    Reset;    /*  Option modified, reset tos    */
  101.  
  102.     char    *MRemote;    /*  Remote mouse blanker (obsolete) */
  103.     char    *SRemote;    /*  Remote screen blanker(obsolete) */
  104.     long    DLock[2];    /*  synchronizing lock     (obsolete) */
  105. };
  106.  
  107. REQ {
  108.     MSG     Msg;
  109.     TS        ie_TimeStamp;
  110.     ubyte   ie_Class;
  111.     uword   ie_Code;
  112.     uword   ie_Qualifier;
  113.     uword   rq_X;
  114.     uword   rq_Y;
  115. };
  116.  
  117.  
  118. extern void *AllocMem();
  119. extern void *GetMsg();
  120.  
  121.