Получаете указатель на мой XDisplay (Linux) (X)? - PullRequest
1 голос
/ 21 октября 2011

Мне нужно иметь доступ к X Event Loop, чтобы добавить поддержку буфера обмена для игрового API.Проблема в том, что игровой API не знает, какой API он будет использовать для отображения (он может использовать SDL или другой).В результате у меня нет прямого доступа к циклу событий X.Есть ли в XLib функция для получения указателя на мой дисплей, чтобы я мог обрабатывать сообщения и добавлять поддержку буфера обмена?

Спасибо

Ответы [ 2 ]

1 голос
/ 21 октября 2011

Если он работает на X11, в графическом объекте должен быть указатель Display где-то .Вы можете выделить новый с XOpenDisplay(NULL);, но это вряд ли приведет к тому, что вы хотите.Вам все равно придется найти Windows и другую информацию, которая достаточно сложна, когда программа делает это один раз.

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

0 голосов
/ 03 ноября 2011

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

...