X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fnew_pair.3x;h=98166a9f81c15cd74860f8973dde6bf43805dcd2;hp=5160db546017a12db35a2d227a00f979acc57451;hb=HEAD;hpb=74137fec04e130a88ef25618cf730af988a4f51a diff --git a/man/new_pair.3x b/man/new_pair.3x index 5160db54..5e844bf8 100644 --- a/man/new_pair.3x +++ b/man/new_pair.3x @@ -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 * @@ -28,43 +29,38 @@ .\" .\" 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 \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 +.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)