표 8.4:Ncurses - 속성들
ncurses는 칼라를 지원하는 단말기에서 사용할 수 있는 8가지 색상을 정의한다. 먼저, start_color()를 가지고 색상 자료 구조(color data structures)를 초기화하고 has_colors()를 가지고 단말기의 능력을 체크한다. start_color()는 COLORS, 단말기가 지원하는 최대 색상수와 COLOR_PAIR, 정의할 수 있는 색상 쌍(color pairs)의 최대수 를 초기화한다.
표 8.5:Ncurses - colors
속성은 OR operator를 가지고 조합되어질 수 있다.
int color_content(color, r, g, b)
색상을 위해 r,g,b의 색상 구성요소(components)를 얻는다.
어떻게 속성과 색상을 어떻게 조합할 것인가? 리눅스에서의 콘솔처럼 몇몇 단말기는 칼라를 갖고 몇몇은 그렇지 않다(xterm,vs100 등등). 다음의 코드는 그 문제를 해결해야만 한다.
먼저, CheckColor 함수는 start_color()를 가지고 색상을 초기화한다. 현재 단말기가 색상을 가지고 있다면 has_colors() 함수는 TRUE를 반환할 것이다. 우리는 이것을 체크하고 포그라운드(foreground)와 백그라운드(background) 색상들을 조합하기 위해 init_pair(...) 와 지정된 윈도우를 위해 이러한 쌍(pairs)을 지정하기 위해 wattrset(...)를 호출한다. 또 한편으로, 흑백 단말기를 가지고 있다면, 속성을 지정하기 위해 wattrset(...)를 혼자 사용할 수 있다.
xterm에서 색상(color)을 얻기 위해 내가 발견한 가장 좋은 방법은 Midnight Commander로 부터 terminfo 개체를 얻는 ansi_xterm을 사용하는 것이다. ansi_xterm과 Midnight Commander (mc-x.x.tar.gz)의 소스를 구하라. ansi_xterm을 컴파일하고 mc-x.x.tar.gz acchive로 부터 xterm.ti와 vt100.ti를 가지고 tic을 사용하라. ansi_xterm을 실행시켜보고 테스트 해 보아라.
Copyright (c) 1996,1997 by Euibeom.Hwang & SangEun.Oh All Rights Reserved
Email To:Webmaster ,
Another address
LAST UPDATE Dec 15,1997
Created Dec 15,1997