GTK+ 3.0 是 GTK+ 的一个主要新版本,包含了太多的更改,无法在此一一列出。
主要亮点包括:
- 整个绘图过程都使用 Cairo。GDK 不再封装过时的 X11 绘图 API;我们已经彻底放弃,现在完全依赖 cairo 来满足我们所有的绘图需求。这也使我们能够删除其他几个以 X11 为中心的概念,例如 GCs、颜色映射和像素映射。
- 现代化的输入设备处理。GDK 中的输入设备处理长期以来一直是一个令人遗憾的被忽视的领域。这种情况已经改变;随着 3.0 的发布,GTK+ 迈入了 XI2 的现代世界,完全支持多个指针、键盘和其他小工具。
- 一个新的主题 API,它具有熟悉的 CSS 语法用于主题配置以及其他改进,例如动画状态转换。
- 更灵活的几何管理,支持宽度对应高度,适用于窗口小部件和单元格渲染器。
- 对 GDK 的多种后端支持。在 GTK+ 2.x 中,您必须重新编译您的应用程序才能使其与不同的 GDK 后端一起工作。在 GTK+ 3 中,可以将多个 GDK 后端构建到单个库中,并在运行时选择。
- 轻松的应用程序支持。通过在 GIO 中集成 D-Bus 支持,我们终于可以添加一个 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,感谢他不知疲倦的代码、构建和文档清理工作
真棒!