LINUX.ORG.RU

прозрачное X окно по типу XMMS


0

0

подскажите пожалуйста, как можно создать X окно без фона. Т.е. как бы прозрачное, чтобы внутри отрисовывалось только то, что рисую в нем я, безо всякого белого фона, с которым создаётся окно XCreateSimpleWindow.

Т.е. я так себе представляю работу XMMS:

- создаётся пустое окно (без фона);

- в это окно врисовывается картинка из скина. там, где в картинке пустые (прозрачные) места - в окне отображается то, что под окном.

В исходниках xmms работает через gdk. Как добиться такого эффекта через xlib?

Надеюсь, что удалось объяснить, что я хочу :)

заранее спасибо

Re: прозрачное X окно по типу XMMS

я бы поставил X.Org >= R6.8 (впрочем, уже стоит)... ...и поигрался бы с новым расширением XComposite - оно как раз предназначено для создания прозрачных окон, причём не как в xmms, а с альфа-прозрачностью Что касается xmms, там, возможно, через регионы окошко отрисовывается, в иксах есть такое, только при этом у кривых края рваные и красиво это смотреться никогда не будет. так что XComposite

anonymous ()
Ответ на: Re: прозрачное X окно по типу XMMS от anonymous

Re: прозрачное X окно по типу XMMS

а как в yab (из ADesklets) иконки рисуются? при наведении на иконку она вырастает, фон под иконкой прозрачен, но смотрится отлично, хотя XComposite не включен. Как такое делается? Не на Питоне, не на imlib2? Кто нибудь знает?

jackLucas ()
Ответ на: Re: прозрачное X окно по типу XMMS от anonymous

Re: прозрачное X окно по типу XMMS

>>я бы поставил X.Org >= R6.8 (впрочем, уже стоит)

в QT + XFree86 4.3 прозрачность работает на ура. Любой сложности. Хоть окно в виде буквы А - такое тоже возможно.

butterfly ()
Ответ на: Re: прозрачное X окно по типу XMMS от jackLucas

Re: прозрачное X окно по типу XMMS

XComposite - это настоящая прозрачность, но для нее необходима аппаратная поддержка обеспечиваемя видеокартой.

Прозрачность в Адесклетс - это псевдопрозрачность. В них все далеается просто: создается окно размером с окно АДесклется без фона. Если не задан фон у окна, то ХСервер не заполняет окно ничем, т.е. какая картинка была на месте создания окна, та картинка и будет фоном. Эту картинку потом можно считать.

Для создания окон без фона используйте функцию XCreateWindow.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.