2014-11-23 2 views
1

매핑 응용 프로그램에서 작업 중이며 X11에서 원하는대로 작동하도록 크기를 조정하려고합니다. 개념적으로, 필자의 윈도우는 내 데이터가 존재하는 실제 공간의 뷰포트가되고 싶습니다. 창 크기를 조정하면이 실제 세계에 대한보기의 크기가 그에 따라 변경되어야합니다.X11 윈도우가 위/왼쪽 방향으로 크기 조정

즉, 데이터 크기를 줄이거 나 늘이지 않고 창의 크기를 조정할 때 기본 창의 크기가 더 많거나 적어 질 수 있습니다. 아래쪽/오른쪽에서 창을 확대/축소하여 창 크기를 조정할 때 대/소문자를 쉽게 처리 할 수 ​​있지만 위쪽/왼쪽의 크기를 조정할 때 대소 문자를 처리하고 싶습니다.

위쪽/왼쪽 크기 조정은 창의 크기뿐만 아니라 크기를 이동하기 때문에 까다 롭습니다. 창 크기를 조정할 때 데이터를 중앙에 유지하도록 보완 할 수 있도록 원본의 변경 사항을 감지해야합니다.

X11에서 창의 절대 좌표를 얻는 강력한 방법이 있습니까? X11이 ConfigureNotify 및 XWinAttributes를 통해 직접보고하는 좌표는 창 관리자가 다시 부모가되기 때문에 사기입니다.

답변

1

Xlib에서 뷰포트 창의 좌표 (0,0)를 루트 창의 좌표로 변환하려면 XTranslateCoordinates을 사용하십시오. 이것은 또한 스태킹 창 관리자가 창 위치를 어지럽히는 경우를 다룹니다.

+0

부모와 관련된 ConfigureNotify 이벤트의 좌표를 사용하여 시도했지만 작동하지 않는 것 같습니다. 그게 올바른 방법이 아닌가? –

+0

몇 가지 코드를 게시 할 수 있습니까? 지금까지 무엇을 했습니까? – datenwolf

+0

나는 지금 잠 잘거야, 그래서 나는 몇 시간 만에 내 대답을 업데이트 할거야. – datenwolf

관련 문제