/* * code to print in the message area and to die horrible deaths (with a message) */#include "art.h"void fatal(char *m){ fprint(2, "fig: %s\n", m); exits(m);}#define NPREV 512char prevmsg[NPREV];void lastmsg(void){ Point p=string(&screen, msgbox.min, font, prevmsg, S); rectf(&screen, Rect(p.x, msgbox.min.y, msgbox.max.x, msgbox.max.y), Zero);}void msg(char *fmt, ...){ doprint(prevmsg, prevmsg+NPREV, fmt, &fmt+1); lastmsg();}void echo(char *m){ Point p; p=string(&screen, echobox.min, font, m, S); rectf(&screen, Rect(p.x, echobox.min.y, echobox.max.x, echobox.max.y), Zero);}
/*
* code to print in the message area and to die horrible deaths (with a message)
*/
#include "art.h"
void fatal(char *m){
fprint(2, "fig: %s\n", m);
exits(m);
}
#define NPREV 512
char prevmsg[NPREV];
void lastmsg(void){
Point p=string(&screen, msgbox.min, font, prevmsg, S);
rectf(&screen, Rect(p.x, msgbox.min.y, msgbox.max.x, msgbox.max.y), Zero);
}
void msg(char *fmt, ...){
doprint(prevmsg, prevmsg+NPREV, fmt, &fmt+1);
lastmsg();
}
void echo(char *m){
Point p;
p=string(&screen, echobox.min, font, m, S);
rectf(&screen, Rect(p.x, echobox.min.y, echobox.max.x, echobox.max.y), Zero);
}