Библиотека построения графических интерфейсов Cosmoe, использующая Wayland и API в стиле BeOS
Дата публикации:Fri, 27 Jun 2025 12:56:44 +0300
Представлена GUI-библиотека Cosmoe, поддерживающая работу в Linux в окружениях на базе Wayland. Cosmoe позволяет создавать программы с графическим интерфейсом на языке C++, применяя для формирования интерфейса API в стиле библиотеки классов операционной системы BeOS. Библиотека даёт возможность напрямую запускать в Linux программы, использующие API BeOS. Код проекта распространяется под лицензией MIT.
Cosmoe предлагает набор классов C++, позволяющих быстро и просто создавать интерфейсы пользователя. С одной стороны, Cosmoe существенно проще и компактнее таких тулкитов, как GTK и Qt, но, с другой стороны, позволяет создавать интерфейсы, более современно выглядящие, чем при использовании легковесных FLTK и Xforms. На устаревших системах Cosmoe даёт возможность добиться очень низкого потребления ресурсов, а на современных позволяет выжать из оборудования максимальную производительность, благодаря активному использованию многопоточности. Предоставляется коллекция примеров приложений, использующих Cosmoe для создания интерфейса, среди которых эмулятор терминала, редактор стилей и простые игры.
Библиотека основана как легковесное и не требующее серверных компонентов (app_server, registrar) ответвление от кодовой базы проекта Cosmoe Classic, переведённой на работу поверх композитных серверов, использующих протокол Wayland. Проект Cosmoe Classic занимался портированием окружения Haiku OS для работы поверх ядра Linux и использовал отрисовку интерфейса в окне, созданном при помощи библиотеки SDL. Разработка Cosmoe Classic была возрождена в прошлом году после семнадцатилетнего перерыва.
В настоящее время проект переориентирован с разработки форка ОС Haiku на создание обособленной библиотеки для создания графических приложений для Linux. На текущем этапе разработка находится на альфа-стадии, при этом библиотека уже поддерживает около 95% от всех возможностей API BeOS. Из наиболее важных ограничений отмечается отсутствие поддержки не привязанных к экрану экземпляров типа BBitmap, необходимых для аппаратного ускорения отрисовки, и неготовность API BFilePanel, формирующего диалоги для открытия и сохранения файлов.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63483