2011-05-24 12 views
9

Quiero crear una ventana usando GTK 3 bajo linux (fedora 12) y dibujar sobre ella un rectángulo simple usando el back-end cairo-gl, para esto quiero crear un cairo- superficie gl ¿Cómo puedo hacer esto? ¿Alguien puede ayudarme con un código de muestra?Cómo crear una superficie cairo-gl bajo Gtk

Gracias de antemano.

RC7

Respuesta

6

Bueno, primero que todo lo que necesita para asegurarse de que su versión tiene soporte Cairo gl. No estoy seguro de que la versión en Fedora 12 lo tenga. Puede que tengas que compilar tu propio cairo.

Luego hay que mirar en el cairo-gl.h: http://cgit.freedesktop.org/cairo/tree/src/cairo-gl.h

Este archivo tiene un buen comentario explicando que primero es necesario crear un cairo_device la utilización de su contexto gl y luego pasarlo a cairo_gl_surface_create().

Este archivo desde el conjunto de pruebas Cairo contiene un ejemplo de una superficie gl: http://cgit.freedesktop.org/cairo/tree/test/gl-surface-source.c

cuenta de que es un archivo .c que incluye otro archivo .c: http://cgit.freedesktop.org/cairo/tree/test/set-source.c

El conjunto de pruebas es lleno de ejemplos de programación de cairo. Úselo! :)

no estoy seguro de cómo se hace GL usando GTK3, pero en el peor de los casos, se puede utilizar para obtener GDK de visualización y la ventana IDs de X11, a continuación, utilizar las llamadas GLX estándar: http://developer.gnome.org/gdk3/stable/gdk3-X-Window-System-Interaction.html

Y utilizar Cairo con GTK3, es necesario mirar a esto: http://developer.gnome.org/gdk3/stable/gdk3-Cairo-Interaction.html Y esto: http://zetcode.com/tutorials/cairographicstutorial/

te di un montón de piezas de Lego. Ahora necesitas ensamblarlos. (¿O quizás alguien con más tiempo lo hará y escribirá una mejor respuesta aquí?)

+1

Gracias. Esto debería hacer que la gente comience. Como puede ver, la documentación es bastante escasa en este dominio. –