ncurses 4.2
[ncurses.git] / Ada95 / html / curs_touch.3x.html
1 <HTML>
2 <BODY BGCOLOR="#99ccbb" TEXT="#000000" LINK="#4060b0" VLINK="#000080" ALINK="#ff4040">
3 <PRE>
4        <STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>,
5        <STRONG>is_wintouched</STRONG> - <STRONG>curses</STRONG> refresh control routines
6
7
8 </PRE>
9 <H2>SYNOPSIS</H2><PRE>
10        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
11        <STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
12        <STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>start,</STRONG> <STRONG>int</STRONG> <STRONG>count);</STRONG>
13        <STRONG>int</STRONG> <STRONG>untouchwin(WINDOW</STRONG> <STRONG>*win);</STRONG>
14        <STRONG>int</STRONG> <STRONG>wtouchln(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>n,</STRONG> <STRONG>int</STRONG> <STRONG>changed);</STRONG>
15        <STRONG>int</STRONG> <STRONG>is_linetouched(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>line);</STRONG>
16        <STRONG>int</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*win);</STRONG>
17
18
19 </PRE>
20 <H2>DESCRIPTION</H2><PRE>
21        The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away  all  opti-
22        mization  information about which parts of the window have
23        been touched, by pretending that  the  entire  window  has
24        been  drawn  on.   This  is sometimes necessary when using
25        overlapping windows, since a change to one window  affects
26        the other window, but the records of which lines have been
27        changed in the other window do  not  reflect  the  change.
28        The  routine <STRONG>touchline</STRONG> only pretends that <EM>count</EM> lines have
29        been changed, beginning with line <EM>start</EM>.
30
31        The <STRONG>untouchwin</STRONG> routine marks all lines in  the  window  as
32        unchanged since the last call to <STRONG>wrefresh</STRONG>.
33
34        The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting
35        at line <EM>y</EM>, look as if they have (<EM>changed</EM><STRONG>=1</STRONG>)  or  have  not
36        (<EM>changed</EM><STRONG>=0</STRONG>)  been changed since the last call to <STRONG>wrefresh</STRONG>.
37
38        The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return  <STRONG>TRUE</STRONG>
39        if  the  specified line/window was modified since the last
40        call to <STRONG>wrefresh</STRONG>; otherwise they return <STRONG>FALSE</STRONG>.   In  addi-
41        tion,  <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if <EM>line</EM> is not valid for
42        the given window.
43
44
45 </PRE>
46 <H2>RETURN VALUE</H2><PRE>
47        All routines return the integer <STRONG>ERR</STRONG> upon  failure  and  an
48        integer  value  other than <STRONG>ERR</STRONG> upon successful completion,
49        unless otherwise noted in the preceding  routine  descrip-
50        tions.
51
52
53 </PRE>
54 <H2>PORTABILITY</H2><PRE>
55        The  XSI  Curses  standard,  Issue 4 describes these func-
56        tions.
57
58        Some historic curses implementations had,  as  an  undocu-
59        mented  feature,  the  ability  to  do  the  equivalent of
60        <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touchwin(stdscr)</STRONG>  or  <STRONG>clear(std-</STRONG>
61        <STRONG>scr)</STRONG>.  This will not work under ncurses.
62
63
64 </PRE>
65 <H2>NOTES</H2><PRE>
66        <STRONG><A HREF="ncurses.3x.html">curses(3X)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3X)</A></STRONG>.
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118 </PRE>
119 </BODY>
120 </HTML>