Source Code File 10-04_subsub
10-04_subsub.c
#include <ncurses.h> int main() { WINDOW *grandpa,*father,*son; int gl,gc; initscr(); refresh(); /* update stdscr */ /* set colors */ start_color(); init_pair(1,COLOR_WHITE,COLOR_BLUE); init_pair(2,COLOR_RED,COLOR_YELLOW); init_pair(3,COLOR_BLACK,COLOR_GREEN); /* create windows */ grandpa = newwin(LINES-4,COLS-10,2,5); getmaxyx(grandpa,gl,gc); father = derwin(grandpa,gl/2,gc,gl/2,0); son = derwin(father,gl/2,3,0,(gc-4)/2); /* color windows and splash some text */ wbkgd(grandpa,COLOR_PAIR(1)); waddstr(grandpa,"I am Grandpa\n"); wbkgd(father,COLOR_PAIR(2)); waddstr(father,"I am Father\n"); wclrtobot(father); wbkgd(son,COLOR_PAIR(3)); waddstr(son,"I am the boy\n"); wrefresh(grandpa); getch(); endwin(); return(0); }
Output Screenshot
Notes
* The wbkgd() function may not fill a subwindow with color, which it would otherwise do to a primary window. This failure is one of the quirks of subwindows. To ensure that window father is filled with red text on yellow, I added a clrtobot() function at Line 28.
Copyright © 1997-2024 by QPBC.
All rights reserved