copywin 서브루틴

용도

창의 영역을 복사합니다.

라이브러리

커서 라이브러리libcurses.a

구문

#include <curses.h>
int copywin(const WINDOW  *scrwin,
WINDOW  *dstwin,
int  sminrow,
int  smincol,
int  dminrow,
int  dmincol,
int  dmaxrow,
int  dmaxcol,
int  overlay);

설명

Copywin 서브루틴은 오버레이덮어쓰기 서브루틴을 보다 세밀하게 제어할 수 있는 기능을 제공합니다. 새로 고침 서브루틴에서와 마찬가지로 대상 창에 직사각형(dimrow, dimincol) 및(dmaxrow, dmaxcol)과 소스 창의 왼쪽 상단 모서리 좌표(sminrow, smincol)가 지정됩니다. 오버레이 서브루틴이 TRUE이면 오버레이 서브루틴에서와 같이 복사는 비파괴적으로 이루어집니다. 오버레이 서브루틴이 FALSE이면 덮어쓰기 서브루틴에서와 같이 복사는 파괴적입니다.

매개변수

항목 설명
*srcwin 복사할 영역이 포함된 소스 창을 가리킵니다.
*dstwin 복사할 대상 창을 가리킵니다.
sminrow 소스 영역의 왼쪽 상단 행 좌표를 지정합니다.
smincol 소스 영역의 왼쪽 상단 열 좌표를 지정합니다.
dminrow 대상 영역의 왼쪽 상단 행 좌표를 지정합니다.
dmincol 대상 지역의 왼쪽 상단 열 좌표를 지정합니다.
dmaxrow 대상 영역의 오른쪽 하단 행 좌표를 지정합니다.
dmaxcol 대상 지역의 오른쪽 아래 열 좌표를 지정합니다.
중복(overlay) 사본 유형을 설정합니다. TRUE로 설정하면 복사본이 비파괴됩니다. 그렇지 않으면 FALSE로 설정하면 복사본이 파괴됩니다.

리턴 값

성공적으로 완료되면 복사윈 서브루틴이 OK를 반환합니다. 그렇지 않으면 오류를 반환합니다.

좌표로 정의된 대상 창의 영역으로 복사하려면(30,40), (30,49), (39,40), (39,49) 소스 창에서 좌표(0,0)로 시작하여 다음을 입력합니다:

WINDOW *srcwin, *dstwin;

copywin(srcwin, dstwin, 
0, 0, 30,40, 39, 49,
 TRUE); 

이 예에서는 좌표(0,0)로 시작하는 소스 창에서 왼쪽 위 좌표(30, 40)와 오른쪽 아래 좌표(39, 49)로 정의된 대상 창의 영역으로 10개의 행과 10개의 열을 복사합니다. 오버레이 매개변수가 TRUE로 설정되어 있으므로 복사본은 비파괴적이며 소스 창의 공백은 복사되지 않습니다.