Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/lib/libcurses/curses_private.h,v rcsdiff: /ftp/cvs/cvsroot/src/lib/libcurses/curses_private.h,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.20 retrieving revision 1.38 diff -u -p -r1.20 -r1.38 --- src/lib/libcurses/curses_private.h 2002/01/02 10:38:27 1.20 +++ src/lib/libcurses/curses_private.h 2006/01/15 11:43:54 1.38 @@ -1,4 +1,4 @@ -/* $NetBSD: curses_private.h,v 1.20 2002/01/02 10:38:27 blymn Exp $ */ +/* $NetBSD: curses_private.h,v 1.38 2006/01/15 11:43:54 jdc Exp $ */ /*- * Copyright (c) 1998-2000 Brett Lymn @@ -73,13 +73,16 @@ extern char *__tc_ac, *__tc_AB, *__tc_ae struct __ldata { wchar_t ch; /* Character */ attr_t attr; /* Attributes */ - wchar_t bch; /* Background character */ - attr_t battr; /* Background attributes */ }; #define __LDATASIZE (sizeof(__LDATA)) struct __line { +#ifdef DEBUG +#define SENTINEL_VALUE 0xaac0ffee + + unsigned int sentinel; /* try to catch line overflows */ +#endif #define __ISDIRTY 0x01 /* Line is dirty. */ #define __ISPASTEOL 0x02 /* Cursor is past end of line */ unsigned int flags; @@ -94,7 +97,8 @@ struct __window { /* Window structure. int begy, begx; /* Window home. */ int cury, curx; /* Current x, y coordinates. */ int maxy, maxx; /* Maximum values for curx, cury. */ - short ch_off; /* x offset for firstch/lastch. */ + int reqy, reqx; /* Size requested when created */ + int ch_off; /* x offset for firstch/lastch. */ __LINE **lines; /* Array of pointers to the lines */ __LINE *lspace; /* line space (for cleanup) */ __LDATA *wspace; /* window space (for cleanup) */ @@ -109,12 +113,18 @@ struct __window { /* Window structure. #define __LEAVEOK 0x00000100 /* If cursor left */ #define __KEYPAD 0x00010000 /* If interpreting keypad codes */ #define __NOTIMEOUT 0x00020000 /* Wait indefinitely for func keys */ +#define __IDCHAR 0x00040000 /* insert/delete char sequences */ +#define __ISPAD 0x00080000 /* "window" is a pad */ unsigned int flags; int delay; /* delay for getch() */ attr_t wattr; /* Character attributes */ wchar_t bch; /* Background character */ attr_t battr; /* Background attributes */ int scr_t, scr_b; /* Scrolling region top, bottom */ + SCREEN *screen; /* Screen for this window */ + int pbegy, pbegx, + sbegy, sbegx, + smaxy, smaxx; /* Saved prefresh() values */ }; /* Set of attributes unset by 'me' - 'mb', 'md', 'mh', 'mk', 'mp' and 'mr'. */ @@ -144,7 +154,7 @@ struct __pair { /* Maximum colours */ #define MAX_COLORS 64 /* Maximum colour pairs - determined by number of colour bits in attr_t */ -#define MAX_PAIRS 64 /* PAIR_NUMBER(__COLOR) + 1 */ +#define MAX_PAIRS PAIR_NUMBER(__COLOR) typedef struct keymap keymap_t; @@ -157,7 +167,7 @@ struct __screen { WINDOW *stdscr; /* Standard screen. */ WINDOW *__virtscr; /* Virtual screen (for doupdate()). */ int curwin; /* current window for refresh */ - short lx, ly; /* loop parameters for refresh */ + int lx, ly; /* loop parameters for refresh */ int COLS; /* Columns on the screen. */ int LINES; /* Lines on the screen. */ int COLORS; /* Maximum colors on the screen */ @@ -219,6 +229,7 @@ struct __screen { int echoit; int pfast; int rawmode; + int nl; int noqch; int clearok; int useraw; @@ -231,8 +242,11 @@ struct __screen { unsigned int len; int meta_state; char pad_char; - char ttytype[1024]; + char ttytype[128]; int endwin; + int notty; + int half_delay; + int resized; }; @@ -245,23 +259,23 @@ extern SCREEN *_cursesi_screen; /* Private functions. */ #ifdef DEBUG -void __CTRACE(const char *fmt, ...); +void __CTRACE(const char *, ...) __attribute__((__format__(__printf__, 1, 0))); #endif -void __cputchar_args(char ch, void *args); -void _cursesi_free_keymap(keymap_t *map); -int _cursesi_gettmode(SCREEN *screen); -void _cursesi_reset_acs(SCREEN *screen); -void _cursesi_resetterm(SCREEN *screen); -int _cursesi_setterm(char *type, SCREEN *screen); -int _cursesi_wnoutrefresh(SCREEN *screen, WINDOW *win); +void __cputchar_args(char, void *); +void _cursesi_free_keymap(keymap_t *); +int _cursesi_gettmode(SCREEN *); +void _cursesi_reset_acs(SCREEN *); +void _cursesi_resetterm(SCREEN *); +int _cursesi_setterm(char *, SCREEN *); int __delay(void); -unsigned int __hash(char *s, int len); -void __id_subwins(WINDOW *orig); -void __init_getch(SCREEN *screen); -void __init_acs(SCREEN *screen); -char *__longname(char *bp, char *def); /* Original BSD version */ -int __mvcur(int ly, int lx, int y, int x, int in_refresh); -WINDOW *__newwin(SCREEN *screen, int lines, int cols, int y, int x); +u_int __hash_more(const void *, size_t, u_int); +#define __hash(s, len) __hash_more((s), (len), 0u) +void __id_subwins(WINDOW *); +void __init_getch(SCREEN *); +void __init_acs(SCREEN *); +char *__longname(char *, char *); /* Original BSD version */ +int __mvcur(int, int, int, int, int); +WINDOW *__newwin(SCREEN *, int, int, int, int, int); int __nodelay(void); int __notimeout(void); char *__parse_cap(const char *, ...); @@ -271,25 +285,29 @@ void __restore_cursor_vis(void); void __restore_meta_state(void); void __restore_termios(void); void __restore_stophandler(void); +void __restore_winchhandler(void); void __save_termios(void); -void __set_color(attr_t attr); +void __set_color(WINDOW *win, attr_t attr); void __set_stophandler(void); -void __set_subwin(WINDOW *orig, WINDOW *win); -void __startwin(SCREEN *screen); -void __stop_signal_handler(int signo); +void __set_winchhandler(void); +void __set_subwin(WINDOW *, WINDOW *); +void __startwin(SCREEN *); +void __stop_signal_handler(int); int __stopwin(void); -void __swflags(WINDOW *win); -int __timeout(int delay); -int __touchline(WINDOW *win, int y, int sx, int ex); -int __touchwin(WINDOW *win); -char *__tscroll(const char *cap, int n1, int n2); +void __swflags(WINDOW *); +int __timeout(int); +int __touchline(WINDOW *, int, int, int); +int __touchwin(WINDOW *); +char *__tscroll(const char *, int, int); void __unsetattr(int); -int __waddch(WINDOW *win, __LDATA *dp); +void __unset_color(WINDOW *win); +int __waddch(WINDOW *, __LDATA *); int __wgetnstr(WINDOW *, char *, int); +void __winch_signal_handler(int); /* Private #defines. */ -#define min(a,b) (a < b ? a : b) -#define max(a,b) (a > b ? a : b) +#define min(a,b) ((a) < (b) ? (a) : (b)) +#define max(a,b) ((a) > (b) ? (a ): (b)) /* Private externs. */ extern int __echoit; @@ -297,7 +315,7 @@ extern int __endwin; extern int __pfast; extern int __rawmode; extern int __noqch; -extern attr_t __nca; extern attr_t __mask_op, __mask_me, __mask_ue, __mask_se; -extern struct __winlist *__winlistp; extern WINDOW *__virtscr; +extern int __using_color; +extern attr_t __default_color;