如何在Gtk下创建cairo-gl曲面

|| 我想在Linux(fedora 12)下使用GTK 3创建一个窗口,并使用cairo-gl后端在其上绘制一个简单的矩形,为此,我想创建一个cairo-gl表面。我该怎么做,有人可以帮助我提供示例代码。 提前致谢。 RC7     
已邀请:
好吧,首先,您需要确保您的cairo版本具有gl支持。我不确定Fedora 12中的版本是否已安装。您可能需要编译自己的开罗。 然后,您需要查看cairo-gl.h: http://cgit.freedesktop.org/cairo/tree/src/cairo-gl.h 该文件有一个很好的注释,解释说首先需要使用gl上下文创建一个cairo_device,然后将其传递给cairo_gl_surface_create()。 cairo测试套件中的此文件包含gl曲面的示例: http://cgit.freedesktop.org/cairo/tree/test/gl-surface-source.c 请注意,这是一个.c文件,其中包括另一个.c文件: http://cgit.freedesktop.org/cairo/tree/test/set-source.c 该测试套件充满了cairo编程示例。用它! :) 我不确定如何使用GTK3执行GL,但在最坏的情况下,可以使用GDK获取X11的Display和Window ID,然后使用标准的glx调用: http://developer.gnome.org/gdk3/stable/gdk3-X-Window-System-Interaction.html 要将cairo与GTK3配合使用,您需要查看以下内容: http://developer.gnome.org/gdk3/stable/gdk3-Cairo-Interaction.html 还有这个: http://zetcode.com/tutorials/cairographicstutorial/ 我给了你一堆乐高积木。现在您需要组装它们。 (或者也许有更多时间的人会这样做,并在此处写下更好的答案?)     

要回复问题请先登录注册