/* Beispiel für eine GUI, noch ohne Blank-Funktion */ #include #include #include #include #include #include #include #include #include #include #include #include #include struct Library *BlitzBlankBase; char *VersionString="$VER: BB.Splines 2.50 (25.12.94)"; char *text[]={"\33c\33uSplines\33n\n\nModule for BlitzBlank\n\nCopyright 1994\nby\nJürgen Denner", "Straight", "Bouncing", "Various", "_Fixpoints:", "Sp_lines:", "Spli_ne Speed:", "_Random Range:" }; char *pgrouplabels[4]; struct BB_Object object[]={ {&object[ 1],BB_PGroup,0,0,1,NULL,(char *)pgrouplabels}, {&object[ 2],BB_VGroup,0,0,0,NULL,NULL}, {&object[ 3],BB_Slider,10,30,22,NULL,NULL}, {&object[ 4],BB_Slider,10,99,43,NULL,NULL}, {&object[ 5],BB_Slider,0,20,19,NULL,NULL}, {&object[ 6],BB_Slider,3,40,5,NULL,NULL}, {&object[ 7],BB_VGroup_End,0,0,0,NULL,NULL}, {&object[ 8],BB_VGroup,0,0,0,NULL,NULL}, {&object[ 9],BB_Slider,10,30,20,NULL,NULL}, {&object[10],BB_Slider,10,99,33,NULL,NULL}, {&object[11],BB_Slider,0,20,20,NULL,NULL}, {&object[12],BB_Slider,3,40,6,NULL,NULL}, {&object[13],BB_VGroup_End,0,0,0,NULL,NULL}, {&object[14],BB_VGroup,0,0,0,NULL,NULL}, {&object[15],BB_Slider,10,30,17,NULL,NULL}, {&object[16],BB_Slider,10,99,52,NULL,NULL}, {&object[17],BB_Slider,0,20,20,NULL,NULL}, {&object[18],BB_Slider,3,40,5,NULL,NULL}, {&object[19],BB_VGroup_End,0,0,0,NULL,NULL}, {NULL ,BB_PGroup_End,0,0,0,NULL,NULL} }; struct BB_Message message; struct BB_Screeninfo *screeninfo; void blank (void) { struct RastPort *rp; struct ViewPort *vp; // screeninfo->width = Breite // screeninfo->height = Höhe // screeninfo->depth = Tiefe // screeninfo->bbscreen = Screenstruktur // object[ 0].set = Modus (0/1/2) // object[ 2].set = Modus 0, Fixpoints // object[ 3].set = Modus 0, Splines // object[ 4].set = Modus 0, Spline Speed // object[ 5].set = Modus 0, Random Range // object[ 8].set = Modus 1, Fixpoints // object[ 9].set = Modus 1, Splines // object[10].set = Modus 1, Spline Speed // object[11].set = Modus 1, Random Range // object[14].set = Modus 2, Fixpoints // object[15].set = Modus 2, Splines // object[16].set = Modus 2, Spline Speed // object[17].set = Modus 2, Random Range rp=&screeninfo->bbscreen->RastPort; vp=&screeninfo->bbscreen->ViewPort; SetRGB4 (vp,0,0,0,0); SetRGB4 (vp,1,15,15,15); SetAPen (rp,1); Move (rp,100,100); Text (rp,"Dieses Modul hat noch keine Blankroutine!",41); ScreenToFront (screeninfo->bbscreen); if (!CheckSignal (SIGBREAKF_CTRL_C)) { BBL_ModuleRunning (); Wait (SIGBREAKF_CTRL_C); } return; } void main(int argc,char **argv) { int i; if (!(BlitzBlankBase=OpenLibrary ("blitzblank.library",BLITZBLANKLIB_VER))) exit (0); message.flags=BBF_Screenmode; message.first=&object[0]; if (strcmp (argv[1],"BLANK")==0) { StrToLong (argv[3],(long *) &screeninfo); screeninfo->depth=1; BBL_SendMessage (&message,argv[2]); if (screeninfo->bbscreen) blank (); BBL_BlankDone (); } else { message.infotext=BBL_GetString (310,text[0]); for (i=1;i<=3;i++) pgrouplabels[i-1]=BBL_GetString (310+i,text[i]); pgrouplabels[3]=NULL; for (i=4;i<=7;i++) object[i-2].label=object[i+4].label=object[i+10].label=BBL_GetString (310+i,text[i]); if (strcmp (argv[1],"CONFIG")==0) { BBL_SendMessage (&message,argv[2]); } else { message.first=NULL; BBL_SendMessage (&message,argv[2]); } } CloseLibrary (BlitzBlankBase); exit (0); }