ncurses 6.2 - patch 20200718
[ncurses.git] / test / background.c
index e9f266e17f92133e3c23e6eb7dc6da87f4e24e4d..391ab1a7d3298c7d7c15de6a6cdf9dc7c3bd932b 100644 (file)
@@ -1,5 +1,6 @@
 /****************************************************************************
- * Copyright (c) 2003-2014,2017 Free Software Foundation, Inc.              *
+ * Copyright 2018,2020 Thomas E. Dickey                                     *
+ * Copyright 2003-2014,2017 Free Software Foundation, Inc.                  *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: background.c,v 1.16 2017/04/15 14:13:30 tom Exp $
+ * $Id: background.c,v 1.19 2020/02/02 23:34:34 tom Exp $
  */
 
 #define NEED_COLOR_CODE 1
 #define NEED_COLOR_NAME 1
 #include <color_name.h>
+#include <dump_window.h>
 
 static int default_bg = COLOR_BLACK;
 static int default_fg = COLOR_WHITE;
@@ -48,24 +50,24 @@ test_background(void)
     } else {
        printw("pair 0 contains (%d,%d)\n", (int) f, (int) b);
     }
-    getch();
+    dump_window(stdscr);
 
     printw("Initializing pair 1 to red/%s\n", color_name(default_bg));
     init_pair(1, COLOR_RED, (NCURSES_COLOR_T) default_bg);
     bkgdset((chtype) (' ' | COLOR_PAIR(1)));
     printw("RED/BLACK\n");
-    getch();
+    dump_window(stdscr);
 
     printw("Initializing pair 2 to %s/blue\n", color_name(default_fg));
     init_pair(2, (NCURSES_COLOR_T) default_fg, COLOR_BLUE);
     bkgdset((chtype) (' ' | COLOR_PAIR(2)));
     printw("This line should be %s/blue\n", color_name(default_fg));
-    getch();
+    dump_window(stdscr);
 
     printw("Initializing pair 3 to %s/cyan (ACS_HLINE)\n", color_name(default_fg));
     init_pair(3, (NCURSES_COLOR_T) default_fg, COLOR_CYAN);
     printw("...and drawing a box which should be followed by lines\n");
-    bkgdset(ACS_HLINE | (attr_t) COLOR_PAIR(3));
+    bkgdset(ACS_HLINE | (chtype) COLOR_PAIR(3));
     /*
      * Characters from vt100 line-drawing should be mapped to line-drawing,
      * since A_ALTCHARSET is set in the background, and the character part
@@ -94,36 +96,36 @@ test_background(void)
     for (chr = 0; chr < 32; ++chr)
        AddCh(' ');
     printw("j\n");
-    getch();
+    dump_window(stdscr);
 
     bkgdset((chtype) (' ' | COLOR_PAIR(0)));
     printw("Default Colors\n");
-    getch();
+    dump_window(stdscr);
 
     printw("Resetting colors to pair 1\n");
     bkgdset((chtype) (' ' | COLOR_PAIR(1)));
     printw("This line should be red/%s\n", color_name(default_bg));
-    getch();
+    dump_window(stdscr);
 
     printw("Setting screen to pair 0\n");
     bkgd((chtype) (' ' | COLOR_PAIR(0)));
-    getch();
+    dump_window(stdscr);
 
     printw("Setting screen to pair 1\n");
     bkgd((chtype) (' ' | COLOR_PAIR(1)));
-    getch();
+    dump_window(stdscr);
 
     printw("Setting screen to pair 2\n");
     bkgd((chtype) (' ' | COLOR_PAIR(2)));
-    getch();
+    dump_window(stdscr);
 
     printw("Setting screen to pair 3\n");
     bkgd((chtype) (' ' | COLOR_PAIR(3)));
-    getch();
+    dump_window(stdscr);
 
     printw("Setting screen to pair 0\n");
     bkgd((chtype) (' ' | COLOR_PAIR(0)));
-    getch();
+    dump_window(stdscr);
 }
 
 static void
@@ -164,7 +166,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
 
     setlocale(LC_ALL, "");
 
-    while ((n = getopt(argc, argv, "ab:df:")) != -1) {
+    while ((n = getopt(argc, argv, "ab:df:l:")) != -1) {
        switch (n) {
 #if HAVE_ASSUME_DEFAULT_COLORS
        case 'a':
@@ -182,6 +184,10 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
        case 'f':
            default_fg = color_code(optarg);
            break;
+       case 'l':
+           if (!open_dump(optarg))
+               usage();
+           break;
        default:
            usage();
        }
@@ -230,6 +236,6 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
        getch();
     }
     endwin();
-
+    close_dump();
     ExitProgram(EXIT_SUCCESS);
 }