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

What is the point of graphics context in xcb_copy_area?

根据我的理解,函数 xcb_copy_area 本质上是将一个区域从一个 xcb_drawable 复制到另一个区域。我不确定为什么它也将图形上下文作为参数,因为副本的来源可能已经被绘制或渲染。这种情况下这个参数有什么用?

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

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

文本描述包含这个(我的强调和原来的强调以及一个 link 丢失了):

If the dst-drawable is a window with a background other than None, these corresponding destination regions are tiled (with plane-mask of all ones and function Copy) with that background. Regardless of tiling and whether the destination is a window or a pixmap, if graphics-exposures in gc is True, then GraphicsExposure events for all corresponding destination regions are generated.

所以,我的理解是:GC是用来绘制window的背景的,这是它的大部分属性用到的地方。

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

GC components: function, plane-mask, subwindow-mode, graphics-exposures, clip-x-origin, clip-y-origin, clip-mask

  • 我猜想 functionplane-mask 指定了源和目标的方式 "combined"。因此,CopyArea 不仅可以复制,还可以执行 GC 可以执行的所有其他(奇怪的)操作。
  • subwindow-mode 说明 subwindow 会发生什么。可以剪掉或覆盖它们。
  • graphics-exposures是关于响应绘图而产生的事件
  • clip-x-originclip-y-originclip-mask 显然是关于裁剪绘图的。