X11 图形上下文不呈现任何内容

X11 graphics context not rendering anything

我一直在查看 Xlib 文档,试图创建一个简单的 XWindows 应用程序。我可以得到一个 window 和 运行,使用像素颜色等修改它的背景颜色。

不幸的是,当我尝试创建图形内容并渲染一些图元(Rectangles/Arcs 等)时,没有渲染任何东西。

然后我构建了 运行 示例 here 以确保我没有遗漏任何东西,它也只是用 none 基元渲染背景。

谁能解释一下我在这里可能遗漏了什么?

如果这很重要,我是 运行 Fedora 23 on kernel 4.4.1 using Gnome shell.

您需要添加事件循环并在收到公开事件后移动您的绘图(还要确保在创建 window 或使用 XSelectInput 调用时设置事件掩码)。可能你的绘图结果在某个时候被处理掉了,因为你没有对 "window are is damaged, need to re-paint" 通知做出反应,你看到的只是 window 背景

看看这个example