gpt4 book ai didi

c - 检测 X11 窗口向顶部/左侧调整大小

转载 作者:太空宇宙 更新时间:2023-11-04 03:42:57 27 4
gpt4 key购买 nike

我正在开发一个 map 应用程序,我正在尝试按照我喜欢的方式在 X11 中调整大小。从概念上讲,我希望我的窗口成为我的数据所在的一些实值空间的视口(viewport)。当您调整窗口大小时,您对这个实值世界的 View 大小应该相应地改变。

这意味着当调整窗口大小时,而不是收缩/拉伸(stretch)数据,或多或少的底层窗口变得可见。通过在底部/右侧增大/缩小来调整窗口大小时很容易处理这种情况,但我也想处理在顶部/左侧调整大小时的情况。

这比较棘手,因为顶部/左侧调整大小也会移动窗口的原点及其尺寸。我需要检测原点的变化,以便在调整窗口大小时进行补偿以保持数据居中。

在 X11 中是否有一种可靠的方法来获取窗口的绝对坐标?由于窗口管理器重新设置父级,X11 直接通过 ConfigureNotify 和 XWinAttributes 报告的坐标是不可靠的。

最佳答案

在 Xlib 中使用 XTranslateCoordinates将视口(viewport)窗口中的坐标 (0,0) 转换为根窗口的坐标。这也涵盖了堆叠窗口管理器弄乱您的窗口位置的情况。

关于c - 检测 X11 窗口向顶部/左侧调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27084466/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com