Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System, Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, XCB, BeOS, OS/2, and DirectFB.
详见:http://cairographics.org/
利用GTK+进行GUI开发时,如果发现GTK+提供的标准控件无法满足要求,则可以考虑自己写一个控件,根据GTK+提供的实现自定义控件的方式来做。
而在绘制自定义控件的时候,可以利用GTK+提供的标准控件,当然也可以利用Cairo这样的图形库自己来绘制更炫的东西。
关于Cairo的图形绘制,可以参考:
http://liyanrui.is-programmer.com/?category_id=1735&page=3
或者 GTK+中文社区:
http://118.112.185.72/columns-gtk-action-columns.html
根据GTK+提供的实现自定义控件的大致步骤如下:
具体实现可以参考: