프로그램 사용/ncurses2024. 12. 2. 10:22

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
Posted by 구차니