
本站在2008年曾报道过关于“GTK+CSS引擎”的新闻(见此《GTK+CSS主题引擎0.1版发布》和《GTK+ CSS引擎逐渐完善:支持border-image!》,当时基于CSS的GTK+主题引擎已经渐渐开始完善,然而经过两年的发展,似乎没有了后文。
一个主要的原因是,之前开发者是在GTK+的外围(即主题引擎)上做的工作,缺少对核心部分的掌控使得该主题引擎无法全面发挥CSS的作用,同时与GTK+的结合也不是很完美。
而现在,GTK+已经开始在内部获得对CSS的支持,即通过新增的GtkStyleContext。如果一切顺利的话,GTK+的CSS支持将在3.0版本正式完成。
在GTK+的官方开发分支(gtk-style-context)中,开发者已经差不多完成了对CSS的支持,主要有两大特性:
- 完全使用Cairo进行图像绘制,这意味着不论在Linux下,还是在Windows、Mac下都会有一致的效果;
- 动画效果的支持,不需要在主题引擎中进行hack;
从此制作GTK+主题就像写网页的CSS一样,特别是动画的支持。比如我需要在复选按钮在勾选的时以一个“ease-in-out”的动画呈现,则只需:
GtkCheckButton:active {
transition: 200ms ease-in-out;
}
可以想像,在该开发分支正式合并至主干,并顺利发布GTK+3.0以后,GTK+的主题世界将会有一个全新的面貌展现出来!
大愛大愛
可以做软件的界面?