/* * DMOUSE.H */ #include #include #include #include #include #include #include #include #include #include #include #include #include #define DMS struct _DMS #define REQ struct _REQ #define PORTNAME "DMouse" #define REQ_SCREENON -1 #define REQ_SCREENOFF -2 #define REQ_MOUSEON -3 #define REQ_MOUSEOFF -4 #define REQ_DOCMD -5 #define REQ_RAWMOUSE -6 #define REQ_RAWKEY -7 #define REQ_DEBUG -8 #define REQ_DEBUGOFF -9 #define SBF_C SIGBREAKF_CTRL_C #define SBF_D SIGBREAKF_CTRL_D #define SBF_E SIGBREAKF_CTRL_E #define SBF_F SIGBREAKF_CTRL_F typedef unsigned char ubyte; typedef unsigned short uword; typedef unsigned long ulong; typedef struct Library LIB; typedef struct Node NODE; typedef struct List LIST; typedef struct MsgPort PORT; typedef struct Window WIN; typedef struct Screen SCR; typedef struct NewScreen NS; typedef struct NewWindow NW; typedef struct Task TASK; typedef struct Process PROC; typedef struct Message MSG; typedef struct InputEvent IE; typedef struct Layer LAYER; typedef struct copinit COPINIT; typedef struct IntuitionBase IBASE; typedef struct GfxBase GFXBASE; typedef struct IOStdReq IOR; typedef struct Interrupt INT; typedef struct timeval TS; typedef void (*FPTR)(); DMS { PORT Port; short Version; short Acc; short AThresh; long STo; long MTo; uword Code; uword Qual; uword RQual; /* Right button qualifier */ uword LQual; /* Left button qualifier */ char Cmd[256]; char LMBEnable; char AAEnable; char IPri; char FSEnable; /* Foreign Screen Enable */ char Workbench; /* Use WindowToFront/Back */ char Debug; /* Debug Mode */ char FBEnable; /* front/back enable on windows that */ /* don't have front/back gadgets */ TASK *HandTask; TASK *ShakeTask; short ShakeSig; short StartupError; uword *NoSprData; long Segment; uword Clicks; /* # clicks required */ uword CLeft; /* # clicks left to do */ TS CTime; /* time of last click */ WIN *CWin; /* All clicks in same window */ char Reset; /* Option modified, reset tos */ char *MRemote; /* Remote mouse blanker (obsolete) */ char *SRemote; /* Remote screen blanker(obsolete) */ long DLock[2]; /* synchronizing lock (obsolete) */ }; REQ { MSG Msg; TS ie_TimeStamp; ubyte ie_Class; uword ie_Code; uword ie_Qualifier; uword rq_X; uword rq_Y; }; extern void *AllocMem(); extern void *GetMsg();