GTK及其库的概述
随着时间的推移,GTK已经建立在各种库的基础上,这些库也是由GTK团队开发的。
GDK
GDK是GTK窗口系统的抽象;它为在各种平台上编写GTK提供了最小的公共API表面,例如Linux和类Unix系统上的Wayland和X11; Microsoft Windows; 和苹果macOS。
GSK
GSK是GTK渲染抽象;它为GTK提供了低级别的渲染API,以绘制操作的形式,并将其转换为图形管道的命令。
GLib
GLib是一个底层核心库,构成了GTK的基础。它为C语言提供了数据结构处理、可移植性包装器和接口,用于诸如事件循环、线程、动态加载和对象系统等运行时功能。
Pango
Pango是一个用于文本布局和渲染的库,重点是国际化。它构成了GTK文本和字体处理的核心。
GdkPixbuf
GdkPixbuf是一个用于加载各种格式(如PNG、JPEG和GIF)的图形资源(如图标)的库。GdkPixbuf可通过动态加载的模块进行扩展,这些模块可以独立于主库进行编写和维护。
Cairo
Cairo是一个用于2D图形的库,支持多个输出设备(包括X Window System,Win32),同时在所有媒体上产生一致的输出,并在可用时利用显示硬件加速。
Graphene
Graphene是一个为2D和3D数学提供高效类型的库。
HarfBuzz
HarfBuzz是一个文本塑形库。使用HarfBuzz库允许程序将Unicode输入序列转换为正确格式和定位的字形输出 - 适用于任何书写系统和语言。