X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fnew_pair.3x;h=98166a9f81c15cd74860f8973dde6bf43805dcd2;hp=c22523887ac63b046960eb36824d09a9d6618b7d;hb=HEAD;hpb=e5d1530ca229aef94a3c84ad33f8ae89f35c4045 diff --git a/man/new_pair.3x b/man/new_pair.3x index c2252388..5e844bf8 100644 --- a/man/new_pair.3x +++ b/man/new_pair.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright 2018,2020 Thomas E. Dickey * +.\" 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 * @@ -29,44 +29,38 @@ .\" .\" Author: Thomas E. Dickey .\" -.\" $Id: new_pair.3x,v 1.15 2020/10/17 23:54:50 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 -.ie n .in -4 -.el .in -2 -.. .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 \fP -.sp -\fBint alloc_pair(int \fP\fIfg\fP\fB, int \fP\fIbg\fP\fB);\fP -.br -\fBint find_pair(int \fP\fIfg\fP\fB, int \fP\fIbg\fP\fB);\fP -.br -\fBint free_pair(int \fP\fIpair\fP\fB);\fP +.nf +\fB#include +.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. @@ -80,31 +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 +.PP +.RS 8 +.EX +\fBCOLORS\fI * \fBCOLORS\fR +.EE +.RE +.IP \(bu 4 Terminals which support \fIdefault colors\fP distinct -from \*(``ANSI colors\*('' +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 @@ -127,10 +127,11 @@ 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 @@ -141,7 +142,6 @@ 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 @@ -155,12 +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. +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 NCURSES_VERSION. +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)