【问题标题】:How to have a transparent window background using FLTK如何使用 FLTK 获得透明的窗口背景
【发布时间】:2018-04-14 20:24:19
【问题描述】:

我正在做一个项目,想创建一个具有透明背景的窗口,但似乎不知道如何做到这一点。我打的电话是:

XWindow win = XCreateSimpleWindow(d, fl_xid(Root), winWidth, winHeight, 5, 5, 0, 0, NULL);

“NULL”值无效,因为它正在寻找无符号整数。任何帮助将不胜感激!

【问题讨论】:

  • 请注意 Lubuntu 默认不使用合成器。即使改变了X窗口的不透明度,也需要运行一个合成器,比如xcompmgr或compton等,才能实现透明。您通常安装这些以在启动时启动。

标签: window x11 fltk


【解决方案1】:

取决于“透明背景”的含义。如果您想要完全透明,请查看this answer。

如果您想要不透明度并使用合成器,您应该能够执行以下操作:

Atom atom = XInternAtom(fl_display, "_NET_WM_WINDOW_OPACITY", False); 
uint opacity = 0x80000000; /* 0x0 .. 0xffffffff */
XChangeProperty(fl_display, fl_xid(win), atom, XA_CARDINAL, 32,
                PropModeReplace, (unsigned char*)&opacity, 1L);

【讨论】:

    猜你喜欢
    • 2011-06-20
    • 2011-04-23
    • 2012-06-25
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多