这一部分是简单介绍一些「图形工具库」的内容。
背景……
因为GTK 3的主题不紧凑,按钮、标题栏太宽,太占空间,所以尝试着写个GTK 3的主题。
我们常说的“GTK”是一个跨平台的「图形工具库」。所以,这里先简单的了解一下「图形工具库」,对「图形工具库」有个基本的概念。
什么是「图形工具库」?
它就是一个库,或者说是框架,通过调用库里的方法来创建窗口界面中按钮、输入框、下拉选等等“部件”。
大多数「图形工具库」还包括他们自己的渲染引擎。渲染引擎可以简单的理解为“在显示器上显示图形的程序”,显示器上显示的内容使用渲染引擎绘制的。
像按钮的宽高、颜色这些“部件的样子“可以硬编码到程序中,或者写入配置文件,然后从配置文件中读取,这些配置文件就是我们说的主题/皮肤。
我们常说的GTK、QT、FLTK都是一些「图形工具库」。
图形工具库的分类
有些图形工具库集成在操作系统中,比如OS X的Cocoa、Microsoft Windows的Windows API等等。
还有些在操作系统之上的单独的层中工作,比如X Window System提供了Xt(X Toolkit Intrinsics),但是Xt只有一些老的工具库在使用,而GTK和QT则绕过了Xt,直接使用了Xlib或XCB库:
参考文献
Wikipedia/Widget toolkit
Wikipedia/List of widget toolkits
Setting gtk2 and gtk3 theme via config file