xcb_copy_area中图形上下文的意义是什么?

问题描述 投票:0回答:1

据我所知,函数xcb_copy_area本质上是将一个区域从一个xcb_drawable复制到另一个区域。我不确定然后为什么还要将图形上下文作为参数,因为可能已经绘制或渲染了副本的来源。在这种情况下,此参数有什么用?

值得注意的是,我对图形上下文的理解不是很好,但是解释它们的资源并不多。我假设这是我的xcb中发生的事情的心理模型问题。

c x11 xcb
1个回答
0
投票

相关文档:https://www.x.org/releases/X11R7.6/doc/xproto/x11protocol.html#requests:CopyArea

文本描述包含此内容(强调我的意思和原始重点以及链接丢失):

如果dst-drawable是具有除None以外的背景的窗口,则这些对应的目标区域具有该背景的平铺(具有所有像素的平面蒙版,并具有Copy功能)。不管平铺和目的地是窗口还是像素图,如果gc中的graphics-exposures为True,则将生成所有相应目的地区域的GraphicsExposure事件。

所以,我的理解是:GC用于绘制窗口的背景,这是使用其大多数属性的地方。

文档明确说明使用了哪些GC组件:

GC组件:功能,平面蒙版,子窗口模式,图形曝光,clip-x来源,clip-y来源,clip-mask

  • 我猜想functionplane-mask指定了源和目标如何“组合”。因此,CopyArea不仅可以复制,而且可以完成GC可能进行的所有其他(奇怪)操作。
  • subwindow-mode表示子窗口会发生什么。可以将它们剪裁或画在上面。
  • [graphics-exposures是关于响应绘图而生成的事件
  • [clip-x-originclip-y-originclip-mask显然是关于剪切图形的。
© www.soinside.com 2019 - 2024. All rights reserved.