- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
X 中的混成器与Composite 扩展
X中的混成器与 Composite扩展 ⽬录 原始的X的绘图模型 通过Composite扩展重定向 ⼝输出 输⼊事件的重定向,这可能做到么? Composite扩展的不⾜ 附录 :扩展阅读 在上篇⽂章 「桌⾯系统的混成器简史」中我介绍了 其它桌⾯系统中的混成器的发展史和⼯作原理,话题回 到我们的正题Linux系统上,来说说⽬前X中混成器是 如何⼯作的。这篇⽂章将⽐上⼀篇深⼊更多技术细节, 不想看太多细节的可以直接跳过看结论。 原始的X的绘图模型 ⾸先,没有混成器的时候X是这样画图的 : X的应⽤程序没有统⼀的绘图API。GTK+在3.0之 后统⼀⽤Cairo绘图,⽽Cairo则是基于PDF1.4的绘 图模型构建的,GTK的2.0和之前的版本中也有很⼤⼀ 部分的绘图是⽤Cairo进⾏,其余则通过xlib或者xcb 调⽤X核⼼协议提供的绘图原语绘图。QT的情况也是类 似,基本上⽤QPaint⼦系统绘制成位图然后交给X的显 ⽰服务器。显⽰服务器拿到这些绘制请求之后,再在屏 幕上的相应位置绘制整个屏幕。当然还有很多⽼旧的不 ⽤GTK或者QT的程序,他们则直接调⽤X核⼼协议提 供的绘图原语。 值得注意⼀点是X上除了没有统⼀的绘图模型,也 没有统⼀的⽮量图格式。X核⼼协议的绘图原语提供的 是像素单位的绘图操作,没有类似GDI+或者Quartz提 DeviceIndependence 供的 设备⽆关的 「点」的抽象。所以只⽤X的绘图原 语的话,我们可以把(1,1)这个像素点涂⿊,但是不能把 (0.5,0.5)这个点涂⿊,这⼀设计缺陷在UnixHaters Handbook中已经被吐槽过了。因为这个缺陷,所以直 接⽤X绘图原语绘制的图像不能像⽮量图那样进⾏⽆损 缩放。同样的缺陷导致X绘图原语绘制的字符不能做到 subpixel-level anti-aliasing ⼦像素级抗锯⻮ (这解释了默认配置下的xterm和 urxvt中的字体渲染为什么难看)。相⽐之下GDI有对 应的WMF⽮量图格式,Quartz有对应的PDF⽮量图格 式,⽽X中没有这样的格式对应。因为没有统⼀的⽮量 图格式,所以⽆论是Cairo、QPaint还是没有⽤这些绘 图库但是同样在意字体和曲线渲染效果的程序 (⽐如 Firefox和Chromium)都需要⾸先渲染到内部的 XPixMap位图格式,做好⼦像素渲染和⽮量缩放,然后 再把渲染好的位图转交给X图形服务器。 通过Composite扩展重定 向 ⼝输出 2004年发布的X11R6.8版本的Xorg引⼊了 Composite扩展。这个扩展背后的动机以及前因后果在 ⼀篇⽂章The(Re)ArchitectureoftheXWindow System中有详细的表述。Composite扩展允许某个X 程序做这⼏件事情 : 1. 通过 RedirectSubwindows 调⽤将⼀个 ⼝树 off-screenstorage 中的所有 ⼝渲染重定向到内部存储。重定向的 时候可以指定让X⾃动更新 ⼝的内容到屏幕上或 者由混成器⼿动更新。 2. 通过 NameWindowPixmap 取得某个 ⼝的内部 存储。 3. 通过GetOverlayWindow 获得⼀个特殊的⽤于 绘图的 ⼝,在这个 ⼝上绘制的图像将覆盖在 屏幕的最上⾯。 4. 通过 CreateRegionFromBorderClip 取得某个 ⼝的边界剪裁区域 (不⼀定是矩形)。 有了Composite扩展,⼀个X程序就可以调⽤这些 API实现混成器。这⾥有篇教学解释如何使⽤ Composite扩展。开启了混成的X是这样绘图的 : 整个X的混成器模型与MacOSX的混成
您可能关注的文档
- JBoss 企业级应用程序平台62 624 发行注记.PDF
- Introduction of foundation of Geophysics - 科学网—博客.PDF
- JHN维修指南 - 南京长距科技有限公司.DOC
- KDGK-8B 高压开关动特性测试仪产品技术规范书.DOC
- HRB400钢筋弯曲断裂分析 - 材料与测试网.PDF
- ImageMaker 二零一零年秋季 - Pico.PDF
- IT服务解决方案 - IT外包服务.PDF
- Knight Capital技术故障彰显股市薄弱点.PDF
- KJTC-IV 型高压开关机械特性测试仪使用说明一、概述KJTC-IV 型高压 .PDF
- KSZD-20浊度安装使用说明书,文档类型: - 北京利达科信环境安全 .DOC
最近下载
- 07-维护支柱应知应会.doc VIP
- 考试点专业课:中国矿业大学(徐州)财务管理习题.pdf VIP
- 中国矿业大学《财务管理》2020-2021学年期末试卷.pdf VIP
- 中国矿业大学《财务管理》2021-2022学年第一学期期末试卷.pdf VIP
- 中国矿业大学《国际会计学(英语)》2021-2022学年第一学期期末试卷.doc VIP
- 中国矿业大学《财务管理》2025 - 2026学年第一学期期末试卷.docx VIP
- 高二《直线和圆的方程》易错培优竞赛试题-2024-2025学年高二数学竞赛能力培优练(全国通用)解析版.pdf VIP
- 高二《直线和圆的方程》易错培优竞赛试题-2024-2025学年高二数学竞赛能力培优练(全国通用)原卷版.pdf VIP
- 第六章:维护支柱.pdf VIP
- 缺血性卒中患者椎动脉颅内段钙化:多因素关联与临床洞察.docx
文档评论(0)