gdk绘制部分的架构
gtk+3.0快要发布了,相比2.xx,gdk部分有很大变化,清理了很多内容尤其是绘制相关的。下面是gtk+ 2.xx中gdk绘制部分的大体框架
GdkDrawable是一个抽象类,它定义了绘制接口;GdkWindow和GdkPixmap是GdkDrawable的实现,它们是披着GdkDrawable外衣的GdkWindowObject和GdkPixmapObject;XXXImplDirectFB是相应类的平台相关的一个对应,但同时也是抽象类GdkDrawable的实现。GdkWindow和GdkPixmap实现GdkDrawable的接口是靠转嫁给GdkPixmapImplDirectFB和GdkPixmapImplDirectFB实现,而最终的实现有GdkDrawableDirectFB完成。
注意图中的继承和组合关系。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
回复 3# tlocean
gtk+3.0的发布日期可以确定了,请参考http://bbs.chinaunix.net/thread-1833294-1-1.html
具体时间,俺也不知道。
想问楼主 gtk3.0具体的发布时间是什么时候啊?
在要发布的gtk3.0 中 GdkPixmap已经不存在了,gdk部分的绘制都由cairo替代了。
GdkDrawable,GdkWindow,Native Window它们之间的关系倒还是和上面的图中画的一样。
不过子窗口在GDK的上层就实现了,几乎不再依赖native window manager,除非子窗口的颜色格式和父窗口的不一样。
在gtk层显著的变化就是expose-event变成了draw signal