Import civetweb ans jsoncpp
This commit is contained in:
79
3P/civetweb/src/third_party/duktape-1.3.0/examples/eventloop/curses-timers.js
vendored
Normal file
79
3P/civetweb/src/third_party/duktape-1.3.0/examples/eventloop/curses-timers.js
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Test using timers and intervals with curses.
|
||||
*/
|
||||
|
||||
if (typeof Ncurses !== 'object') {
|
||||
throw new Error('Ncurses required');
|
||||
}
|
||||
|
||||
function fillScreen(ch) {
|
||||
var size, w, h;
|
||||
var i, j;
|
||||
|
||||
size = Ncurses.getmaxyx();
|
||||
h = size[0];
|
||||
w = size[1];
|
||||
|
||||
for (i = 0; i < h; i++) {
|
||||
for (j = 0; j < w; j++) {
|
||||
Ncurses.mvprintw(i, j, ch);
|
||||
}
|
||||
}
|
||||
Ncurses.refresh();
|
||||
}
|
||||
|
||||
function main() {
|
||||
var i, j;
|
||||
var counters = [];
|
||||
var size, w, h;
|
||||
|
||||
Ncurses.initscr();
|
||||
size = Ncurses.getmaxyx();
|
||||
h = size[0];
|
||||
w = size[1];
|
||||
|
||||
fillScreen('.');
|
||||
|
||||
setInterval(function () {
|
||||
Ncurses.mvprintw(1, 4, new Date().toISOString());
|
||||
Ncurses.refresh();
|
||||
}, 1000);
|
||||
|
||||
function addCounter(row, index, interval) {
|
||||
counters[index] = 0;
|
||||
setInterval(function () {
|
||||
counters[index]++;
|
||||
Ncurses.mvprintw(row, 4, '' + Date.now() + ' ' + counters[index]);
|
||||
Ncurses.refresh();
|
||||
}, interval);
|
||||
}
|
||||
|
||||
function addRandomChar(row, col, interval) {
|
||||
setTimeout(function () {
|
||||
Ncurses.mvprintw(row, col, String.fromCharCode(Math.random() * 64 + 0x20));
|
||||
Ncurses.refresh();
|
||||
}, interval);
|
||||
}
|
||||
|
||||
for (i = 0; i < h - 5; i++) {
|
||||
addCounter(3 + i, i, 363 * i + 400);
|
||||
}
|
||||
|
||||
/* Here the inserts take a lot of time because the underlying timer manager
|
||||
* data structure has O(n) insertion performance.
|
||||
*/
|
||||
for (i = 0; i < h - 5; i++) {
|
||||
for (j = 0; j < w - 50; j++) {
|
||||
// Math.exp(0)...Math.exp(8) is an uneven distribution between 1...~2980.
|
||||
addRandomChar(3 + i, 28 + j, 58000 - Math.exp(Math.random() * 8) * 20);
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
Ncurses.endwin();
|
||||
Ncurses.delscreen();
|
||||
requestEventLoopExit();
|
||||
}, 120e3);
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user