gpt4 book ai didi

drawing - 开罗与 GDK 有什么关系?

转载 作者:行者123 更新时间:2023-12-03 20:38:03 25 4
gpt4 key购买 nike

GDK 库的功能究竟是什么,Cairo 是如何适应的?它们是竞争技术还是互补技术?其中一个是否以任何方式依赖另一个?

最佳答案

TL;博士:

在最近的版本中,GDK 是 GTK+ 的平台抽象层。它还为 Cairo 提供了一些平台集成(例如用于显示使用 Cairo 创建的图像),但在其他方面独立于它。

加长版:

GDK 最初是作为 Xlib 的包装器,X Window 系统的客户端库。它支持 GTK+ 需要的 X Windows API 的所有部分,包括绘图操作。

当 GTK+ 被移植到其他窗口系统(如 Windows)时,GDK 演变成一个平台抽象层。后来发现,从 Xlib“继承”的绘图 API 有问题——它使移植变得困难,并且受到限制(例如,对透明度的支持很少)。因此 GDK 的绘图功能已被弃用,并在 GTK+ 3 中被移除(参见 Migrating from GTK+ 2.x to GTK+ 3: Use cairo for drawing)。

所以 GDK 最初是作为一个平台抽象层,包括一个绘图后端。在最近的版本中,Cairo 是 GTK+ 使用的绘图后端,GDK 与 Cairo 一起存在,用于处理平台方面,如窗口创建和输入处理。

GDK 有一些使用 Cairo 的函数,但这些只是为了允许与 Cairo 互操作。例如,gdk_cairo_create ()允许您为窗口创建 Cairo 表面,允许使用 Cairo 绘制到该窗口。

关于drawing - 开罗与 GDK 有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10625367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com