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
- 我猜想
function
和 plane-mask
指定了源和目标的方式 "combined"。因此,CopyArea
不仅可以复制,还可以执行 GC 可以执行的所有其他(奇怪的)操作。
subwindow-mode
说明 subwindow 会发生什么。可以剪掉或覆盖它们。
graphics-exposures
是关于响应绘图而产生的事件
clip-x-origin
、clip-y-origin
和 clip-mask
显然是关于裁剪绘图的。
根据我的理解,函数 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
- 我猜想
function
和plane-mask
指定了源和目标的方式 "combined"。因此,CopyArea
不仅可以复制,还可以执行 GC 可以执行的所有其他(奇怪的)操作。 subwindow-mode
说明 subwindow 会发生什么。可以剪掉或覆盖它们。graphics-exposures
是关于响应绘图而产生的事件clip-x-origin
、clip-y-origin
和clip-mask
显然是关于裁剪绘图的。