void prettyprint(char* str) { int i, ndig = 0; wclear(nums); wclear(alph); for(i = 0; i < strlen(str); i++) { if(isdigit(str[i])) { drawnum(nums, str[i] - 48, 1, 1 + (ndig * (COLPN + 1))); wrefresh(nums); ndig++; } if(str[i] == '.') { drawnum(nums, 10, 1, 1 + (ndig * (COLPN + 1))); wrefresh(nums); ndig++; } else if(str[i] == '-') { drawnum(nums, 11, 1, 1 + (ndig * (COLPN + 1))); wrefresh(nums); ndig++; } else if(isalpha(str[i]) || str[i] == ' ') { waddch(alph, str[i]); wrefresh(alph); } } move(2, 0); }
// prints iteration rate, ll is number of ticks... void printhz(long nstps,long ll) { float hz; hz = 60.0 * (float)nstps / (float)ll; drawnum(hz,520,35); label(" Hz ",-1,-1); //drawbuffer(); }
// display active dominos, labels... // display limited to available window space... void displaypart() { long i,n1,n2,c; color(WHITE); clear(); for(i=0;i<ndominos;i++) { n1 = dominos[i].atnode1; n2 = dominos[i].atnode2; c = dominos[i].color; drawdominopart(n1,n2,c); } border(); //drawbndys(); #if OBS for(i=0;i<nobs;i++) drawnode(Obs[i],BLACK); #endif #if FPTR if(funum == 0) label("very soft",520,475); if(funum == 1) label("soft",530,475); if(funum == 2) label("nhp",532,475); #endif drawnum(ndominos,100,35); drawnum(nsteps,520,35); //drawnum(dominos[0].atnode1,250,35); //drawnum(dominos[0].atnode2,350,35); //label("P = ",520,480); //drawnum(Pav,-1,-1); Printf("\nT = %.2lf",Temp); labit(280,480); if(fluxctl) { Printf("\nflux %d",netflux); labit(280,480); } //if(!histctl) drawbuffer(); }
// display active dominos, labels... // dominos are black, except for first, // position of first handed in as argument void displaytt(long at1,long at2) { long i,n1,n2; color(WHITE); clear(); for(i=1;i<ndominos;i++) { n1 = dominos[i].atnode1; n2 = dominos[i].atnode2; //drawdomino(n1,n2,c); drawdominocb(n1,n2,BLACK); } drawnode(at1,RED); drawnode(at2,BLUE); border(); //drawbndys(); drawnum(ndominos,100,35); drawnum(nsteps,520,35); drawnum(dominos[0].atnode1,220,35); drawnum(dominos[0].atnode2,350,35); //drawbuffer(); }
// display active dominos, labels... void display() { long i,n1,n2,c,vdisp=(DOMY-NROWS); color(WHITE); clear(); if(!dispctl) { for(i=0;i<ndominos;i++) { n1 = dominos[i].atnode1; n2 = dominos[i].atnode2; #if CLOCK c = clocktocolor(dominos[i].clock); #else c = dominos[i].color; //c = RED; #endif if(vdisp != 0) { n1 += vdisp*ROWL; n2 += vdisp*ROWL; if(n1 >= ROWL) drawdominocb(n1,n2,c); } else drawdominocb(n1,n2,c); } } else // red/blue horizontal/vertical display { //sleep(1); for(i=0;i<ndominos;i++) { n1 = dominos[i].atnode1; n2 = dominos[i].atnode2; if((n1 == n2+1) || (n1 == n2-1) || (n1 == (n2-ROWL+1)) || (n1 == (n2+ROWL-1))) c = RED; else c = BLUE; drawdominocb(n1,n2,c); } } border(); //drawbndys(); // what did this do? #if OBS for(i=0;i<nobs;i++) drawnode(Obs[i],BLACK); #endif #if FPTR if(funum == 0) label("very soft",520,475); if(funum == 1) label("soft",530,475); if(funum == 2) label("nhp",532,475); #endif drawnum(ndominos,100,35); drawnum(nsteps,520,35); ////drawnum(totalflux,300,35); // defined in domhist.c //drawnum(dominos[0].atnode1,250,35); //drawnum(dominos[0].atnode2,350,35); //label("P = ",520,480); //drawnum(Pav,-1,-1); if(fluxctl) { Printf("\nflux %d",netflux); labit(50,480); } Printf("\nT = %.3lf",Temp); labit(280,480); //if(!histctl) drawbuffer(); }