home *** CD-ROM | disk | FTP | other *** search
- /*
- * WICONIFY A utility that allows you to iconify any Intuition window
- * on any screen, and to open WB windows on any screen.
- *
- * wSetup.h Include file for structures used to commmunicate
- * between the loader and handler.
- *
- * Copyright 1990 by Davide P. Cervone, all rights reserved.
- * You may use this code, provided this copyright notice is kept intact.
- */
-
- #include <libraries/dos.h>
-
- #define PORTNAME WICONPORT
-
- #define OKSIGNAL SIGBREAKF_CTRL_E
- #define CANCELSIGNAL SIGBREAKF_CTRL_C
-
-
- /*
- * HandlerData is the structure used to pass information between
- * the handler when it is loaded and the loader. It includes
- * pointers to variables that the loader must initialize, and
- * values of variables that the loader may need to use during the
- * initialization process.
- */
-
- struct HandlerData
- {
- short MajVers,MinVers; /* Handler version numbers */
- long Segment; /* The loaded handler segments */
- APTR ParentTask; /* The loader Process */
-
- struct IntuitionBase **IntuitionBase; /* Libraries that must be openned */
- struct GfxBase **GfxBase;
- struct LayersBase **LayersBase;
- struct SysBase **SysBase;
- struct DOSBase **DOSBase;
-
- struct Interrupt *Handler_Interrupt; /* The Input Device handler */
- struct Menu *wMenu; /* The menus (for initialization) */
- struct wMenuItem *OpenWindowMenu; /* The OpenOn submenu */
- struct Image *DefaultIcon; /* The default icon image */
- struct Image *DefaultScreenIcon; /* The default screen icon image */
-
- char **HiResCLICommand; /* The HIRES NewCLI command */
- char **LoResCLICommand; /* The LOWRES NewCLI command */
- long *StackSize; /* The NewCLI stack size */
- struct Image **DefaultImage; /* Image for icons without one */
- struct Image **DefaultSelect; /* Default select image */
- struct Image **DefaultMask; /* Default image mask */
- struct Image **DefaultScreenImage; /* Image for screens without one */
- struct Image **DefaultScreenSelect; /* Default screen select image */
- struct Image **DefaultScreenMask; /* Default screen image mask */
- ULONG *DefaultFlags; /* Default icon flags */
- ULONG *DefaultScreenFlags; /* Default screen icon flags */
- struct Ignore **IgnoreScreen; /* List of screens to ignore */
- UBYTE *IconifyKey,*ActivateKey; /* Keys and qualifiers */
- UWORD *IconifyQuals,*IconifyDisquals,*IconifyChange;
- UWORD *ActivateQuals;
- UWORD *Colors; /* default color map for screens */
-
- /* Routines to be trapped */
- void (*cOpenScreen)();
- void (*CleanUp)();
-
- void (*aOpenWindow)();
- long *OldOpenWindow;
-
- void (*aCloseWindow)();
- long *OldCloseWindow;
-
- void (*aOpenScreen)();
- long *OldOpenScreen;
-
- void (*aCloseScreen)();
- long *OldCloseScreen;
-
- void (*aSetWindowTitles)();
- long *OldSetWindowTitles;
-
- void (*aWindowToFront)();
- long *OldWindowToFront;
-
- void (*aWindowToBack)();
- long *OldWindowToBack;
-
- void (*aActivateWindow)();
- long *OldActivateWindow;
-
- void (*aBuildSysRequest)();
- long *OldBuildSysRequest;
-
- void (*aFreeSysRequest)();
- long *OldFreeSysRequest;
-
- void (*aAutoRequest)();
- long *OldAutoRequest;
- };
-
-
- /*
- * Macros to make using HandlerData easy
- */
-
- #define VAR(x) (*(HandlerData->x))
- #define var(x) (HandlerData->x)
-