首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cairo与GDK有什么关系?

Cairo与GDK有什么关系?
EN

Stack Overflow用户
提问于 2012-05-17 03:28:45
回答 2查看 1.1K关注 0票数 4

GDK库的功能到底是什么,Cairo是如何适应的?它们是竞争技术还是互补技术?它们中的一个在某种程度上依赖于另一个吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-17 03:32:44

Cairo是gdk使用的绘图后端。

票数 0
EN

Stack Overflow用户

发布于 2015-02-11 20:42:54

TL;DR:

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

较长版本:

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

当GTK+被移植到其他窗口系统(如Windows)时,它演变成了一个平台抽象层。然后事实证明,从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绘制到该窗口。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10625367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档