Se presenta la biblioteca GUI Cosmoe, que admite su uso en Linux en entornos basados en Wayland. Cosmoe permite crear programas con una interfaz gráfica en C++, utilizando una API al estilo de la biblioteca de clases del sistema operativo BeOS para formar la interfaz. La biblioteca permite ejecutar directamente en Linux programas que utilizan la API de BeOS. El código del proyecto se distribuye bajo la licencia MIT.
Cosmoe ofrece un conjunto de clases C++ que permiten crear interfaces de usuario rápida y fácilmente. Por un lado, Cosmoe es considerablemente más simple y compacto que herramientas como GTK y Qt, pero por otro lado, permite crear interfaces que tienen un aspecto más moderno que al usar opciones ligeras como FLTK y Xforms. En sistemas obsoletos, Cosmoe permite lograr un consumo de recursos muy bajo, mientras que en sistemas modernos aprovecha al máximo el hardware, gracias al uso activo de multihilo. Se proporciona una colección de ejemplos de aplicaciones que utilizan Cosmoe para crear interfaces, entre las cuales se encuentran un emulador de terminal, un editor de estilos y juegos simples.
La biblioteca se basa en una bifurcación ligera y sin componentes de servidor (app_server, registrar) del código fuente del proyecto Cosmoe Classic, adaptada para funcionar sobre compositores que utilizan el protocolo Wayland. El proyecto Cosmoe Classic se dedicaba a portar el entorno Haiku OS para operar sobre el núcleo de Linux y utilizaba la renderización de la interfaz en una ventana creada con la biblioteca SDL. El desarrollo de Cosmoe Classic se revitalizó el año pasado después de un parón de diecisiete años. servidores, que utilizan el protocolo Wayland. Actualmente, el proyecto se ha reorientado de desarrollar un fork del sistema operativo Haiku a crear una biblioteca independiente para el desarrollo de aplicaciones gráficas para Linux. En esta etapa, el desarrollo se encuentra en fase alfa, aunque la biblioteca ya soporta alrededor del 95% de todas las funciones de la API de BeOS. Entre las limitaciones más importantes se destaca la falta de soporte para instancias no vinculadas a la pantalla, como BBitmap, que son necesarias para la aceleración de hardware en la renderización, y la falta de finalización de la API BFilePanel, que gestiona los diálogos para abrir y guardar archivos.
Se presenta la biblioteca GUI Cosmoe, que admite su uso en Linux en entornos basados en Wayland.

Fuente: opennet.ru
