TL; DR:
在最新版本中,GDK是GTK +的平台抽象层。它还为Cairo提供了一些平台集成(例如,用于显示使用Cairo创建的图像),但与此无关。
较长版本:
GDK最初是作为Xlib的包装,Xlib是X Window系统的客户端库。它支持GTK +所需的X Windows API的所有部分,包括绘图操作。
当GTK +移植到其他窗口系统(例如Windows)时,GDK演变为平台抽象层。然后发现,从Xlib“继承”的绘图API存在问题-它使移植变得困难并且受到限制(例如,对透明性的支持很少)。因此,不赞成使用GDK的绘图功能,并在GTK + 3中将其删除(请参阅从GTK + 2.x迁移到GTK + 3:使用cairo进行绘图)。
因此GDK最初是作为一个平台抽象层,包括一个绘图后端。在最新版本中,Cairo是GTK +使用的图形后端,GDK与Cairo并存,用于处理平台创建和输入处理等平台方面。
GDK有一些使用开罗的功能,但是这些功能仅允许与开罗进行互操作。例如,gdk_cairo_create ()
允许您为窗口创建一个Cairo曲面,该曲面允许使用Cairo绘制到该窗口。
归档时间: |
|
查看次数: |
885 次 |
最近记录: |