#include enum WindowModes {OverWindow,ActiveWindow}; enum ButtonModes {Ignore,Shift,ShiftClick,DepthArrange,ShiftDepth,CycleScreens}; struct WheelMouseContext { void (*Dispose)(struct WheelMouseContext *wm); BOOL (*Handle)(struct WheelMouseContext *wm,unsigned long signals); int ScrollX,ScrollY; int ButtonState; enum WindowModes WindowMode; enum ButtonModes MMBMode; enum ButtonModes FourthButtonMode; char **WindowModeNames; char **MMBModeNames; char **FourthButtonModeNames; int MouseSpeedX; int MouseSpeedY; BOOL ClickToFront; BOOL ClickToBack; struct Task *MainTask; unsigned long Signals; int SigBit; struct MsgPort *ReplyPort; struct Window *Window; struct Gadget *Gadget; struct ExtIntuiMessage Msg1; unsigned long pad11,pad12,pad13,pad14; /* struct might be extended further! */ struct ExtIntuiMessage Msg2; unsigned long pad21,pad22,pad23,pad24; }; struct WheelMouseContext *WheelMouse_Create();