ncurses 5.5
[ncurses.git] / test / test.priv.h
index 18c1eb5c6fa5409b1f5eeaa0c37c5064ce753973..85e14a04af05d8c8c00a839a69295284bdfb7d69 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2002,2003 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            *
 /****************************************************************************
  *  Author: Thomas E. Dickey <dickey@clark.net> 1996                        *
  ****************************************************************************/
-/* $Id: test.priv.h,v 1.35 2002/06/29 23:36:12 tom Exp $ */
+/* $Id: test.priv.h,v 1.48 2004/04/10 20:11:37 tom Exp $ */
+
+#ifndef __TEST_PRIV_H
+#define __TEST_PRIV_H 1
 
-#if HAVE_CONFIG_H
 #include <ncurses_cfg.h>
-#else
-#define HAVE_CURSES_VERSION 0
-#define HAVE_RESIZETERM 0
-#define HAVE_USE_DEFAULT_COLORS 0
-#define HAVE_WRESIZE 0
+
+/*
+ * Fix ifdef's that look for the form/menu/panel libraries, if we are building
+ * with wide-character ncurses.
+ */
+#ifdef  HAVE_LIBFORMW
+#define HAVE_LIBFORM 1
+#endif
+
+#ifdef  HAVE_LIBMENUW
+#define HAVE_LIBMENU 1
+#endif
+
+#ifdef  HAVE_LIBPANELW
+#define HAVE_LIBPANEL 1
 #endif
 
+/*
+ * Fallback definitions to accommodate broken compilers
+ */
 #ifndef HAVE_CURSES_VERSION
 #define HAVE_CURSES_VERSION 0
 #endif
 #define HAVE_PANEL_H 0
 #endif
 
+#ifndef HAVE_SLK_COLOR
+#define HAVE_SLK_COLOR 0
+#endif
+
 #ifndef HAVE_WRESIZE
 #define HAVE_WRESIZE 0
 #endif
 
+#ifndef NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 0
+#endif
+
 #ifndef NCURSES_NOMACROS
 #define NCURSES_NOMACROS 0
 #endif
 
 #include <signal.h>    /* include before curses.h to work around glibc bug */
 
+#if defined(HAVE_NCURSESW_NCURSES_H)
+#include <ncursesw/curses.h>
+#include <ncursesw/term.h>
+#elif defined(HAVE_NCURSES_NCURSES_H)
+#include <ncurses/curses.h>
+#include <ncurses/term.h>
+#else
 #include <curses.h>
 #include <term.h>
+#endif
+
+#ifdef NCURSES_VERSION
+#define HAVE_COLOR_SET 1
+#endif
 
 #if NCURSES_NOMACROS
 #include <nomacros.h>
@@ -125,6 +160,9 @@ extern int optind;
 #define setlocale(name,string) /* nothing */
 #endif
 
+#include <assert.h>
+#include <ctype.h>
+
 #ifndef GCC_NORETURN
 #define GCC_NORETURN /* nothing */
 #endif
@@ -144,24 +182,48 @@ extern int optind;
 #endif
 #endif
 
+#if HAVE_PANEL_H && HAVE_LIBPANEL
+#define USE_LIBPANEL 1
+#else
+#define USE_LIBPANEL 0
+#endif
+
+#if HAVE_MENU_H && HAVE_LIBMENU
+#define USE_LIBMENU 1
+#else
+#define USE_LIBMENU 0
+#endif
+
+#if HAVE_FORM_H && HAVE_LIBFORM
+#define USE_LIBFORM 1
+#else
+#define USE_LIBFORM 0
+#endif
+
 #ifndef HAVE_TYPE_ATTR_T
 #if !USE_WIDEC_SUPPORT
 #define attr_t long
 #endif
 #endif
 
-#ifndef NCURSES_CH_T
+#undef NCURSES_CH_T
 #if !USE_WIDEC_SUPPORT
 #define NCURSES_CH_T chtype
 #else
 #define NCURSES_CH_T cchar_t
 #endif
-#endif
 
 #ifndef CCHARW_MAX
 #define CCHARW_MAX 5
 #endif
 
+#ifndef CTRL
+#define CTRL(x)                ((x) & 0x1f)
+#endif
+
+#define QUIT           CTRL('Q')
+#define ESCAPE         CTRL('[')
+
 #ifndef KEY_MIN
 #define KEY_MIN 256    /* not defined in Solaris 8 */
 #endif
@@ -216,3 +278,21 @@ extern int optind;
 #ifndef NCURSES_CONST
 #define NCURSES_CONST /* nothing */
 #endif
+
+/* out-of-band values for representing absent capabilities */
+#define ABSENT_BOOLEAN         ((signed char)-1)       /* 255 */
+#define ABSENT_NUMERIC         (-1)
+#define ABSENT_STRING          (char *)0
+
+/* out-of-band values for representing cancels */
+#define CANCELLED_BOOLEAN      ((signed char)-2)       /* 254 */
+#define CANCELLED_NUMERIC      (-2)
+#define CANCELLED_STRING       (char *)(-1)
+
+#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */
+#define VALID_NUMERIC(s) ((s) >= 0)
+#define VALID_STRING(s)  ((s) != CANCELLED_STRING && (s) != ABSENT_STRING)
+
+#define VT_ACSC "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~"
+
+#endif /* __TEST_PRIV_H */