GTK+ 3.0 是 GTK+ 的一个主要新版本,包含了太多更改,无法在此处一一列出。
主要亮点包括:
- 整个使用 Cairo 绘图。GDK 不再封装过时的 X11 绘图 API;我们已经彻底摆脱了它,现在完全依赖 Cairo 来满足我们所有的绘图需求。这也使我们能够删除其他几个以 X11 为中心的概念,例如 GC、颜色映射和像素映射。
- 现代输入设备处理。GDK 中的输入设备处理长期以来一直是一个被忽视的领域。这种情况已经改变;在 3.0 版本中,GTK+ 进入了现代 XI2 世界,完全支持多个指针、键盘和其他小工具。
- 新的主题 API,它使用熟悉的 CSS 语法进行主题配置,以及其他改进,例如动画状态转换。
- 更灵活的几何管理,支持高度与宽度,适用于小部件和单元格渲染器。
- GDK 的多后端支持。在 GTK+ 2.x 中,您必须重新编译应用程序才能使其与不同的 GDK 后端一起工作。在 GTK+ 3 中,可以将多个 GDK 后端构建到单个库中,并在运行时选择。
- 简易的应用程序支持。通过将 D-Bus 支持集成到 GIO 中,我们终于可以添加一个 GtkApplication 类,该类处理编写应用程序的许多平台集成方面,例如跟踪打开的窗口、确保唯一性、导出操作等。
- 当然,还有一些新的小部件,例如开关和应用程序选择器。
GTK+ 是数百名贡献者的工作成果,人数太多,无法在此处一一列出。但我想花点时间感谢一些做出重大贡献的人:
- Carlos Garnacho (Lanedo),感谢他在 XI2 支持和新主题系统方面的工作
- Benjamin Otte (Red Hat),感谢他在 GDK 和 Cairo 绘图方面的工作
- Tristan Van Berkom (Openismus),感谢他在几何管理方面的工作
- Colin Walters (Red Hat),感谢他在 GtkApplication 方面的工作
- Ryan Lortie (Codethink),感谢他在 dconf、GSettings 和 GtkApplication 方面的工作
- Javier Jardón,感谢他不懈的代码、构建和文档清理工作