]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - include/curses.h.in
ncurses 5.6 - patch 20070908
[ncurses.git] / include / curses.h.in
index 2517a4f98cce4499947b9d306f73ec6b76ef345b..4a06f16b623601c75a616123d3f31ca553e467db 100644 (file)
@@ -32,7 +32,7 @@
  *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.172 2007/03/31 20:46:06 tom Exp $ */
+/* $Id: curses.h.in,v 1.178 2007/09/08 21:24:55 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
@@ -712,7 +712,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 */
@@ -796,10 +796,10 @@ extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);            /* implemented *
 extern NCURSES_EXPORT(int) putp (const char *);                                /* implemented */
 
 #if NCURSES_TPARM_VARARGS
-extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);       /* implemented */
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);       /* special */
 #else
-extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);      /* implemented */
-extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);       /* implemented */
+extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long);      /* special */
+extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...);       /* special */
 #endif
 
 /*
@@ -826,6 +826,7 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *);                        /* generated */
  * These functions are extensions - not in X/Open Curses.
  */
 #if @NCURSES_EXT_FUNCS@
+typedef int (*NCURSES_CALLBACK)(WINDOW *, 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);
@@ -838,6 +839,8 @@ extern NCURSES_EXPORT(int) resizeterm (int, 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_CALLBACK, void *);
+extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_CALLBACK, void *);
 extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
 extern NCURSES_EXPORT(void) nofilter(void);
 
@@ -845,16 +848,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,14 +905,19 @@ 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))
 
-#if !NCURSES_OPAQUE
-#define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \
-                        else getyx(newscr,(y),(x)); \
+#define getsyx(y,x) do { if (is_leaveok(newscr)) \
+                           (y) = (x) = -1; \
+                        else \
+                            getyx(newscr,(y), (x)); \
                    } while(0)
-#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \
-                        else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \
+
+#define setsyx(y,x) do { if ((y) == -1 && (x) == -1) \
+                           leaveok(newscr, TRUE); \
+                        else { \
+                           leaveok(newscr, FALSE); \
+                           wmove(newscr, (y), (x)); \
+                       } \
                    } while(0)
-#endif /* NCURSES_OPAQUE */
 
 #ifndef NCURSES_NOMACROS
 
@@ -929,15 +939,15 @@ extern NCURSES_EXPORT(bool) is_syncok (WINDOW *); /* generated */
 
 /* It seems older SYSV curses versions define these */
 #if !NCURSES_OPAQUE
-#define getattrs(win)          ((win)?(win)->_attrs:A_NORMAL)
-#define getcurx(win)           ((win)?(win)->_curx:ERR)
-#define getcury(win)           ((win)?(win)->_cury:ERR)
-#define getbegx(win)           ((win)?(win)->_begx:ERR)
-#define getbegy(win)           ((win)?(win)->_begy:ERR)
-#define getmaxx(win)           ((win)?((win)->_maxx + 1):ERR)
-#define getmaxy(win)           ((win)?((win)->_maxy + 1):ERR)
-#define getparx(win)           ((win)?(win)->_parx:ERR)
-#define getpary(win)           ((win)?(win)->_pary:ERR)
+#define getattrs(win)          ((win) ? (win)->_attrs : A_NORMAL)
+#define getcurx(win)           ((win) ? (win)->_curx : ERR)
+#define getcury(win)           ((win) ? (win)->_cury : ERR)
+#define getbegx(win)           ((win) ? (win)->_begx : ERR)
+#define getbegy(win)           ((win) ? (win)->_begy : ERR)
+#define getmaxx(win)           ((win) ? ((win)->_maxx + 1) : ERR)
+#define getmaxy(win)           ((win) ? ((win)->_maxy + 1) : ERR)
+#define getparx(win)           ((win) ? (win)->_parx : ERR)
+#define getpary(win)           ((win) ? (win)->_pary : ERR)
 #endif /* NCURSES_OPAQUE */
 
 #define wstandout(win)         (wattrset(win,A_STANDOUT))
@@ -1136,6 +1146,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