XCB

来源:互联网 发布:java类设计工具 编辑:程序博客网 时间:2024/05/01 06:44

X协议的c语言绑定(XCB) 是一种替代Xlib具有占用空间小,延迟隐藏,直接访问协议,提高线程的支持,和可扩展性。

  • 基本的窗口和绘制(https://xcb.freedesktop.org/tutorial/basicwindowsanddrawing/)
  • 事件(https://xcb.freedesktop.org/tutorial/events/)
  • 文本和字体(https://xcb.freedesktop.org/tutorial/fonts/)
  • 窗口的内容和操作(https://xcb.freedesktop.org/windowcontextandmanipulation/)
  • 颜色和像素地图(https://xcb.freedesktop.org/colorsandpixmaps/)
  • 鼠标光标(https://xcb.freedesktop.org/tutorial/mousecursors/)
  • Xlib 到XCB的翻译引导(https://xcb.freedesktop.org/xlibtoxcbtranslationguide/)
介绍
这个手册是用来介绍给想用XCB library进行编程需要的人们。 像使用Xlib library来使用XCB, 因为不是大多数的编程人员都想要写X的应用程序。而更多的开发者是想使用更高级的GUI 开发工具,如Motif, LessTiff, GTK, Qt, EWL, or ETK 或者更高级的使用library Cairo来进行绘制。虽然, 不是所有的XCB的基础都很复杂,了其他一些库的上层的东西也不是坏事。
在读完这个手册之后,一个人可以写简单图形程序而不是好看的图形界面(至少是相对简单的)。在写应用程序之前,这个先前的关于上面库的了解是更有必要的。
什么是XCB,为什么它为存在?
XCB("X C Bing")是一个低级的api给X window server。 XCB是Xlib的一个替代产物,Xlib曾是多年以来标准的C绑定的给X Window System 协议的库。Xlib表现得很优秀,但是对于应用程序来说也有很多不理想的地方,例如:
  • 小平台: Xlib包含在大段的代码,精简起来十分困难
  • 延迟隐藏:Xlib需要有效的同步回复:他们会一直阻塞直到获取到结果,不管这个结果是否立即需要
  • 直接访问协议:Xlib需要大量的缓存,层和相似的优化。由于这个通性,它很难简单的发出特定的X 协议请求和处理特定的响应
  • 线程化应用程序:Xlib尽量会支持多线程,它的api的容错性较差
  • 新的扩展:Xlib的底部架构提供了有限的支持给新的X的扩展客户端代码。
XCB被设计用来解决上述的问题,目前已经解决的有:
  • 工具包的实现
  • 直接进行协议级的编程
  • 轻量级的调用常用的Xlib api.

0 0
原创粉丝点击