首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在X11中从原始数据c++创建游标

如何在X11中从原始数据c++创建游标
EN

Stack Overflow用户
提问于 2016-11-13 21:22:28
回答 1查看 938关注 0票数 1

关于这个问题,我找了一段时间了。我正在制作一个跨平台程序,我已经知道如何用windows加载动画游标,以及如何在运行时根据原始位图数据创建游标。但是,对于X11和我的Unix/Linux程序的构建,我找不到很好的文档。我知道我需要使用这个文档中的XRender扩展函数,XRenderCreateCursor和XRenderCreateAnimCursor,但是我不知道如何使用这些函数,文档现在显示了任何示例。

此外,原始图像数据采用ARGB格式,如果可能的话,我希望通过这些游标支持Alpha通道。

有人能告诉我如何使用X11和XRender (或XCursor)库来创建一个静态和动画的游标,以及可能的话如何做它,以便游标可以与任何X11窗口一起使用。

谢谢!

PS。

我正在为我的程序使用的跨平台Gui随意编辑一个开源的libary,并且我试图将这个特性添加到libary中,但是我不习惯用X11编程。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-13 21:41:52

说到X,没有什么是简单的。

首先,回顾一下X呈现扩展的规范

创建动画光标的步骤如下。

  1. 首先,您需要使用PICTURE为动画光标的每一个帧创建一个CreatePicture
  2. 使用CreateCursor从每个PICTURE创建一个CURSORCreateCursor返回一个CURSOR句柄。
  3. 然后,获取所有框架的所有CURSOR的列表,然后使用CreateAnimCursor创建一个表示动画光标的CURSOR

这一切都归结为为每个帧创建一个PICTUREPICTURE是使用来自DRAWABLEPICTFORMATCreatePicture创建的。DRAWABLE将是具有光标框架实际位掩码的PIXMAPPICTFORMAT指定像素映射中的哪些通道表示红色、颜色和绿色通道,并且必须是从QueryPictformat返回的枚举PICTFORMAT之一。

有关更多信息,请参见前面提到的X呈现扩展规范。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40578969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档