ncurses 5.7 - patch 20090530
[ncurses.git] / test / test.priv.h
index 0eabbcc754779e68714c518d705cb5f470703e5f..f62a930d2360981416b2444b68f7b67de8a30b88 100644 (file)
@@ -29,7 +29,7 @@
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
-/* $Id: test.priv.h,v 1.74 2008/02/23 23:02:41 tom Exp $ */
+/* $Id: test.priv.h,v 1.81 2008/12/28 20:20:39 juergen Exp $ */
 
 #ifndef __TEST_PRIV_H
 #define __TEST_PRIV_H 1
 
 #ifndef __TEST_PRIV_H
 #define __TEST_PRIV_H 1
@@ -359,6 +359,9 @@ extern int optind;
 #define KEY_MIN 256    /* not defined in Solaris 8 */
 #endif
 
 #define KEY_MIN 256    /* not defined in Solaris 8 */
 #endif
 
+#define colored_chtype(ch, attr, pair) \
+       ((ch) | (attr) | COLOR_PAIR(pair))
+
 /*
  * Workaround for HPUX
  */
 /*
  * Workaround for HPUX
  */
@@ -449,6 +452,7 @@ extern int optind;
 #endif
 #else
 #define typeMalloc(type,n) (type *) malloc((n) * sizeof(type))
 #endif
 #else
 #define typeMalloc(type,n) (type *) malloc((n) * sizeof(type))
+#define typeCalloc(type,elts) (type *) calloc((elts), sizeof(type))
 #define typeRealloc(type,n,p) (type *) realloc(p, (n) * sizeof(type))
 #endif
 
 #define typeRealloc(type,n,p) (type *) realloc(p, (n) * sizeof(type))
 #endif
 
@@ -463,6 +467,14 @@ extern int optind;
 #define EXIT_FAILURE 1
 #endif
 
 #define EXIT_FAILURE 1
 #endif
 
+#ifdef __MINGW32__
+#include <nc_mingw.h>
+/* conflicts in test/firstlast.c */
+#undef large
+#undef small
+
+#endif
+
 /* Use this to quiet gcc's -Wwrite-strings warnings, but accommodate SVr4
  * curses which doesn't have const parameters declared (so far) in the places
  * that XSI shows.
 /* Use this to quiet gcc's -Wwrite-strings warnings, but accommodate SVr4
  * curses which doesn't have const parameters declared (so far) in the places
  * that XSI shows.
@@ -528,23 +540,39 @@ extern char *tgoto(char *, int, int);     /* available, but not prototyped */
 #define CONST_MENUS /* nothing */
 #endif
 
 #define CONST_MENUS /* nothing */
 #endif
 
+#ifndef HAVE_USE_WINDOW
+#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915) || !NCURSES_EXT_FUNCS
+#define HAVE_USE_WINDOW 0
+#else
+#define HAVE_USE_WINDOW 1
+#endif
+#endif
+
 /*
  * Simplify setting up demo of threading with these macros.
  */
 /*
  * Simplify setting up demo of threading with these macros.
  */
-#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915) || !NCURSES_EXT_FUNCS
-typedef int (*NCURSES_CALLBACK)(WINDOW *, void *);
-#define WANT_USE_WINDOW() \
-static int \
-use_window(WINDOW *win, int (*func) (WINDOW *, void *), void *data) \
-{ \
-    return func(win, data); \
-} \
-       extern void _nc_want_use_window(void)
-#define USING_WINDOW(w,func) use_window(w, (NCURSES_CALLBACK) func, w)
+
+#if !HAVE_USE_WINDOW
+typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
+typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
+#endif
+
+#if HAVE_USE_WINDOW
+#define USING_WINDOW(w,func) use_window(w, (NCURSES_WINDOW_CB) func, w)
+#define USING_WINDOW2(w,func,data) use_window(w, (NCURSES_WINDOW_CB) func, data)
+#define WANT_USE_WINDOW() extern void _nc_want_use_window(void)
 #else
 #else
-#define WANT_USE_WINDOW() /* nothing */ \
-       extern void _nc_want_use_window(void)
 #define USING_WINDOW(w,func) func(w)
 #define USING_WINDOW(w,func) func(w)
+#define USING_WINDOW2(w,func,data) func(w,data)
+#define WANT_USE_WINDOW() extern void _nc_want_use_window(void)
+#endif
+
+#if HAVE_USE_WINDOW
+#define USING_SCREEN(s,func,data) use_screen(s, (NCURSES_SCREEN_CB) func, data)
+#define WANT_USE_SCREEN() extern void _nc_want_use_screen(void)
+#else
+#define USING_SCREEN(s,func,data) func(data)
+#define WANT_USE_SCREEN() extern void _nc_want_use_screen(void)
 #endif
 
 #ifdef TRACE
 #endif
 
 #ifdef TRACE
@@ -555,4 +583,6 @@ use_window(WINDOW *win, int (*func) (WINDOW *, void *), void *data) \
 #define USE_TRACE 0
 #endif
 
 #define USE_TRACE 0
 #endif
 
+#define init_mb(state) memset(&state, 0, sizeof(state))
+
 #endif /* __TEST_PRIV_H */
 #endif /* __TEST_PRIV_H */