我有我的 OpenGL C++ 游戏,我想提供一些文本输入。现在我考虑并实施了两个选项:
1)对原生输入字段使用包装器。这看起来和感觉很棒,但不尊重我的内部结构——它总是在我的应用程序之上。如果某些元素与此输入重叠(即:确认对话框),它仍会在我的整个应用程序窗口上方绘制。
2)使用带有0大小输入字段的hack并将其输入到游戏中,并自己绘制所有文本。这很好用,但它只支持基本的输入退格操作。没有“缩放”,没有“拖动光标到位置”,没有“复制粘贴全选”。
所以我想知道 - 据我所知,所有本机控件都是使用 OpenGL 实现的。那么有没有一种方法可以手动“绘制”它们?如果是这样,我可以将它们放在我的显示列表中,重叠的问题就会消失。