当前位置: 首页 > news >正文

XCOMPOSITE翻译

https://www.x.org/releases/X11R7.7/doc/man/man3/Xcomposite.3.xhtml

XCOMPOSITE

名称

        Xcomposite − X Composite Extension 库

概要

#include <X11/extensions/Xcomposite.h>Bool XCompositeQueryExtension(Display *dpy, int *event_base_return, int *error_base_return);
Status XCompositeQueryVersion(Display *dpy, int *major_version_return, int *minor_version_return);
int XCompositeVersion(void);
void XCompositeRedirectWindow(Display *dpy, Window window, int update);
void XCompositeRedirectSubwindows(Display *dpy, Window window, int update);
void XCompositeUnredirectWindow(Display *dpy, Window window, int update);
void XCompositeUnredirectSubwindows(Display *dpy, Window window, int update);
XserverRegion XCompositeCreateRegionFromBorderClip(Display *dpy, Window window);
Pixmap XCompositeNameWindowPixmap(Display *dpy, Window window);
Window XCompositeGetOverlayWindow(Display *dpy, Window window);
void XCompositeReleaseOverlayWindow(Display *dpy, Window window);

描述

        Composite扩展提供了几种相关的机制:

        分层存储

        整个窗口层次的渲染被重定向到屏幕外的存储。只要层次结构可见,这些像素就可用。当顶级窗口大小改变时,存储会自动重新分配。超出顶级窗口几何形状的内容不会被保留。

        自动阴影更新

        当层次结构在屏幕外渲染时,X服务器提供了一种自动机制,将这些内容显示在父窗口内。实现可以让此更新滞后于实际渲染操作一段不确定的时间。可以禁用此自动更新机制,以便外部应用程序完全确定父窗口内容。

        组合覆盖窗口

        协议的0.3版本增加了组合覆盖窗口,提供了一个没有干扰的表面供合成管理器绘制。此窗口总是位于普通窗口之上,但位于屏幕保护程序窗口之下。它是一个宽度和高度为屏幕尺寸的InputOutput窗口。其视觉是根视觉,边框宽度为零。试图使用组合扩展重定向它将被忽略。此窗口不会出现在QueryTree请求的回复中。它也是一个覆盖重定向窗口。这两个特性使它对窗口管理器和其他X11客户端不可见。获取此窗口的唯一途径是通过CompositeGetOverlayWindow请求。最初,组合覆盖窗口是未映射的。

        父窗口裁剪

        协议的0.4版本修改了在手动重定向子窗口存在情况下的父窗口裁剪语义。在此版本中,被手动重定向的子窗口覆盖的区域保留在父剪辑列表中,而不是像旧版本那样被移除。

        可以为单个窗口或窗口的所有子窗口创建分层存储。只有一个应用程序可以为每个窗口选择手动阴影更新;手动更新也可以按窗口或每个窗口的子窗口选择。可以使用Damage扩展检测何时更新。

        屏幕外存储包括窗口内容、其边框和所有子孙的内容。

参数

display

        指向从XOpenDisplay返回的Display结构的指针,表示与X服务器的连接。

event_base_return

        指向整数的指针,用于存储Composite Extension事件的基值。

error_base_return

        指向整数的指针,用于存储Composite Extension错误的基值。

major_version_return

        指向整数的指针,用于存储X服务器支持的Composite Extension的主要版本号。

minor_version_return

        指向整数的指针,用于存储X服务器支持的Composite Extension的次要版本号。

 window

        指定要操作的窗口ID。

update

        指定更新窗口内容的模式。必须是CompositeRedirectAutomatic或CompositeRedirectManual之一。

函数

XCompositeQueryExtension

        XCompositeQueryExtension确定给定显示是否支持Composite Extension。如果支持,则返回True,否则返回False。如果扩展存在,则返回事件和错误的基值,可用于解码传入的事件和错误值。

XCompositeQueryVersion

        XCompositeQueryVersion确定X服务器是否支持与客户端库兼容的X Composite Extension版本。如果支持兼容版本,则返回非零状态,否则返回零状态。如果扩展支持,则返回主要和次要版本号以指示Composite Extension支持的级别。在调用此函数之前,不能调用其他XComposite函数(除了XCompositeQueryExtension)。如果客户端违反此规则,则它进行的所有后续XComposite调用的效果都是未定义的。

