ncurses 6.0 - patch 20170506
[ncurses.git] / doc / html / man / curs_color.3x.html
1 <!-- 
2   ****************************************************************************
3   * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc.              *
4   *                                                                          *
5   * Permission is hereby granted, free of charge, to any person obtaining a  *
6   * copy of this software and associated documentation files (the            *
7   * "Software"), to deal in the Software without restriction, including      *
8   * without limitation the rights to use, copy, modify, merge, publish,      *
9   * distribute, distribute with modifications, sublicense, and/or sell       *
10   * copies of the Software, and to permit persons to whom the Software is    *
11   * furnished to do so, subject to the following conditions:                 *
12   *                                                                          *
13   * The above copyright notice and this permission notice shall be included  *
14   * in all copies or substantial portions of the Software.                   *
15   *                                                                          *
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
18   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
19   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
20   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
22   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
23   *                                                                          *
24   * Except as contained in this notice, the name(s) of the above copyright   *
25   * holders shall not be used in advertising or otherwise to promote the     *
26   * sale, use or other dealings in this Software without prior written       *
27   * authorization.                                                           *
28   ****************************************************************************
29   * @Id: curs_color.3x,v 1.50 2017/04/01 19:57:19 tom Exp @
30 -->
31 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
32 <HTML>
33 <HEAD>
34 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
35 <meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
36 <TITLE>curs_color 3x</TITLE>
37 <link rev=made href="mailto:bug-ncurses@gnu.org">
38 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
39 </HEAD>
40 <BODY>
41 <H1 class="no-header">curs_color 3x</H1>
42 <PRE>
43 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>                                                  <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
44
45
46
47
48 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
49        <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>,
50        <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>, <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color
51        manipulation routines
52
53
54 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
55        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
56
57        <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
58
59        <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
60        <STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
61
62        <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>f,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
63        <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>r,</STRONG> <STRONG>short</STRONG> <STRONG>g,</STRONG> <STRONG>short</STRONG> <STRONG>b);</STRONG>
64        /* extensions */
65        <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>f,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
66        <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>r,</STRONG> <STRONG>int</STRONG> <STRONG>g,</STRONG> <STRONG>int</STRONG> <STRONG>b);</STRONG>
67
68        <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <STRONG>color,</STRONG> <STRONG>short</STRONG> <STRONG>*r,</STRONG> <STRONG>short</STRONG> <STRONG>*g,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
69        <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <STRONG>pair,</STRONG> <STRONG>short</STRONG> <STRONG>*f,</STRONG> <STRONG>short</STRONG> <STRONG>*b);</STRONG>
70        /* extensions */
71        <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <STRONG>color,</STRONG> <STRONG>int</STRONG> <STRONG>*r,</STRONG> <STRONG>int</STRONG> <STRONG>*g,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
72        <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <STRONG>pair,</STRONG> <STRONG>int</STRONG> <STRONG>*f,</STRONG> <STRONG>int</STRONG> <STRONG>*b);</STRONG>
73
74        <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <STRONG>n);</STRONG>
75        <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG>
76
77
78 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
79
80 </PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
81        <STRONG>curses</STRONG> supports color attributes on terminals with that capability.  To
82        use these routines <STRONG>start_color</STRONG> must  be  called,  usually  right  after
83        <STRONG>initscr</STRONG>.  Colors are always used in pairs (referred to as color-pairs).
84        A color-pair consists of a foreground  color  (for  characters)  and  a
85        background  color (for the blank field on which the characters are dis-
86        played).  A  programmer  initializes  a  color-pair  with  the  routine
87        <STRONG>init_pair</STRONG>.  After it has been initialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to
88        convert the pair to a video attribute.
89
90        If a terminal is capable of redefining colors, the programmer  can  use
91        the  routine  <STRONG>init_color</STRONG> to change the definition of a color.  The rou-
92        tines <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or  <STRONG>FALSE</STRONG>,  depending
93        on whether the terminal has color capabilities and whether the program-
94        mer can change the colors.  The routine <STRONG>color_content</STRONG> allows a program-
95        mer  to  extract  the  amounts of red, green, and blue components in an
96        initialized color.  The routine <STRONG>pair_content</STRONG>  allows  a  programmer  to
97        find out how a given color-pair is currently defined.
98
99
100 </PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
101        The  <STRONG>curses</STRONG>  library  combines these inputs to produce the actual fore-
102        ground and background colors shown on the screen:
103
104        <STRONG>o</STRONG>   per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
105
106        <STRONG>o</STRONG>   the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
107
108        <STRONG>o</STRONG>   the background character (e.g., <STRONG>wbkgdset</STRONG>).
109
110        Per-character and window attributes are usually set by a parameter con-
111        taining  video attributes including a color pair value.  Some functions
112        such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color pair num-
113        ber.
114
115        The  background  character  is  a special case: it includes a character
116        value, just as if it were passed to <STRONG>waddch</STRONG>.
117
118        The <STRONG>curses</STRONG> library does the actual work of combining these color  pairs
119        in an internal function called from <STRONG>waddch</STRONG>:
120
121        <STRONG>o</STRONG>   If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it uses the special
122            color pair 0,
123
124            <STRONG>o</STRONG>   <STRONG>curses</STRONG> next checks the window attribute.
125
126            <STRONG>o</STRONG>   If the window attribute does not use color pair 0, <STRONG>curses</STRONG>  uses
127                the color pair from the window attribute.
128
129            <STRONG>o</STRONG>   Otherwise, <STRONG>curses</STRONG> uses the background character.
130
131        <STRONG>o</STRONG>   If  the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use
132            the special color pair 0, <STRONG>curses</STRONG> prefers the color  pair  from  the
133            parameter,  if  it  is nonzero.  Otherwise, it tries the window at-
134            tribute next, and finally the background character.
135
136        Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>.  Those do  not  com-
137        bine its parameter with a color pair.  Consequently those calls use on-
138        ly the window attribute or the background character.
139
140
141 </PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
142        In <STRONG>&lt;curses.h&gt;</STRONG> the following macros are defined.  These are the standard
143        colors (ISO-6429).  <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default
144        background color for all terminals.
145
146              <STRONG>COLOR_BLACK</STRONG>
147              <STRONG>COLOR_RED</STRONG>
148              <STRONG>COLOR_GREEN</STRONG>
149              <STRONG>COLOR_YELLOW</STRONG>
150              <STRONG>COLOR_BLUE</STRONG>
151              <STRONG>COLOR_MAGENTA</STRONG>
152              <STRONG>COLOR_CYAN</STRONG>
153              <STRONG>COLOR_WHITE</STRONG>
154
155        Some terminals support more than the eight (8)  "ANSI"  colors.   There
156        are no standard names for those additional colors.
157
158
159 </PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
160
161 </PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
162        is  initialized by <STRONG>start_color</STRONG> to the maximum number of colors the ter-
163        minal can support.
164
165
166 </PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
167        is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs  the
168        terminal can support.
169
170
171 </PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
172
173 </PRE><H3><a name="h3-start_color">start_color</a></H3><PRE>
174        The  <STRONG>start_color</STRONG>  routine  requires no arguments.  It must be called if
175        the programmer wants to use colors, and before any other color  manipu-
176        lation  routine  is  called.   It is good practice to call this routine
177        right after <STRONG>initscr</STRONG>.  <STRONG>start_color</STRONG> does this:
178
179        <STRONG>o</STRONG>   It initializes two global variables, <STRONG>COLORS</STRONG>  and  <STRONG>COLOR_PAIRS</STRONG>  (re-
180            spectively  defining  the  maximum number of colors and color-pairs
181            the terminal can support).
182
183        <STRONG>o</STRONG>   It initializes the special color pair <STRONG>0</STRONG> to the  default  foreground
184            and background colors.  No other color pairs are initialized.
185
186        <STRONG>o</STRONG>   It  restores the colors on the terminal to the values they had when
187            the terminal was just turned on.
188
189        <STRONG>o</STRONG>   If the terminal supports the <STRONG>initc</STRONG>  (<STRONG>initialize_color</STRONG>)  capability,
190            <STRONG>start_color</STRONG>  initializes  its  internal table representing the red,
191            green and blue components of the color palette.
192
193            The components depend on whether the terminal uses CGA (aka "ANSI")
194            or  HLS  (i.e.,  the  <STRONG>hls</STRONG>  (<STRONG>hue_lightness_saturation</STRONG>) capability is
195            set).  The table  is  initialized  first  for  eight  basic  colors
196            (black,  red,  green,  yellow, blue, magenta, cyan, and white), and
197            after that (if the terminal supports more than  eight  colors)  the
198            components are initialized to <STRONG>1000</STRONG>.
199
200            <STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to
201            match its built-in table.  An application may use <STRONG>init_color</STRONG> to al-
202            ter the internal table along with the terminal's color.
203
204        These  limits  apply  to  color values and color pairs.  Values outside
205        these limits are not legal, and may result in a runtime error:
206
207        <STRONG>o</STRONG>   <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG>  capabili-
208            ty, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
209
210        <STRONG>o</STRONG>   color  values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, inclu-
211            sive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
212
213        <STRONG>o</STRONG>   a special color value <STRONG>-1</STRONG> is used in certain extended  functions  to
214            denote the <EM>default</EM> <EM>color</EM> (see <STRONG>use_default_colors</STRONG>).
215
216        <STRONG>o</STRONG>   <STRONG>COLOR_PAIRS</STRONG>  corresponds to the terminal database's <STRONG>max_pairs</STRONG> capa-
217            bility, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
218
219        <STRONG>o</STRONG>   legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
220            sive.
221
222        <STRONG>o</STRONG>   color pair <STRONG>0</STRONG> is special; it denotes "no color".
223
224            Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually what-
225            ever the terminal implements before color is initialized.  It  can-
226            not be modified by the application.
227
228
229 </PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
230        The  <STRONG>has_colors</STRONG>  routine requires no arguments.  It returns <STRONG>TRUE</STRONG> if the
231        terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>.  This rou-
232        tine facilitates writing terminal-independent programs.  For example, a
233        programmer can use it to decide whether to  use  color  or  some  other
234        video attribute.
235
236
237 </PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
238        The <STRONG>can_change_color</STRONG> routine requires no arguments.  It returns <STRONG>TRUE</STRONG> if
239        the terminal supports colors and can change their  definitions;  other,
240        it  returns  <STRONG>FALSE</STRONG>.  This routine facilitates writing terminal-indepen-
241        dent programs.
242
243
244 </PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
245        The <STRONG>init_pair</STRONG> routine changes the definition of a color-pair.  It takes
246        three  arguments: the number of the color-pair to be changed, the fore-
247        ground color number, and the background color number.  For portable ap-
248        plications:
249
250        <STRONG>o</STRONG>   The  first  argument  must be a legal color pair value.  If default
251            colors are used (see <STRONG>use_default_colors</STRONG>) the upper limit is adjust-
252            ed to allow for extra pairs which use a default color in foreground
253            and/or background.
254
255        <STRONG>o</STRONG>   The second and third arguments must be legal color values.
256
257        If the color-pair was previously initialized, the screen  is  refreshed
258        and  all  occurrences of that color-pair are changed to the new defini-
259        tion.
260
261        As an extension, ncurses allows you to set color pair  <STRONG>0</STRONG>  via  the  <STRONG>as-</STRONG>
262        <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG>  routine, or to specify the use of default col-
263        ors (color number <STRONG>-1</STRONG>) if you first  invoke  the  <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
264        routine.
265
266
267 </PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
268        The  <STRONG>init_color</STRONG>  routine  changes  the definition of a color.  It takes
269        four arguments: the number of the color to be changed followed by three
270        RGB values (for the amounts of red, green, and blue components).
271
272        <STRONG>o</STRONG>   The  first argument must be a legal color value; default colors are
273            not allowed here.  (See the section <STRONG>Colors</STRONG> for  the  default  color
274            index.)
275
276        <STRONG>o</STRONG>   Each  of  the  last  three arguments must be a value in the range <STRONG>0</STRONG>
277            through <STRONG>1000</STRONG>.
278
279        When <STRONG>init_color</STRONG> is used, all occurrences of that color  on  the  screen
280        immediately change to the new definition.
281
282
283 </PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
284        The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity
285        of the red, green, and blue (RGB) components in a color.   It  requires
286        four  arguments:  the  color  number, and three addresses of <STRONG>short</STRONG>s for
287        storing the information about the amounts of red, green, and blue  com-
288        ponents in the given color.
289
290        <STRONG>o</STRONG>   The  first  argument  must  be a legal color value, i.e., <STRONG>0</STRONG> through
291            <STRONG>COLORS-1</STRONG>, inclusive.
292
293        <STRONG>o</STRONG>   The values that are stored at the addresses pointed to by the  last
294            three  arguments  are  in  the  range <STRONG>0</STRONG> (no component) through <STRONG>1000</STRONG>
295            (maximum amount of component), inclusive.
296
297
298 </PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE>
299        The <STRONG>pair_content</STRONG> routine allows programmers to find out what  colors  a
300        given  color-pair consists of.  It requires three arguments: the color-
301        pair number, and two addresses of <STRONG>short</STRONG>s for storing the foreground and
302        the background color numbers.
303
304        <STRONG>o</STRONG>   The  first argument must be a legal color value, i.e., in the range
305            <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
306
307        <STRONG>o</STRONG>   The values that are stored at the addresses pointed to by the  sec-
308            ond  and  third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, inclu-
309            sive.
310
311
312 </PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE>
313        <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from  its  <EM>attrs</EM>  parameter
314        and returns it as a color pair number.
315
316
317 </PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE>
318        Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute.
319        Attributes can hold color pairs in the range 0 to 255.  If you  need  a
320        color  pair  larger  than that, you must use functions such as <STRONG>attr_set</STRONG>
321        (which pass the color pair as a separate  parameter)  rather  than  the
322        legacy functions such as <STRONG>attrset</STRONG>.
323
324
325 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
326        The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
327
328        All  other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
329        specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful  com-
330        pletion.
331
332        X/Open  defines  no  error conditions.  This implementation will return
333        <STRONG>ERR</STRONG> on attempts to use color values outside the  range  <STRONG>0</STRONG>  to  <STRONG>COLORS</STRONG>-1
334        (except  for  the default colors extension), or use color pairs outside
335        the range <STRONG>0</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>.  Color values used in <STRONG>init_color</STRONG> must  be
336        in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.  An error is returned from all functions if the
337        terminal has not been initialized.  An error is returned from secondary
338        functions such as <STRONG>init_pair</STRONG> if <STRONG>start_color</STRONG> was not called.
339
340           <STRONG>init_color</STRONG>
341                returns an error if the terminal does not support this feature,
342                e.g., if the <STRONG>initialize_color</STRONG> capability  is  absent  from  the
343                terminal description.
344
345           <STRONG>start_color</STRONG>
346                returns an error if the color table cannot be allocated.
347
348
349 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
350        In  the  <STRONG>ncurses</STRONG>  implementation,  there is a separate color activation
351        flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and  <STRONG>COL-</STRONG>
352        <STRONG>OR_PAIRS</STRONG>  counts for each screen; the <STRONG>start_color</STRONG> function only affects
353        the current screen.  The SVr4/XSI interface is not really designed with
354        this  in  mind,  and historical implementations may use a single shared
355        color palette.
356
357        Setting an implicit background color via  a  color  pair  affects  only
358        character  cells  that  a character write operation explicitly touches.
359        To change the background color used when parts of a window are  blanked
360        by erasing or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
361
362        Several  caveats  apply  on  older x86 machines (e.g., i386, i486) with
363        VGA-compatible graphics:
364
365        <STRONG>o</STRONG>   COLOR_YELLOW is actually brown.  To get  yellow,  use  COLOR_YELLOW
366            combined with the <STRONG>A_BOLD</STRONG> attribute.
367
368        <STRONG>o</STRONG>   The  A_BLINK  attribute should in theory cause the background to go
369            bright.  This often fails to work, and even some cards for which it
370            mostly  works  (such  as the Paradise and compatibles) do the wrong
371            thing when you try to set a bright "yellow" background (you  get  a
372            blinking yellow foreground instead).
373
374        <STRONG>o</STRONG>   Color RGB values are not settable.
375
376
377 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
378        This  implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
379        and <STRONG>COLOR_PAIRS</STRONG>.
380
381        The <STRONG>init_pair</STRONG> routine accepts negative values of foreground  and  back-
382        ground  color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but only
383        if that routine has been first invoked.
384
385        The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all
386        terminals  can  be  modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> exten-
387        sion.
388
389        This implementation checks the pointers, e.g., for the values  returned
390        by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional pa-
391        rameters when null.
392
393        X/Open Curses does not specify a limit for the  number  of  colors  and
394        color pairs which a terminal can support.  However, in its use of <STRONG>short</STRONG>
395        for the parameters, it carries over SVr4's  implementation  detail  for
396        the compiled terminfo database, which uses signed 16-bit numbers.  This
397        implementation provides extended versions of those functions which  use
398        <STRONG>short</STRONG>  parameters, allowing applications to use larger color- and pair-
399        numbers.
400
401
402 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
403        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,  <STRONG>de-</STRONG>
404        <STRONG><A HREF="default_colors.3x.html">fault_colors(3x)</A></STRONG>
405
406
407
408                                                                 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
409 </PRE>
410 <div class="nav">
411 <ul>
412 <li><a href="#h2-NAME">NAME</a></li>
413 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
414 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
415 <ul>
416 <li><a href="#h3-Overview">Overview</a></li>
417 <li><a href="#h3-Color-Rendering">Color Rendering</a></li>
418 </ul>
419 </li>
420 <li><a href="#h2-CONSTANTS">CONSTANTS</a></li>
421 <li><a href="#h2-VARIABLES">VARIABLES</a>
422 <ul>
423 <li><a href="#h3-COLORS">COLORS</a></li>
424 <li><a href="#h3-COLOR_PAIRS">COLOR_PAIRS</a></li>
425 </ul>
426 </li>
427 <li><a href="#h2-FUNCTIONS">FUNCTIONS</a>
428 <ul>
429 <li><a href="#h3-start_color">start_color</a></li>
430 <li><a href="#h3-has_colors">has_colors</a></li>
431 <li><a href="#h3-can_change_color">can_change_color</a></li>
432 <li><a href="#h3-init_pair">init_pair</a></li>
433 <li><a href="#h3-init_color">init_color</a></li>
434 <li><a href="#h3-color_content">color_content</a></li>
435 <li><a href="#h3-pair_content">pair_content</a></li>
436 <li><a href="#h3-PAIR_NUMBER">PAIR_NUMBER</a></li>
437 <li><a href="#h3-COLOR_PAIR">COLOR_PAIR</a></li>
438 </ul>
439 </li>
440 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
441 <li><a href="#h2-NOTES">NOTES</a></li>
442 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
443 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
444 </ul>
445 </div>
446 </BODY>
447 </HTML>