]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - include/curses.h.in
ncurses 5.6 - patch 20080830
[ncurses.git] / include / curses.h.in
index d16147fd0c4a3a6bf16bd1f14007fa1831692a8c..53da9a564fe50d71df90b038df8e7ffc9a63938e 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 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            *
@@ -32,7 +32,7 @@
  *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.174 2007/06/23 15:56:44 tom Exp $ */
+/* $Id: curses.h.in,v 1.187 2008/08/30 20:11:29 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
@@ -350,6 +350,8 @@ typedef struct
     attr_t     attr;
     wchar_t    chars[CCHARW_MAX];
 #if @NCURSES_EXT_COLORS@
+#undef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS @NCURSES_PATCH@
     int                ext_color;      /* color pair, must be more than 16-bits */
 #endif
 }
@@ -421,7 +423,8 @@ struct _win_st
  */
 #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__) */
 
@@ -712,7 +715,7 @@ extern NCURSES_EXPORT(int) standout (void);                         /* generated */
 extern NCURSES_EXPORT(int) standend (void);                            /* generated */
 extern NCURSES_EXPORT(int) start_color (void);                         /* implemented */
 extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */
-extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int);     /* implemented */
+extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int); /* implemented */
 extern NCURSES_EXPORT(int) syncok (WINDOW *, bool);                    /* implemented */
 extern NCURSES_EXPORT(chtype) termattrs (void);                                /* implemented */
 extern NCURSES_EXPORT(char *) termname (void);                         /* implemented */
@@ -826,6 +829,10 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *);                       /* generated */
  * These functions are extensions - not in X/Open Curses.
  */
 #if @NCURSES_EXT_FUNCS@
+#undef  NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS @NCURSES_PATCH@
+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);
@@ -835,9 +842,13 @@ extern NCURSES_EXPORT(int) key_defined (const char *);
 extern NCURSES_EXPORT(int) keyok (int, bool);
 extern NCURSES_EXPORT(int) resize_term (int, int);
 extern NCURSES_EXPORT(int) resizeterm (int, int);
+extern NCURSES_EXPORT(int) set_escdelay (int);
+extern NCURSES_EXPORT(int) set_tabsize (int);
 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_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);
 
@@ -845,16 +856,18 @@ extern NCURSES_EXPORT(void) nofilter(void);
  * These extensions provide access to information stored in the WINDOW even
  * when NCURSES_OPAQUE is set:
  */
-extern NCURSES_EXPORT(bool) is_cleared (WINDOW *);     /* generated */
-extern NCURSES_EXPORT(bool) is_idcok (WINDOW *);       /* generated */
-extern NCURSES_EXPORT(bool) is_idlok (WINDOW *);       /* generated */
-extern NCURSES_EXPORT(bool) is_immedok (WINDOW *);     /* generated */
-extern NCURSES_EXPORT(bool) is_keypad (WINDOW *);      /* generated */
-extern NCURSES_EXPORT(bool) is_leaveok (WINDOW *);     /* generated */
-extern NCURSES_EXPORT(bool) is_nodelay (WINDOW *);     /* generated */
-extern NCURSES_EXPORT(bool) is_notimeout (WINDOW *);   /* generated */
-extern NCURSES_EXPORT(bool) is_scrollok (WINDOW *);    /* generated */
-extern NCURSES_EXPORT(bool) is_syncok (WINDOW *);      /* generated */
+extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *);   /* generated */
+extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *);         /* generated */
+extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *);         /* generated */
+extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *);                /* generated */
+extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *);       /* generated */
+extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *);     /* generated */
+extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *);      /* generated */
+extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *);                /* generated */
+extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
 
 #else
 #define curses_version() NCURSES_VERSION
@@ -900,17 +913,21 @@ extern NCURSES_EXPORT(bool) is_syncok (WINDOW *); /* generated */
 #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)
 
@@ -1098,13 +1115,13 @@ extern NCURSES_EXPORT(bool) is_syncok (WINDOW *);       /* generated */
 #define wattr_set(win,a,p,opts)                ((win)->_attrs = ((a) & ~A_COLOR), \
                                         (win)->_color = (p), \
                                         OK)
-#define wattr_get(win,a,p,opts)                ((void)((a) != 0 && (*(a) = (win)->_attrs)), \
-                                        (void)((p) != 0 && (*(p) = (win)->_color)), \
+#define wattr_get(win,a,p,opts)                ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+                                        (void)((p) != (void *)0 && (*(p) = (win)->_color)), \
                                         OK)
 #else
 #define wattr_set(win,a,p,opts)                ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK)
-#define wattr_get(win,a,p,opts)                ((void)((a) != 0 && (*(a) = (win)->_attrs)), \
-                                        (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \
+#define wattr_get(win,a,p,opts)                ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
+                                        (void)((p) != (void *)0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \
                                         OK)
 #endif
 #endif /* NCURSES_OPAQUE */
@@ -1141,6 +1158,8 @@ NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
 #define is_notimeout(win)      ((win)->_notimeout)
 #define is_scrollok(win)       ((win)->_scroll)
 #define is_syncok(win)         ((win)->_sync)
+#define wgetparent(win)                ((win) ? (win)->_parent : 0)
+#define wgetscrreg(win,t,b)    ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
 #endif
 #endif