Biblioteca ligera de ventanas X

Quiero portar un programa de Windows en el que estoy trabajando a Linux. Utiliza completamente d3d11 para dibujar su salida, por lo que tendré que escribir una alternativa opengl. Esta bien. Pero necesito crear una ventana y algunas operaciones básicas como cambiar el tamaño, configurar la pantalla completa, recibir notificaciones de la entrada del teclado y el mouse del usuario, y cerrar y cambiar el tamaño de la notificación.

No necesitaré ventanas secundarias ni controles, ya que todo está dibujado por opengl.

Entonces, ¿cuál es una forma apropiada de hacer esto? Miré Xlib sin procesar, pero parece un nivel bastante bajo. Estoy preparado para aprenderlo, pero todos los ejemplos parecen muy antiguos, así que no estoy seguro de si sigue siendo la mejor manera, además, ¿funcionará con cualquier entorno que tenga el usuario (kde, gnome, etc.)?

Podría usar qt, kde, etc., pero son mucho, mucho más sofisticados de lo que necesito para esto, así que introduzca una gran dependencia que preferiría evitar si es posible.

Entonces, ¿Xlib es una tecnología apropiada para esto, o hay alguna otra biblioteca liviana que no conozco?

preguntado el 22 de mayo de 12 a las 10:05

2 Respuestas

Revisa SDL. Es más o menos la opción estándar para aplicaciones como la suya.

contestado el 22 de mayo de 12 a las 10:05

Si bien eso técnicamente funcionaría y es una buena respuesta, realmente quería algo que pudiera vincular estáticamente a mi programa y que solo incorporara la funcionalidad que necesitaba. Además, no estoy del todo seguro de que una licencia lgpl satisfaga mis necesidades. Sin embargo, es una buena respuesta y una que ciertamente investigaré. - jcodificador

@JohnB Creo que SDL se adapta muy bien a sus necesidades. El requisito de que desea vincular estáticamente es algo sorprendente, las alternativas que mencionó (Qt, etc.) ciertamente no son algo que vincularía estáticamente con mucha frecuencia. SDL es pequeño (el archivo DLL de Win32 es ~140 KB) por lo que es realmente ligero. La licencia debería estar bien, para eso está LGPL. :) - relajarse

Ciertamente tengo la intención de probarlo y creo que podría funcionar para mí. - jcodificador

Parece que GLUT podría satisfacer sus necesidades.

contestado el 22 de mayo de 12 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.