Mor*_*red 3 c x11 mouse cursor
我有一个相当大的,相当古老的C应用程序,已经移植到Linux.我负责让鼠标光标正常工作,但有一些问题.我能够将我们需要的大多数游标转换为使用XFontCursor提供的标准游标,方法如下:
gCursorTable[waitCurs] = XCreateFontCursor(gDisplay, XC_watch);
...
XDefineCursor(gDisplay, WHostWindow(w), gCursorTable[cursor]);
XFlush(gDisplay);
Run Code Online (Sandbox Code Playgroud)
对于在XFontCursor提供的极其有限的(有用)游标列表中具有类似物的游标,这是很好的,但是我还想设置其他内置的主题游标.例如,我希望能够在我的应用程序中将光标设置为bd_double_arrow(它包含在每个光标主题中,并且是Windows的标准对角线大小调整光标),但显然你不能用XCreateFontCursor做到这一点.这似乎很基本,但对于我的生活,我找不到任何关于如何做的描述.
我只是想知道其他X11应用程序如何设置游标,因为它们显然是从全局主题获取它们而不仅仅是使用XCreateFontCursor.
使用主题游标的最简单方法是使用Xcursor库.
#include <X11/Xcursor/Xcursor.h>
...
Cursor c = XcursorLibraryLoadCursor(dpy, "sb_v_double_arrow");
XDefineCursor (dpy, w, c);
Run Code Online (Sandbox Code Playgroud)
名称是X11/cursorfont.hsans的标准游标名称XC_.如果主题有额外的游标,例如bd_double_arrow,也可以使用这些名称(但并非所有主题都有它们!)
如果主题没有替换某些核心X游标,则库将回退到核心游标.
| 归档时间: |
|
| 查看次数: |
3071 次 |
| 最近记录: |