home *** CD-ROM | disk | FTP | other *** search
- /*
- * YakHandler structure definition
- */
- typedef struct {
- CxObj *CxObj; /* cx object list */
- void (*HandlerFunction)(void); /* function to attach to CxObj */
- UWORD State; /* hotkey state, 0 = not active */
- ULONG Event; /* Event to use for hotkey */
- UWORD RequiredClicks; /* Simple, Double or triple Click required */
- UWORD Options; /* Options */
- char *KeyDef; /* actual key definition */
- PatternData ScreenPatternData; /* Screens where the handler is active */
- } YakHandler;
-
-
- #define NUM_HANDLERS 3
-
- GLOBAL YakHandler MouseCyclingHandlers[NUM_HANDLERS];
- GLOBAL YakHandler DEF_MOUSECYCLING[NUM_HANDLERS];
-
-
- /* Short names */
-
- #define Window_To_Front MouseCyclingHandlers[0]
- #define Window_To_Back MouseCyclingHandlers[1]
- #define ScreenCycling MouseCyclingHandlers[2]
-
- /*************************/
- /* WindowToFront options */
- /*************************/
-
- #define Opt_ScreenToFront 1
- #define Opt_ExcludeWbWindow 2
-
-
- /************************/
- /* WindowToBack options */
- /************************/
-
- #define Opt_ScreenToBack 1
-
-
- /********************/
- /* Default settings */
- /********************/
-
- #define DEF_TOFRONT_HOTKEY "RawMouse LeftButton Mouse_LeftPress"
- #define DEF_TOFRONT_CLICKS 2
- #define DEF_TOFRONT_OPTIONS (Opt_ScreenToFront|Opt_ExcludeWbWindow)
- #define WINDOW_TOFRONT_EVENT 2L
-
- #define DEF_TOBACK_HOTKEY "RawMouse LeftButton RButton Mouse_RightPress"
- #define DEF_TOBACK_CLICKS 1
- #define DEF_TOBACK_OPTIONS (Opt_ScreenToBack)
- #define WINDOW_TOBACK_EVENT 3L
-
- #define DEF_SCREENCYCLING_HOTKEY "RawMouse MidButton Mouse_MiddlePress"
- #define DEF_SCREENCYCLING_CLICKS 2
- #define DEF_SCREENCYCLING_OPTIONS 0
- #define SCREENCYCLING_EVENT 4L
-
- #define DEF_SCREENPATTERN {"#?", NULL}
-
- GLOBAL ULONG clicksigflag, intuiopsigflag, blankscreensigflag, depthscreensigflag;
- GLOBAL void (*intui_routine)(APTR); /* for intui_op's */
- GLOBAL APTR intui_parameter;
-
-
- /* for AutoActivateWindow - why? */
- #define SCREEN 0
- #define AUTO 1
- #define KEY 2
- #define RMBACT 3
-
- /* Prototypes for functions defined in Handlers.c */
-
- STACKARGS void MyScreenToBack(struct Screen *scr);
- STACKARGS void MyScreenToFront(struct Screen *scr);
- __regargs void ActivateMouseWindow(BYTE why);
- void BlankScreen(void);
- void UnBlankScreen(void);
- void BlankScreen(void);
- void TurnMouseOn(void);
- struct Screen *ScreenUnderMouse(void);
-
- void EndMainHandler (void);
- BOOL InitMainHandler (void);
- VOID ToggleMouseCycling (void);
- VOID FreeMouseCyclingPatterns(VOID);
- VOID CleanMouseCycling (VOID);
- VOID InitMouseCyclingPatterns(VOID);
- struct Window *WindowUnderMouse(VOID);
- long CompatibleParseIX(char *I_Description, IX *ix);
-
- #if defined(PREFS) || defined(CONV)
- # define WindowToFrontHandler NULL
- # define WindowToBackHandler NULL
- # define ScreenCyclingHandler NULL
- #else
- VOID WindowToFrontHandler (VOID);
- VOID WindowToBackHandler (VOID);
- VOID ScreenCyclingHandler (VOID);
- #endif
-
-
-
-