* wrs(5/28/93) -- modified to be consistent (perform identically) with either
* PDCurses or under Unix System V, R4
*
- * $Id: testcurs.c,v 1.53 2017/12/23 21:38:26 tom Exp $
+ * $Id: testcurs.c,v 1.58 2023/05/28 14:23:34 tom Exp $
*/
#include <test.priv.h>
PDC_debug("initTest called\n");
#endif
#ifdef TRACE
- trace(TRACE_MAXIMUM);
+ curses_trace(TRACE_MAXIMUM);
#endif
initscr();
#ifdef PDCDEBUG
height = 13; /* Create a drawing window */
*win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2);
if (*win == NULL) {
- exit_curses();
+ stop_curses();
return 0;
}
return 1;
{
int answered;
int repeat;
- int w, h, bx, by, sw, sh, i, c, num;
+ int w, h, bx, by, sw, sh, i, num;
char buffer[80];
WINDOW *subWin;
wclear(win);
#endif
for (;;) {
+ int c;
+
wmove(win, 3, 5);
c = wgetch(win);
wclrtobot(win);
#ifdef KEY_MOUSE
if (c == KEY_MOUSE) {
#if defined(NCURSES_MOUSE_VERSION)
-#define ButtonChanged(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, 037))
-#define ButtonPressed(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED))
-#define ButtonDouble(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED))
-#define ButtonTriple(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED))
-#define ButtonRelease(n) ((event.bstate) & NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED))
+#define ButtonChanged(n) ((event.bstate) & NCURSES_MOUSE_MASK(n, (NCURSES_BUTTON_RELEASED|NCURSES_BUTTON_PRESSED|NCURSES_BUTTON_CLICKED|NCURSES_DOUBLE_CLICKED|NCURSES_TRIPLE_CLICKED|NCURSES_RESERVED_EVENT)))
+#define ButtonPressed(n) ((event.bstate) & NCURSES_MOUSE_MASK(n, NCURSES_BUTTON_PRESSED))
+#define ButtonDouble(n) ((event.bstate) & NCURSES_MOUSE_MASK(n, NCURSES_DOUBLE_CLICKED))
+#define ButtonTriple(n) ((event.bstate) & NCURSES_MOUSE_MASK(n, NCURSES_TRIPLE_CLICKED))
+#define ButtonRelease(n) ((event.bstate) & NCURSES_MOUSE_MASK(n, NCURSES_BUTTON_RELEASED))
MEVENT event;
int button = 0;
static void
outputTest(WINDOW *win)
{
- WINDOW *win1;
char Buffer[80];
chtype ch;
int by, bx;
MvWAddStr(win, 6, 1, "display of at least 24 LINES by 75 COLUMNS");
Continue(win);
} else {
- win1 = newwin(10, 50, 14, 25);
+ WINDOW *win1 = newwin(10, 50, 14, 25);
if (win1 == NULL) {
endwin();
return;
win1 = newwin(10, 50, 14, 25);
if (win1 == NULL) {
- exit_curses();
+ stop_curses();
return;
}
#ifdef A_COLOR
static void
padTest(WINDOW *dummy GCC_UNUSED)
{
- WINDOW *pad, *spad;
+ WINDOW *pad;
if ((pad = newpad(50, 100)) != 0) {
+ WINDOW *spad;
+
wattron(pad, A_REVERSE);
MvWAddStr(pad, 5, 2, "This is a new pad");
(void) wattrset(pad, A_NORMAL);
refresh();
}
+static void
+usage(int ok)
+{
+ static const char *msg[] =
+ {
+ "Usage: testcurs [options]"
+ ,""
+ ,USAGE_COMMON
+ };
+ size_t n;
+
+ for (n = 0; n < SIZEOF(msg); n++)
+ fprintf(stderr, "%s\n", msg[n]);
+
+ ExitProgram(ok ? EXIT_SUCCESS : EXIT_FAILURE);
+}
+/* *INDENT-OFF* */
+VERSION_COMMON()
+/* *INDENT-ON* */
+
int
-main(
- int argc GCC_UNUSED,
- char *argv[]GCC_UNUSED)
+main(int argc, char *argv[])
{
WINDOW *win;
- int key;
int old_option = (-1);
int new_option = 0;
bool quit = FALSE;
int n;
+ int ch;
+
+ while ((ch = getopt(argc, argv, OPTS_COMMON)) != -1) {
+ switch (ch) {
+ case OPTS_VERSION:
+ show_version(argv);
+ ExitProgram(EXIT_SUCCESS);
+ default:
+ usage(ch == OPTS_USAGE);
+ /* NOTREACHED */
+ }
+ }
+ if (optind < argc)
+ usage(FALSE);
setlocale(LC_ALL, "");
erase();
display_menu(old_option, new_option);
+
for (;;) {
+ int key;
+
#ifdef A_COLOR
if (has_colors()) {
init_pair(1, COLOR_WHITE, COLOR_BLUE);
delwin(win);
- exit_curses();
+ stop_curses();
#ifdef XCURSES
XCursesExit();
#endif