의사 투명도

Pseudo-transparency

의사투과성루트창에 그려진 과 동일한 픽스맵을 조작하거나 X서버에 배경픽스맵을 창의 [1]부모로부터 상속하도록 지시함으로써 투과성 또는 투과성을 시뮬레이트하는 X 윈도 시스템클라이언트에 사용되는 용어입니다.

목적

지금까지 X Window System은 순수하게 아이 캔디나 유리창 투과성 등의 미적 기능을 추가하는 데 있어 다른 유리창 시스템에 비해 뒤처져 왔습니다.이를 통해 개발자들은 이러한 한계를 극복하기 위해 클루즈를 개발하도록 장려하고 있습니다.

이 의사투명성(루트창의 배경픽스맵)은 가려진 창이 아닌 (데스크탑벽지에 비유하여) 표시되므로 사용자는 창을 (대부분의 텍스트 청크로 구성되는 터미널 에뮬레이터 등) 덜 화려하게 보이게 할 수 있으며 윈도우의 외관과 데스크톱테마를 통합할 수 있습니다.

실행

Xlib을 사용하여 의사투명성을 실현하는 방법에는 세 가지가 있으며 각각 장단점이 있습니다.

친인척

"부모-친척" 방법에서는XSetWindowBackgroundPixmap()상위 창의 배경 이미지를 상속합니다.유감스럽게도 이 방법을 사용하면 X 서버는 백그라운드픽스맵(XOR 등)에서 실행할 수 있는 조작을 거의 허용하지 않기 때문에 클라이언트는 고도의 이미지 필터링을 실장할 수 없습니다.

_XROOTPMAP_ID 및 ESETROOT_PMAP_ID 속성

이러한 속성은 루트 창에서 사용되는 pixmap을 찾을 수 있는 위치를 창에 알리기 위해 사용됩니다.클라이언트는 이 정보를 사용하여 이미지의 일부(창의 크기와 위치에 해당하는 부분)를 배경 위에 그릴 수 있으며 투명 효과를 얻을 수 있습니다.이 방법은 메모리를 가장 많이 사용하지만 클라이언트가 이미지 데이터에 대해 색칠이나 음영 처리 등의 작업을 수행할 수 있다는 장점이 있습니다.

XCopy 영역

XCopyArea는 가려진 창을 포함할 수 있다는 점에서 보다 사실적인 투명 효과를 얻을 수 있지만 모달 창에서만 사용할 수 있다는 큰 단점이 있습니다.이 방법에서는 단순히XCopyArea()윈도우의 배경 픽스맵으로 사용하기 위해 부분 스크린샷을 촬영하는 기능을 수행합니다.

미래.

DirectFB, Direct Rendering Infrastructure, OpenGL을 통한 하드웨어 컴포지팅 등의 최신 기술을 통해 X 클라이언트 애플리케이션은 진정한 알파 투과성을 활용할 수 있습니다.

레퍼런스

  1. ^ "Tutorial: Urxvt: transparency". CTKArch. 2014. Retrieved February 23, 2016.