我正在开发一个映射应用程序,并试图在X11中按我想要的方式调整大小。从概念上讲,我希望我的窗口能成为我的数据所在的真实空间的视口。当你调整窗口的大小时,你的视图在这个真实价值的世界上的大小应该相应地改变。
这意味着,当调整窗口大小时,而不是缩小/拉伸数据时,基础窗口或多或少会变得可见。当窗口通过在底部/右边的增长/收缩来调整大小时,很容易处理这种情况,但是当窗口在顶部/左边调整大小时,我想处理这个情况。
这是更棘手的,因为一个顶部/左调整大小也移动窗口的起源以及它的尺寸。我需要检测原点的变化,以便在调整窗口大小时进行补偿,以保持数据为中心。
在X11中,是否有可靠的方法获得窗口的绝对坐标?由于窗口管理器修复,X11直接通过ConfigureNotify和XWinAttributes报告的坐标是不可靠的。
发布于 2014-11-23 01:12:20
在Xlib中,使用XTranslateCoordinates将viewport窗口中的坐标(0,0)转换为根窗口的坐标。这也包括堆叠窗口管理器扰乱您的窗口位置的情况。
https://stackoverflow.com/questions/27084466
复制相似问题