screen - window 계층 구조인 것 같고
상자는 세로, 가로로 쓸 문자만 넣어주면 되는 듯. 터미널 사이즈에 따른 동적 변화는 따로 찾아봐야겠네.
#include <ncurses.h> int main(void){ initscr(); start_color(); init_color(1, 0, 1000, 0); // 1번 색상(글자색): 초록색 init_color(2, 0, 0, 1000); // 2번 색상(배경색): 파랑색 init_pair(1, 1, 2); // 1번 Color pair를 초록 글자색과 파랑 배경색으로 지정 WINDOW * win = newwin(20, 20, 10, 10); box(win, '|', '-'); waddch(win, 'A' | COLOR_PAIR(1)); // 1번 Color pair를 적용해 문자 출력 refresh(); wrefresh(win); getch(); endwin(); } |
start_color() 로 색상을 사용할 수 있도록 설정하고
init_color(index, , , ,)로 팔레트를 초기화 하고
attron(attribute on), attroff(attribute off) 함수로 색상을 적용/해제 한다.
#include <ncurses.h> int main(void){ initscr(); start_color(); init_color(1, 0, 1000, 0); init_color(2, 0, 0, 1000); init_pair(1, 1, 2); attron(COLOR_PAIR(1)); // 출력 색상을 1번 Color pair로 변경 printw("Hello"); attroff(COLOR_PAIR(1)); // 속성 해제 refresh(); getch(); endwin(); } |
[링크 : https://magmatart.dev/development/2017/06/15/ncurses4.html]
'프로그램 사용 > ncurses' 카테고리의 다른 글
ncurses 예제 (0) | 2024.11.30 |
---|---|
ncurse (0) | 2015.04.27 |