关于这个问题,我找了一段时间了。我正在制作一个跨平台程序,我已经知道如何用windows加载动画游标,以及如何在运行时根据原始位图数据创建游标。但是,对于X11和我的Unix/Linux程序的构建,我找不到很好的文档。我知道我需要使用这个文档中的XRender扩展函数,XRenderCreateCursor和XRenderCreateAnimCursor,但是我不知道如何使用这些函数,文档现在显示了任何示例。
此外,原始图像数据采用ARGB格式,如果可能的话,我希望通过这些游标支持Alpha通道。
有人能告诉我如何使用X11和XRender (或XCursor)库来创建一个静态和动画的游标,以及可能的话如何做它,以便游标可以与任何X11窗口一起使用。
谢谢!
PS。
我正在为我的程序使用的跨平台Gui随意编辑一个开源的libary,并且我试图将这个特性添加到libary中,但是我不习惯用X11编程。
发布于 2016-11-13 21:41:52
说到X,没有什么是简单的。
首先,回顾一下X呈现扩展的规范。
创建动画光标的步骤如下。
PICTURE
为动画光标的每一个帧创建一个CreatePicture
。CreateCursor
从每个PICTURE
创建一个CURSOR
。CreateCursor
返回一个CURSOR
句柄。CURSOR
的列表,然后使用CreateAnimCursor
创建一个表示动画光标的CURSOR
。这一切都归结为为每个帧创建一个PICTURE
。PICTURE
是使用来自DRAWABLE
和PICTFORMAT
的CreatePicture
创建的。DRAWABLE
将是具有光标框架实际位掩码的PIXMAP
,PICTFORMAT
指定像素映射中的哪些通道表示红色、颜色和绿色通道,并且必须是从QueryPictformat
返回的枚举PICTFORMAT
之一。
有关更多信息,请参见前面提到的X呈现扩展规范。
https://stackoverflow.com/questions/40578969
复制相似问题