From ce63b796bb836666e70850a9cfd130cf2bb244d7 Mon Sep 17 00:00:00 2001 From: William McBrine Date: Wed, 31 Jan 2018 15:38:56 -0500 Subject: [PATCH] Resize handling for ptest. --- demos/ptest.c | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/demos/ptest.c b/demos/ptest.c index c412f122..3f02f3a9 100644 --- a/demos/ptest.c +++ b/demos/ptest.c @@ -18,6 +18,18 @@ void pflush(void) doupdate(); } +void sizecheck(void) +{ + if (COLS < 70 || LINES < 23) + { + printw("A window at least 70x23 is required for this demo"); + refresh(); + napms(5000); + endwin(); + exit(-1); + } +} + void backfill(void) { int y, x; @@ -38,6 +50,17 @@ void wait_a_while(long msec) c = getch(); +#ifdef KEY_RESIZE + if (c == KEY_RESIZE) + { +# ifdef PDCURSES + resize_term(0, 0); +# endif + sizecheck(); + backfill(); + } + else +#endif if (c == 'q') { endwin(); @@ -104,15 +127,8 @@ int main(int argc, char **argv) initscr(); #endif - if (COLS < 70 || LINES < 23) - { - printw("A window at least 70x23 is required for this demo"); - refresh(); - napms(5000); - endwin(); - exit(-1); - } - + keypad(stdscr, TRUE); + sizecheck(); backfill(); for (y = 0; y < 5; y++)