/* window.c */ /* Copyright 1990 Thomas E. Janzen All Rights Reserved */ /* ** FACILITY: ** ** AlgoRhythms music improviser on Commodore (TM) Amiga (TM) ** compiled with Lattice (TM) C 5.05 ** ** ABSTRACT: ** ** Algorhythms improvises music over the MIDI serial port. ** ** AUTHORS: Thomas E. Janzen ** ** CREATION DATE: 26-MAR-1990 ** ** MODIFICATION HISTORY: ** DATE NAME DESCRIPTION **-- */ #include #include #include #include #include #include #include #include #include #include #include #include void OpenWind(void); void OpenLibs(void); void CloseLibs(void); void OpenWind(void); void MakeWindow(void); struct IntuitionBase *IntuitionBase; struct GfxBase *GfxBase; struct DOSBase *DOSBase; struct MathBase *MathBase; ULONG class,classb; /* Intu Event class */ USHORT code,codeb; /* Intu Event code */ /*WINDOW*/ struct Window *w; struct RastPort *rp; struct ViewPort *vp; struct IntuiMessage *message; void MakeWindow(void) { OpenLibs(); OpenWind(); } void OpenWind(void) { struct NewWindow nw = { 0,10,400,100, /* Left, Top, Width, height */ 2,1, /* detail, block pens */ NEWSIZE|CLOSEWINDOW|MENUPICK|GADGETUP|REQCLEAR, /* IDCMP flags */ WINDOWSIZING|WINDOWDRAG|SMART_REFRESH|WINDOWDEPTH| WINDOWCLOSE|GIMMEZEROZERO, NULL, /* Pointer to first gadget */ NULL, /* Pointer to checkmark */ "AlgoRhythms", /* title */ NULL, /* screen pointer */ NULL, /* bitmap pointer */ 400,100,640,190, /* window not sized */ WBENCHSCREEN /* type of screen */ }; w = OpenWindow(&nw); rp = w->RPort; /* Get the raster port pointer */ vp = &w->WScreen->ViewPort; /* Get the view port pointer */ } void OpenLibs(void) { if(!(IntuitionBase= (struct IntuitionBase *)OpenLibrary("intuition.library",0L))) { CloseLibs(); exit(FALSE); } if(!(GfxBase = (struct GfxBase *)OpenLibrary("graphics.library",0L))) { CloseLibs(); exit(FALSE); } if(!(MathBase = (struct MathBase *)OpenLibrary("mathffp.library",0L))) { CloseLibs(); exit(FALSE); } if(!(DOSBase = (struct DOSBase *)OpenLibrary("dos.library",0L))) { CloseLibs(); exit(FALSE); } } void CloseLibs(void) { if(GfxBase) CloseLibrary(GfxBase); if(IntuitionBase) CloseLibrary(IntuitionBase); if(MathBase) CloseLibrary(MathBase); if(DOSBase) CloseLibrary(DOSBase); } void ShutWindow(void) { CloseLibs(); CloseWindow(w); }