XCompositeVersion

        XCompositeVersion返回X Composite库的版本号。版本号编码为:(major * 10000) + (minor * 100) + revision。例如,版本1.4.6编码为整数10406。

 XCompositeRedirectWindow

        XCompositeRedirectWindow请求X服务器将从window开始的层次结构重定向到屏幕外的存储。update参数指定内容是否自动镜像到父窗口。只有一个客户端可以指定CompositeRedirectManual更新类型,另一次尝试将导致BadAccess错误。当启用重定向的所有客户端终止时,重定向会自动禁用。根窗口不能被重定向,尝试将导致BadMatch错误。指定无效的窗口ID将导致BadWindow错误。

XCompositeRedirectSubwindows

        XCompositeRedirectSubwindows请求X服务器重定向当前窗口的所有子窗口和未来的子窗口,如XCompositeRedirectWindow。如果update是CompositeRedirectManual,则在窗口操作期间和ClearArea请求期间将禁止绘制窗口背景。

XCompositeUnredirectWindow

        XCompositeUnredirectWindow请求X服务器终止窗口的重定向。如果指定的窗口未被当前客户端选择为重定向,则会导致BadValue错误。

XCompositeUnredirectSubwindows

        XCompositeUnredirectWindow请求X服务器终止窗口所有子窗口的重定向。如果指定的窗口未被当前客户端选择为子重定向,则会导致BadValue错误。

XCompositeCreateRegionFromBorderClip

        XCompositeCreateRegionFromBorderClip创建一个区域,包含“通常”的边界剪辑值;即窗口与兄弟和父窗口剪辑后的区域。此区域可用于在仅更新单个窗口时限制渲染到合适的区域。此区域在请求执行时被复制;未来的窗口层次结构更改不会反映在此区域中。

XCompositeNameWindowPixmap

        XCompositeNameWindowPixmap创建并返回一个pixmap ID,作为对窗口屏幕外存储的引用。此pixmap将保持分配状态,直到被释放,即使窗口被取消映射、重新配置或销毁。然而,每次映射或调整窗口大小时,窗口将分配一个新的pixmap,因此需要重新调用此函数以继续引用当前窗口内容的存储。如果窗口未被重定向或不可见,将生成BadMatch错误。X服务器必须至少支持Composite Extension版本0.2以支持XCompositeNameWindowPixmap。

XCompositeGetOverlayWindow

        XCompositeGetOverlayWindow返回窗口参数指定的屏幕的Composite Overlay Window的窗口ID。此函数通知X服务器客户端希望使用此屏幕的Composite Overlay Window。如果此Composite Overlay Window尚未被映射,则此请求将映射它。当所有调用此函数的客户端要么调用XCompositeReleaseOverlayWindow,要么终止与X服务器的连接时,此屏幕的Composite Overlay Window将被取消映射。X服务器必须至少支持Composite Extension版本0.3以支持XCompositeGetOverlayWindow。

XCompositeReleaseOverlayWindow

         此请求指定客户端不再使用窗口参数指定的屏幕上的Composite Overlay Window。当没有客户端使用屏幕的Composite Overlay Window时,将取消映射它。X服务器必须至少支持Composite Extension版本0.3以支持XCompositeReleaseOverlayWindow。


http://www.mrgr.cn/news/45291.html

相关文章:

  • AWS注册时常见错误处理
  • 本地生活服务项目入局方案解析!本地生活服务商系统能实现怎样的作业效果?
  • 重要的事情说两遍!Prompt「复读机」,显著提高LLM推理能力
  • 前端vue-配置基地址并发送请求
  • 低代码赋能汽车制造产业链场景系列
  • 让你工作效率大大翻倍的编程工具--希望对你有用
  • MAGNET电源维修磁铁电源磁场电源SPS5892
  • TypeScript 中函数的理解及其与 JavaScript 函数的差异
  • Composer入门详解
  • 【C++11】右值引用
  • RFID技术在汽车焊接生产线的智能应用与优化
  • 计算机找不到msvcr110.dll解决方法,详细解读三种靠谱方法
  • javascript中null和undefined的区别
  • 0基础学习CSS(二十二)伪元素
  • SPI主从通讯稳定性之解决方法
  • 【算法】博弈论(C/C++)
  • 动态规划——简单的动态规划问题
  • 随机掉落的项目足迹:Vue3中vite.config.ts配置代理服务器解决跨域问题
  • 【Redis】持久化(下)-- AOF
  • 新手投资者如何选择低佣金的证券公司开户