]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/new_pair.3x
ncurses 6.4 - patch 20240414
[ncurses.git] / man / new_pair.3x
index 5160db546017a12db35a2d227a00f979acc57451..5e844bf8fc25c7c437bbae4cc0871efb89e5c1fe 100644 (file)
@@ -1,5 +1,6 @@
 .\"***************************************************************************
-.\" Copyright (c) 2017,2018 Free Software Foundation, Inc.                   *
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
+.\" Copyright 2017 Free Software Foundation, Inc.                            *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
 .\"
 .\" Author: Thomas E. Dickey
 .\"
-.\" $Id: new_pair.3x,v 1.11 2018/04/01 00:01:17 tom Exp $
-.TH new_pair 3X ""
-.ie \n(.g .ds `` \(lq
-.el       .ds `` ``
-.ie \n(.g .ds '' \(rq
-.el       .ds '' ''
+.\" $Id: new_pair.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
+.TH new_pair 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.\}
+.el \{\
+.ie t .ds `` ``
+.el   .ds `` ""
+.ie t .ds '' ''
+.el   .ds '' ""
+.\}
+.
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
 ..
-.de NS
-.ie n  .sp
-.el    .sp .5
-.ie n  .in +4
-.el    .in +2
-.nf
-.ft C                  \" Courier
-..
-.de NE
-.fi
-.ft R
-.in -4
-..
 .SH NAME
-\fBalloc_pair\fP,
-\fBfind_pair\fP,
-\fBfree_pair\fP \- new curses color-pair functions
+\fB\%alloc_pair\fP,
+\fB\%find_pair\fP,
+\fB\%free_pair\fP \-
+dynamically allocate \fIcurses\fR color pairs
 .SH SYNOPSIS
-\fB#include <curses.h>\fP
-.sp
-\fBint alloc_pair(int fg, int bg);\fP
-.br
-\fBint find_pair(int fg, int bg);\fP
-.br
-\fBint free_pair(int pair);\fP
+.nf
+\fB#include <curses.h>
+.PP
+\fBint alloc_pair(int \fIfg\fP, int \fIbg\fP);
+\fBint find_pair(int \fIfg\fP, int \fIbg\fP);
+\fBint free_pair(int \fIpair\fP);
+.fi
 .SH DESCRIPTION
-These functions are an extension to the curses library.
+These functions are an extension to the \fIcurses\fP library.
 They permit an application to dynamically allocate a color pair using
 the foreground/background colors rather than assign a fixed color pair number,
 and return an unused pair to the pool.
@@ -78,30 +74,37 @@ it is unlikely that your terminal allows you to modify the attributes
 of a given character cell without rewriting it.
 That is, the foreground and background colors are applied as a pair.
 .bP
-Color pairs are the curses library's way of managing a color palette
+Color pairs are the \fIcurses\fP library's way of managing a color palette
 on a terminal.
-If the library does not keep track of the \fIcombinations\fP of 
+If the library does not keep track of the \fIcombinations\fP of
 colors which are displayed, it will be inefficient.
-.bP
+.IP \(bu 4
 For simple terminal emulators
 with only a few dozen color combinations,
 it is convenient to use the maximum number of combinations
 as the limit on color pairs:
-.NS
-\fBCOLORS\fP\fI * \fP\fBCOLORS\fP
-.NE
-.bP
-Terminals which support \fIdefault colors\fP distinct from \*(``ANSI colors\*('' 
+.PP
+.RS 8
+.EX
+\fBCOLORS\fI * \fBCOLORS\fR
+.EE
+.RE
+.IP \(bu 4
+Terminals which support \fIdefault colors\fP distinct
+from \*(``ANSI colors\*(''
 add to the possible combinations, producing this total:
-.NS
-\fI( \fP\fBCOLORS\fP\fI + 1 ) * ( \fP\fBCOLORS\fP\fI + 1 )\fP
-.NE
+.PP
+.RS 8
+.EX
+\fI( \fBCOLORS\fI + 1 ) * ( \fBCOLORS\fI + 1 )\fR
+.EE
+.RE
 .bP
 An application might use up to a few dozen color pairs to
 implement a predefined color scheme.
 .IP
 Beyond that lies in the realm of programs using the foreground
-and background colors for \*(``ASCII art\*('' 
+and background colors for \*(``ASCII art\*(''
 (or some other non-textual application).
 .IP
 Also beyond those few dozen pairs, the required size for a table
@@ -114,18 +117,21 @@ The \fBalloc_pair\fP function accepts parameters for
 foreground and background color, and
 checks if that color combination is already associated with a color pair.
 .bP
-If the combination already exists, \fBalloc_pair\fP returns the existing pair.
+If the combination already exists,
+\fBalloc_pair\fP returns the existing pair.
 .bP
-If the combination does not exist, \fBalloc_pair\fP allocates a new color pair and returns that.
+If the combination does not exist,
+\fBalloc_pair\fP allocates a new color pair and returns that.
 .bP
 If the table fills up, \fBalloc_pair\fP discards the least-recently
 allocated entry using \fBfree_pair\fP and allocates a new color pair.
 .PP
 All of the color pairs are allocated from a table of possible color pairs.
-The size of the table is determined by the terminfo \fIpairs\fP capability.
+The size of the table is determined by the terminfo \fBpairs\fP capability.
 The table is shared with \fBinit_pair\fP;
 in fact \fBalloc_pair\fP calls \fBinit_pair\fP after
-updating the ncurses library's fast index to the colors versus color pairs.
+updating the \fI\%ncurses\fP library's fast index
+to the colors versus color pairs.
 .SS find_pair
 The \fBfind_pair\fP function accepts parameters for
 foreground and background color, and
@@ -136,11 +142,11 @@ Otherwise it returns \-1.
 Marks the given color pair as unused,
 i.e., like color pair 0.
 .SH RETURN VALUE
-.PP
 The \fBalloc_pair\fP function returns a color pair number in the range
 1 through \fBCOLOR_PAIRS\fP\-1, unless it encounters an error updating
 its fast index to the color pair values, preventing it from allocating
-a color pair.  In that case, it returns \-1.
+a color pair.
+In that case, it returns \-1.
 .PP
 The \fBfind_pair\fP function returns a color pair number if the
 given color combination has been associated with a color pair,
@@ -149,10 +155,12 @@ or \-1 if not.
 Likewise, \fBfree_pair\fP returns \fBOK\fP unless it encounters an
 error updating the fast index or if no such color pair is in use.
 .SH PORTABILITY
-These routines are specific to ncurses.  They were not supported on
-Version 7, BSD or System V implementations.  It is recommended that
-any code depending on them be conditioned using NCURSES_VERSION.
+These routines are specific to \fI\%ncurses\fP.
+They were not supported on
+Version 7, BSD or System V implementations.
+It is recommended that
+any code depending on them be conditioned using \fB\%NCURSES_VERSION\fP.
+.SH AUTHORS
+Thomas Dickey
 .SH SEE ALSO
-\fBcurs_color\fR(3X).
-.SH AUTHOR
-Thomas Dickey.
+\fB\%curs_color\fP(3X)