コード例 #1
0
ファイル: main.c プロジェクト: amigan/rsmeter
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);
}
コード例 #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();
}
コード例 #3
0
// 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();
}
コード例 #4
0
// 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();
}
コード例 #5
0
// 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();
}