new_pair(3x) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

new_pair(3x)

new_pair(3x)                     Library calls                    new_pair(3x)

NAME
       alloc_pair,  find_pair,  free_pair  - dynamically allocate curses color
       pairs

SYNOPSIS
       #include <ncursesw/curses.h>

       int alloc_pair(int fg, int bg);
       int find_pair(int fg, int bg);
       int free_pair(int pair);

DESCRIPTION
       These functions are an extension to the curses library.  They permit an
       application to dynamically  allocate  a  color  pair  using  the  fore‐
       ground/background  colors rather than assign a fixed color pair number,
       and return an unused pair to the pool.

       The number of colors may be related to the  number  of  possible  color
       pairs for a given terminal, or it may not:

       •   While almost all terminals allow setting the color attributes inde‐
           pendently,  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.

       •   Color pairs are the  curses  library's  way  of  managing  a  color
           palette  on  a terminal.  If the library does not keep track of the
           combinations of colors which are displayed, it will be inefficient.

       •   For simple terminal emulators with only a few dozen color  combina‐
           tions,  it  is convenient to use the maximum number of combinations
           as the limit on color pairs:

               COLORS * COLORS

       •   Terminals which support default colors distinct from “ANSI  colors”
           add to the possible combinations, producing this total:

               ( COLORS + 1 ) * ( COLORS + 1 )

       •   An application might use up to a few dozen color pairs to implement
           a predefined color scheme.

           Beyond  that lies in the realm of programs using the foreground and
           background colors for “ASCII art” (or some other non-textual appli‐
           cation).

           Also beyond those few dozen pairs, the required size for a table to
           represent the combinations grows rapidly with an increasing  number
           of colors.

           These  functions allow a developer to let the screen library manage
           color pairs.

   alloc_pair
       The alloc_pair function accepts parameters  for  foreground  and  back‐
       ground  color, and checks whether that color combination is already as‐
       sociated with a color pair.

       •   If the combination already exists, alloc_pair returns the  existing
           pair.

       •   If the combination does not exist, alloc_pair allocates a new color
           pair and returns that.

       •   If the table fills up, alloc_pair discards the least-recently allo‐
           cated entry using free_pair and allocates a new color pair.

       All  of  the  color  pairs are allocated from a table of possible color
       pairs.  The size of the table is determined by the terminfo pairs capa‐
       bility.  The table is shared with init_pair; in fact  alloc_pair  calls
       init_pair after updating the ncurses library's fast index to the colors
       versus color pairs.

   find_pair
       The find_pair function accepts parameters for foreground and background
       color,  and checks whether that color combination is already associated
       with a color pair, returning the pair number if it has been  allocated.
       Otherwise it returns -1.

   free_pair
       Marks the given color pair as unused, i.e., like color pair 0.

RETURN VALUE
       The  alloc_pair  function  returns  a  color pair number in the range 1
       through COLOR_PAIRS-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.

       The find_pair function returns a color pair number if the  given  color
       combination has been associated with a color pair, or -1 if not.

       Likewise,  free_pair  returns OK unless it encounters an error updating
       the fast index or if no such color pair is in use.

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.

AUTHORS
       Thomas Dickey


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       box; cbp-1 | cbp-1 l | l .  ATTRIBUTE TYPE ATTRIBUTE VALUE = Availabil‐
       ity   library/ncurses = Stability Uncommitted

SEE ALSO
       curs_color(3X)



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at:
       https://github.com/oracle/solaris-userland

       The original community source was downloaded from:
       https://invisible-mirror.net/archives/ncurses/cur‐
       rent/ncurses-6.5-20250614.tgz

       Further information about this software can be found on the open source
       community website at https://invisible-island.net/ncurses/.

ncurses 6.5                       2025-01-18                      new_pair(3x)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3