我对上面列出的库的关系有些困惑,这是我的想法:
如果这是正确的,杂波有一天会替换GTK +吗?
和...
[如果您认为有一个更好的地方问这个问题,或者我应该先读一些书,请告诉我!我正在自学兴趣编程。
是的,Cairo是高质量的2D绘图API,GTK +使用Cairo进行绘制。
Cogl是一个GPU编程库,在内部可以使用GL或GLES来访问图形管道(尽管从理论上讲,它可以在受支持的平台上轻松使用DirectX)。
Clutter使用Cogl进行渲染,但也可以将Cairo用于2D元素。
Clutter不会取代GTK +:GTK +是一个非常复杂的库,它提供了系统集成,复杂的小部件以及Clutter不想提供的其他实用程序API。
[未来将比黑白替代品更加灰暗。
开罗可以使用Cogl进行绘制; Cogl将对GPU管线进行编程,但是Cairo将生成要提交的几何图形,因此您可以获得高质量的2D结果。 Cairo已经可以直接使用GL,但是Cogl已经具有更好的状态跟踪。
Clutter可以使用GDK,即GTK +窗口系统API,与窗口系统表面进行对话并获取输入事件。
[将来,GTK +很有可能在内部将Clutter用作其小部件的基础-尽管这仍在进行中。
简而言之,图表可能是:
GPU <- [ [ Cogl + Cairo ] <- [ GDK + Clutter ] <- GTK+ ] <- application