7

这更像是一个词汇问题。

介绍

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

问题

为了给用户反馈,我想将用户面部方向的估计绘制为屏幕上的一个红色圆圈,基本上如图所示他们只是创建一个小窗口)。我希望这个圆圈能够在屏幕上的任何地方出现,并且我希望它始终可见。我不希望它被另一个活动窗口覆盖。如果它阻碍了与窗口的交互,我可以接受。

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

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

我想我需要使用 OpenGL,但我看到的所有示例都在 X windows 中。例如,我在这里得到提示后找到代码,给了我一个不错的永久窗口,但该窗口仍然捕获我所有的鼠标点击。如何使用独立于 X 窗口的 OpenGL 在屏幕上绘制一些东西?

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

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

平台

我在 Unity 桌面上使用 Ubuntu 12.04。

4

1 回答 1

4

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

您还可以使您的窗口半透明(这需要一个合成窗口管理器)。

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

在任何阶段都不需要 OpenGL。

于 2013-07-22T09:52:50.027 回答