Рисование поверх каждого окна на X11 - PullRequest
3 голосов
/ 25 апреля 2010

Я пытаюсь сделать аркадный автомат. Пользователь приобретет кредиты, которые позволят ему играть в течение X минут. Я хочу написать «9:42 минут до конца» в левом углу экрана, даже если он играет в полноэкранную игру (например, UrbanTerror).

Мне бы очень хотелось, если бы я мог сделать это с Ruby, но любой другой язык в порядке. Есть идеи?

Заранее спасибо.

1 Ответ

3 голосов
/ 25 апреля 2010

Хорошим примером такого приложения является XOSD .

Проблема в том, что, вероятно, произойдет сбой в любом контексте GLX, с которым работают полноэкранные игры, такие как Urban Terror. Даже если бы он нарисовал, игра переиграет его почти мгновенно, так что лучшее, что вы получите, это сильное мерцание.

Вероятно, вам лучше использовать дешевое аппаратное решение, такое как небольшой дополнительный дисплей (есть несколько USB 7 "дисплеев) или устройство LCD. Я бы даже сказал, что это хорошо для удобства использования.

Возможно, это поможет вам, но я не знаю, работает ли он для нескольких приложений и приложений в полноэкранном режиме: http://doc.trolltech.com/3.3/opengl-x11-overlays.html

Идея состоит в том, чтобы использовать специальную возможность наложения графической карты, которая обычно используется для всплывающих окон. Возможно, вы можете создать такой оверлей на самом верхнем уровне, и он также будет работать в полноэкранном режиме - возможно, нет.

...