|
|
1.1 root 1:
2: Subject: 386 curses
3:
4: 386 curses gives the window structure as follows.
5:
6: This is new code and will contain some bugs.
7:
8: typedef unsigned short chtype;
9:
10: struct _win_st {
11: short _cury, _curx;
12: short _maxy, _maxx;
13: short _begy, _begx;
14: short _flags;
15: chtype _attrs;
16: bool _clear;
17: bool _leave;
18: bool _scroll;
19: bool _idlok;
20: bool _use_keypad; /* 0=no, 1=yes, 2=yes/timeout */
21: bool _use_meta; /* T=use the meta key */
22: bool _nodelay; /* T=don't wait for tty input */
23: chtype **_line;
24: short *_firstchar; /* First changed character in the line */
25: short *_lastchar; /* Last changed character in the line */
26: short *_numchngd; /* Number of changes made in the line */
27: short _regtop; /* Top and bottom of scrolling region */
28: short _regbottom;
29: };
30:
31:
32: Note for the mvwin() function. Only use this for newwin() windows not
33: subwin() windows as the latter point to the parent window. Moving a
34: window does not erase the previous copy, to do this touchwin() and
35: refresh() the underlaying window. Note that touchwin() refresh() is
36: likely to erase other overlaying windows which must be touchwin()ed and
37: refresh()ed.
38:
39: If you are going to be doing much of this it is best to keep a tree
40: showing display structure. When a window is moved, touchwin and refresh
41: the window under the old location. When a window is touchwin() and
42: refresh()ed, touchwin() and refresh() any windows over it.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.