* and: Thomas E. Dickey 1996-on *
****************************************************************************/
-/* $Id: curses.h.in,v 1.184 2008/03/08 21:03:48 tom Exp $ */
+/* $Id: curses.h.in,v 1.187 2008/08/30 20:11:29 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
*/
#if @NCURSES_EXT_FUNCS@
#ifdef NCURSES_WGETCH_EVENTS
-#if !defined(__BEOS__) /* Fix _nc_timed_wait() on BEOS... */
+#if !defined(__BEOS__) || defined(__HAIKU__)
+ /* Fix _nc_timed_wait() on BEOS... */
# define NCURSES_EVENT_VERSION 1
#endif /* !defined(__BEOS__) */
#if @NCURSES_EXT_FUNCS@
#undef NCURSES_EXT_FUNCS
#define NCURSES_EXT_FUNCS @NCURSES_PATCH@
-typedef int (*NCURSES_CALLBACK)(WINDOW *, void *);
+typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
+typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
extern NCURSES_EXPORT(bool) is_term_resized (int, int);
extern NCURSES_EXPORT(char *) keybound (int, int);
extern NCURSES_EXPORT(const char *) curses_version (void);
extern NCURSES_EXPORT(int) use_default_colors (void);
extern NCURSES_EXPORT(int) use_extended_names (bool);
extern NCURSES_EXPORT(int) use_legacy_coding (int);
-extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_CALLBACK, void *);
-extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_CALLBACK, void *);
+extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *);
+extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_WINDOW_CB, void *);
extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
extern NCURSES_EXPORT(void) nofilter(void);
#define getmaxyx(win,y,x) (y = getmaxy(win), x = getmaxx(win))
#define getparyx(win,y,x) (y = getpary(win), x = getparx(win))
-#define getsyx(y,x) do { if (is_leaveok(newscr)) \
- (y) = (x) = -1; \
- else \
- getyx(newscr,(y), (x)); \
+#define getsyx(y,x) do { if (newscr) { \
+ if (is_leaveok(newscr)) \
+ (y) = (x) = -1; \
+ else \
+ getyx(newscr,(y), (x)); \
+ } \
} while(0)
-#define setsyx(y,x) do { if ((y) == -1 && (x) == -1) \
- leaveok(newscr, TRUE); \
- else { \
- leaveok(newscr, FALSE); \
- wmove(newscr, (y), (x)); \
+#define setsyx(y,x) do { if (newscr) { \
+ if ((y) == -1 && (x) == -1) \
+ leaveok(newscr, TRUE); \
+ else { \
+ leaveok(newscr, FALSE); \
+ wmove(newscr, (y), (x)); \
+ } \
} \
} while(0)