90 lines
1.6 KiB
C
90 lines
1.6 KiB
C
#include <stdio.h>
|
|
#include <unistd.h>
|
|
#include <stdlib.h>
|
|
#include <strings.h>
|
|
#include <getopt.h>
|
|
#include <ncurses.h>
|
|
|
|
#include "ecran.h"
|
|
|
|
int verbosity;
|
|
|
|
/* ---------------------------------------------------------------- */
|
|
void demo(int nbl, int k)
|
|
{
|
|
int loop, foo;
|
|
char line[100];
|
|
WINDOW *water;
|
|
static float rvals[4];
|
|
|
|
|
|
water = open_waterfall("premier essai", 0);
|
|
|
|
for (loop=0; loop<nbl; loop++) {
|
|
|
|
sprintf(line, "%06X %04X", loop, rand()&0xffff);
|
|
mvwaddstr(stdscr, LINES-1, 1, line);
|
|
wrefresh(stdscr);
|
|
|
|
for (foo=0; foo<4; foo++) {
|
|
if (rand()%100<42) {
|
|
rvals[foo] += 3.9 * (foo + 1);
|
|
}
|
|
if (rvals[foo] > 1023.0) {
|
|
rvals[foo] = (float)(rand() % 25);
|
|
}
|
|
}
|
|
|
|
plot_waterfall(water, 1, rvals);
|
|
|
|
if (rand()%10 < 1) sleep(1);
|
|
}
|
|
|
|
close_waterfall(water, 0);
|
|
|
|
}
|
|
/* ---------------------------------------------------------------- */
|
|
static void finish(int signal)
|
|
{
|
|
endwin(); exit(0);
|
|
}
|
|
/* ---------------------------------------------------------------- */
|
|
int main (int argc, char *argv[])
|
|
{
|
|
int opt;
|
|
|
|
/* set some default values */
|
|
verbosity = 0;
|
|
|
|
|
|
while ((opt = getopt(argc, argv, "v")) != -1) {
|
|
switch (opt) {
|
|
case 'v': verbosity++; break;
|
|
|
|
default:
|
|
fprintf(stderr, "%s : uh ?", argv[0]);
|
|
exit(1);
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
initscr();
|
|
nonl(); cbreak(); noecho();
|
|
|
|
keypad(stdscr, TRUE); /* acces aux touches 'curseur' */
|
|
|
|
fond_ecran(" Demonstrator ");
|
|
|
|
demo(190000, 0);
|
|
|
|
/*
|
|
* plop, on a fini, restaurer la console
|
|
*/
|
|
finish(0);
|
|
|
|
return 0;
|
|
}
|
|
/* ---------------------------------------------------------------- */
|