2012-05-22 3 views
1

Я хочу портировать программу Windows, над которой я работаю в Linux. Он полностью использует d3d11 для вывода вывода, поэтому мне нужно написать альтернативу opengl. Хорошо. Но мне нужно создать окно и несколько основных операций, таких как изменение размера, установка полноэкранного режима, получение уведомлений о пользовательской клавиатуре и вводе мыши, а также закрытие и изменение размера уведомления.Легкая библиотека окон X

Мне не нужны никакие дочерние окна или элементы управления, поскольку все нарисовано opengl.

Итак, что подходит для этого? Я посмотрел на необработанный Xlib, но он выглядит довольно низким. Я готов это изучить, но все примеры кажутся действительно старыми, поэтому я не уверен, что это все же лучший способ, плюс будет делать эту работу с любой средой, которой пользовался пользователь (kde, gnome и т. Д.)?

Я мог бы использовать qt, kde и т. Д., Но они намного сложнее, чем мне нужно для этого, чтобы представить большую зависимость, которую я бы скорее избежал, если это было возможно.

Итак, Xlib подходит для этого, или есть какая-то другая легкая библиотека, о которой я не знаю?

ответ

1

Посмотрите на SDL. Это довольно стандартный выбор для таких приложений, как ваш.

+0

Хотя это технически будет работать, и это хороший ответ, я действительно хотел, чтобы я смог связать статически в своей программе и в котором только встроено функциональное свойство, в котором я нуждался. Плюс я не совсем уверен, что лицензия lgpl отвечает моим потребностям. Это хороший ответ, хотя и я обязательно посмотрю. – jcoder

+0

@JohnB Я думаю, что SDL подходит вам очень хорошо. Требование, которое вы хотите связать статически, несколько удивительно, альтернативы, которые вы упомянули (Qt и т. Д.), Конечно, не являются тем, что вы бы связывали статически очень часто. SDL крошечный (DLL Win32 ~ 140 * KB *), поэтому он очень легкий. Лицензия должна быть хорошей, вот для чего LGPL. :) – unwind

+0

Я, конечно, намерен попробовать и подумать, что это может сработать для меня. – jcoder

0

Похоже, что GLUT может удовлетворить ваши потребности.