/* * CALC Provides a calculator that opens on the active screen when * you press a specific key sequence. Otherwise, the program * waits quitely in the background. * * Copyright 1989 by Davide P. Cervone. * You may use this code, provided this copyright notice is kept intact. */ #define PORTNAME "CalcPort" #define STARTSIGNAL SIGBREAKF_CTRL_F #define ENDSIGNAL SIGBREAKF_CTRL_E #define CLOSESIGNAL SIGBREAKF_CTRL_D struct HandlerData { struct MsgPort HandlerPort; short MajVers,MinVers,MinLoadVers; long Segment; struct IntuitionBase **IntuitionBase; struct GfxBase **GfxBase; struct Interrupt *Handler_Interrupt; struct Task **ParentTask; UWORD *KeyCode; UWORD *Qualifiers; void (*aCloseScreen)(); long *OldCloseScreen; }; /* * Macros to make using HandlerData easy */ #define VAR(x) (*(cHandlerData->x)) #define var(x) (cHandlerData->x) struct StartupMessage { struct Message sm_Message; struct HandlerData *sm_HandlerData; struct Task *sm_ParentTask; short sm_LoadVers; };