X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fman%2Fcurs_bkgd.3x.html;h=4c772ccd14126586822c6325140ee1b47af7ab2c;hb=c55d387cebf1cee4757ca2c2ef4fbeae59ee4175;hp=04e8f3212ae64573e26884df379a27867a24c41d;hpb=ed646e3f683083e787c6ba773364401dc9fa9d40;p=ncurses.git diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html index 04e8f321..4c772ccd 100644 --- a/doc/html/man/curs_bkgd.3x.html +++ b/doc/html/man/curs_bkgd.3x.html @@ -1,6 +1,6 @@
- +The bkgd and wbkgd functions set the background property of the current or specified window and then apply this setting to every character - position in that window: + position in that window. According to X/Open Curses, it should do + this: - o The rendition of every character on the screen is changed to the + o The rendition of every character on the screen is changed to the new background rendition. - o Wherever the former background character appears, it is changed to + o Wherever the former background character appears, it is changed to the new background character. + Neither X/Open Curses nor the SVr4 manual pages give details about the + way the rendition of characters on the screen is updated when bkgd or + wbkgd is used to change the background character. + + This implementation, like SVr4 curses, does not store the background + and window attribute contributions to each cell separately. It updates + the rendition by comparing the character, non-color attributes and col- + ors contained in the background. For each cell in the window, whether + or not it is blank: + + o The library first compares the character, and if it matches the + current character part of the background, it replaces that with the + new background character. + + o The library then checks if the cell uses color, i.e., its color + pair value is nonzero. If not, it simply replaces the attributes + and color pair in the cell with those from the new background char- + acter. + + o If the cell uses color, and that matches the color in the current + background, the library removes attributes which may have come from + the current background and adds attributes from the new background. + It finishes by setting the cell to use the color from the new back- + ground. + + o If the cell uses color, and that does not match the color in the + current background, the library updates only the non-color + attributes, first removing those which may have come from the cur- + rent background, and then adding attributes from the new back- + ground. + + If the background's character value is zero, a space is assumed. + + If the terminal does not support color, or if color has not been + started with start_color, the new background character's color + attribute will be ignored. +
The getbkgd function returns the given window's current background @@ -96,19 +134,32 @@
- The routines bkgd and wbkgd return the integer OK. The SVr4.0 manual - says "or a non-negative integer if immedok is set", but this appears to - be an error. + These functions are described in the XSI Curses standard, Issue 4. It + specifies that bkgd and wbkgd return ERR on failure, but gives no fail- + ure conditions. + + The routines bkgd and wbkgd return the integer OK, unless the library + has not been initialized. + + In contrast, the SVr4.0 manual says bkgd and wbkgd may return OK "or a + non-negative integer if immedok is set", which refers to the return + value from wrefresh (used to implement the immediate repainting). The + SVr4 curses wrefresh returns the number of characters written to the + screen during the refresh. This implementation does not do that.
Note that bkgdset and bkgd may be macros. + X/Open Curses mentions that the character part of the background must + be a single-byte value. This implementation, like SVr4, checks to + ensure that, and will reuse the old background character if the check + fails. +
- These functions are described in the XSI Curses standard, Issue 4. It - specifies that bkgd and wbkgd return ERR on failure, but gives no fail- - ure conditions. + These functions are described in the XSI Curses standard, Issue 4 + (X/Open Curses).