형상 확장
Shape extension![]() |
![]() 둥근 시계의 창. | |
원본 작성자 | 엑스오르크 파운데이션 |
---|---|
안정적 해제 | 1.1 / 2006; 전( |
X 윈도 시스템에서 X 비직사각형 윈도 쉐이프 익스텐션을 사용하면 임의의 비직사각형 모양의 윈도우를 지정할 수 있다.
모양 확장을 사용하는 잘 알려진 애플릿 2마리는 단순한 원형 아날로그 시계인 오클락과 화면에 커서를 따라 보는 듯 아찔한 두 눈이 보인다.대부분의 X 시스템은 표준 설비에 하나 또는 다른 하나(또는 둘 다)가 있다.또한 일부 창 관리자들은 형상 확장을 사용하여 직사각형이 아닌 아이콘을 그린다.
실행
응용 프로그램은 직사각형 창만 만들 수 있지만, 그 모양을 원래 직사각형의 임의적인 부분으로 변경할 수 있다.직사각형의 나머지 부분은 투명할 뿐만 아니라(창 아래에 있는 것을 보여준다) 윈도우의 일부가 전혀 아니다.예를 들어 창 가운데에 구멍이 뚫린 형태를 하고 있다면 구멍에 무엇이 있는지 보여줄 뿐만 아니라, 구멍을 한 번 클릭하는 것은 창문 아래 있는 것을 클릭하는 것으로 간주된다.
응용 프로그램은 평소와 같이 창을 만들지만(폭과 높이를 지정함) X 표시 서버를 직사각형 목록 또는 색 깊이 1의 픽스맵(흑백 픽스맵)을 전송하여 창의 모양을 원래 영역의 하위 집합으로 변경할 수 있다.더 정확히 말하면, 고객은 직사각형이나 픽스맵을 새로운 모양으로 설정하도록 요청할 수 있지만, 또한 이전 모양과 다양한 방식으로 결합(예: 교차 또는 추가)할 수도 있다.창의 모양을 바꾸는 세 번째 방법은 창의 현재 모양이나 일부를 사용하는 것이다.
확장자는 두 개의 분리된 영역, 즉 자르기 영역과 경계 영역의 모양을 정의할 수 있다.이 두 영역은 형상 확장을 사용하지 않는 창에도 정의된다. 클리핑 영역은 그리기 위해 사용할 수 있는 영역이며 경계 영역은 윈도우에서 적용되는 총 영역(즉, 클리핑 영역과 테두리)이다.형상 확장은 이 두 영역에 대해 두 개의 독립적인 형상을 정의할 수 있다.
자르기 및 경계는 형태 확장에서 두 영역, 즉 위에서 지정한 대로 클라이언트에 의해 정의되고 변경되는 기본 사각형 영역과 직사각형이 아닌 클라이언트 영역과 관련이 있다.창문의 실제 형태인 유효 지역은 이 두 구역의 교차점이다.이 교차점은 어느 한 지역이 변경될 때마다 수행된다. 예를 들어, 클라이언트 지역이 기본 영역 밖에 있지만 기본 영역이 확대된 경우, 유효 영역은 이러한 부분을 포함한다.