#include #include #include #include #include #include #include #include #include #include #include #include #include struct Library *BlitzBlankBase; static const char version[]="$VER: BB.Fade 2.50 (25.12.94)"; struct rgb { ULONG r; ULONG g; ULONG b; }; char *text[]={"\33c\33uFade\33n\n\nModule for BlitzBlank\n\nCopyright 1994\nby\nThomas Börkel", "_Brightness:", "_Delay:" }; struct BB_Object object[]={ {&object[1],BB_VGroup,0,0,0,NULL,NULL}, {&object[2],BB_Slider,0,99,20,NULL,NULL}, {&object[3],BB_Slider,0,20,1,NULL,NULL}, {NULL,BB_VGroup_End,0,0,0,NULL,NULL} }; struct BB_Message message; struct BB_Screeninfo *screeninfo; void waitnobeep(struct Screen *screen) { while (screen->Flags & BEEPING) { WaitTOF (); WaitTOF (); } } void blank (void) { int v39=0,depth,colors,i,final; long *pal37,r,g,b; ULONG *col; struct rgb *pal; struct IntuitionBase *ibase; struct Screen *firstscreen; struct ViewPort *vp; struct ColorMap *cm; final=object[1].set; ibase=(struct IntuitionBase *) OpenLibrary ("intuition.library",39); if (ibase) v39=TRUE; else ibase=(struct IntuitionBase *) OpenLibrary ("intuition.library",37); CloseLibrary ((struct Library *) ibase); firstscreen=screeninfo->bbscreen; depth=screeninfo->depth; colors=1L << depth; vp=&firstscreen->ViewPort; cm=vp->ColorMap; if (v39) { if ((pal=calloc (colors,sizeof (struct rgb)))==NULL) return; if ((col=calloc (colors+2,sizeof (long)*3))==NULL) return; col[0]=colors << 16; } else if ((pal37=malloc (sizeof (long)*colors))==NULL) return; waitnobeep (firstscreen); if (!CheckSignal (SIGBREAKF_CTRL_C)) { ScreenToFront (firstscreen); BBL_ModuleRunning (); for (i=0;i> 8 & 15,pal37[i] >> 4 & 15,pal37[i] & 15); } if (v39) LoadRGB32 (vp,col); } } return; } void main(int argc,char **argv) { if (!(BlitzBlankBase=OpenLibrary ("blitzblank.library",BLITZBLANKLIB_VER))) exit (0); message.flags=BBF_NoWatch|BBF_FirstScreen; message.first=&object[0]; if (strcmp (argv[1],"BLANK")==0) { StrToLong (argv[3],(long *) &screeninfo); BBL_SendMessage (&message,argv[2]); if (screeninfo->bbscreen) blank (); BBL_BlankDone (); } else { message.infotext=BBL_GetString (210,text[0]); object[1].label=BBL_GetString (211,text[1]); object[2].label=BBL_GetString (212,text[2]); if (strcmp (argv[1],"CONFIG")==0) { BBL_SendMessage (&message,argv[2]); } else { message.first=NULL; BBL_SendMessage (&message,argv[2]); } } CloseLibrary (BlitzBlankBase); exit (0); }