gpt4 book ai didi

c++ - Linux 在独立于 Windows 管理器的屏幕上绘图

转载 作者:IT王子 更新时间:2023-10-29 00:35:00 25 4
gpt4 key购买 nike

这更像是一个词汇问题。

简介

我正在使用点云库获取面部跟踪数据。我想使用这些数据来跟踪用户在屏幕上所面对的位置。这不是问题。

问题

为了给用户反馈,我想在屏幕上将用户面部方向的估计绘制为红色圆圈,基本上如图所示here (他们只是创建了一个小窗口)。我希望这个圆圈能够在屏幕上随处可见,并且我希望它始终可见。我不希望它被另一个事件窗口覆盖。如果它阻碍了与窗口的交互,我对此没有意见。

我的问题是我不知道从哪里开始。

我可以只控制光标,但这不太理想,因为我希望在使用人脸检测时仍然能够移动光标。

我想我需要使用 OpenGL,但我看到的所有示例都在 X windows 中。比如我找到的代码here得到提示后here ,给我一个漂亮的永久窗口,但该窗口仍然捕获我所有的鼠标点击。 如何使用独立于 X-window 的 OpenGL 在屏幕上绘制内容?

我是否完全从错误的方向接近这个?如果是这样,我应该用谷歌搜索什么?

我会接受任何给我一个起点的答案。

平台

我在 Unity 桌面上使用 Ubuntu 12.04。

最佳答案

创建一个常规窗口。告诉 WM 跳过装饰,让窗口始终在顶部。使用 XFixesSetWindowShapeRegion() 分别设置圆形输出区域和空输入区域。您需要合成窗口管理器 XFixes 扩展才能工作。

你也可以让你的窗口半透明(这需要一个合成窗口管理器)。

像 gtk 这样的现代工具包应该有易于使用的 API 来完成上述所有工作。

在任何阶段都不需要 OpenGL。

关于c++ - Linux 在独立于 Windows 管理器的屏幕上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17781051/

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