2014-02-14 5 views
1

XDrawLine API를 사용하여 Xlib에 선을 그렸다고 가정합니다. 선을 제거하거나 삭제하는 가장 좋은 방법은 무엇입니까? 특정 전용 API가 있습니까? 아니면 동일한 XDrawLine API의 특수 구현을 사용해야합니까?Xlib 라이브러리를 사용하여 라인 삭제 또는 제거

미리 답변 해 주셔서 감사합니다.

답변

0

다른 줄 맨 위에 배경색 (예 : 흰색)을 그려 "지울"수 있지만 첫 줄을 그리기 전에 있던 원래 그래픽을 복원 할 수는 없습니다. Xlib은 히스토리를 보관하지 않습니다.

일반적으로 응용 프로그램은 언제든지 창을 완전히 "다시 칠하기"를 할 수 있어야합니다 (예 : 창이 크기가 조정되거나 최소화 된 경우 또는 교차하는 다른 창에서 "손상된"경우) 그것). 응용 프로그램이 지금 당장이 작업을 수행하지 못할 수도 있다는 소리를 내며 어떤 상황에서는 올바르게 작동하지 않을 것입니다.

1

가장 좋은 방법은 화면을 그리기 전에 화면 밖의 픽스맵을 그리고 상태 (또는 픽스맵 복사본)를 기억하는 것입니다. 라인 삭제 == 오프라인 픽스맵을 그 상태로 그리기 (또는 저장된 픽스맵을 화면으로 다시 복사)