Об этом проекте
eepp (Entropia Engine++) — это фреймворк с открытым исходным кодом на C++ для создания игр и приложений, с особым акцентом на богатые графические интерфейсы пользователя. Он официально поддерживает Linux, Windows, macOS, FreeBSD, Haiku, Android и iOS, а также может быть экспортирован в HTML5 через Emscripten с некоторыми ограничениями.
Модуль UI предоставляет систему виджетов на основе узлов с событиями ввода (клики, нажатия клавиш, наведение, фокус), анимацией, масштабированием, вращением, обрезкой, темами и скинами, масштабированием по плотности пикселей и распространёнными виджетами, такими как кнопки, текстовые поля, выпадающие списки, меню, списки и полосы прокрутки. Разметки похожи на Android (LinearLayout, RelativeLayout, GridLayout) и могут загружаться и стилизоваться из XML. Стилизация использует собственную реализацию Cascading Style Sheets, охватывающую множество правил CSS2, а также возможности CSS3, такие как анимации, переходы, пользовательские свойства, медиа-запросы и @font-face. Слой совместимости HTML+CSS выполняет нативный рендеринг HTML-документов через компонент UIWebView, который также используется для рендеринга Markdown, с поддержкой режимов отображения block, inline, flex, grid и table, позиционирования, форматированного текста и таблиц стилей в области документа.
Графический модуль предлагает рендереры OpenGL 2/3, OpenGL ES 1/2 и Core Profile, автоматический батчинг, поддержку шрифтов TrueType/BMFont/XNA, фреймбуферы, шейдеры, VBO, частицы, анимированные спрайты, атласы текстур с редактором, маски обрезки, nine-patch растровые изображения и множество форматов изображений, включая растеризованный SVG. Оконный модуль основан на бэкенде (в настоящее время SDL2) и обрабатывает буфер обмена, аппаратные курсоры, дисплеи и джойстики. Звук использует OpenAL (с mojoAL в качестве встроенной замены по умолчанию), поддерживая OGG, WAV, MP3 и FLAC. Другие модули охватывают многопоточность, виртуальную файловую систему, управление памятью, обработку UTF-строк, математические утилиты, сетевые функции HTTP/FTP с TLS, систему сцен на основе узлов, а также опциональные модули физики Chipmunk и карт Tiled.
Включённые инструменты — редактор UI с интерактивным предпросмотром разметки/CSS, редактор атласов текстур и 2D-редактор карт. Проект поставляется с примерами, тестами и реализациями бенчмарка 7GUIs. Для сборки требуются SDL2 и premake4/premake5 для генерации Makefiles или проектов IDE; платформо-специфичные инструкции приведены для Linux, Windows (Visual Studio или MinGW/w64devkit), macOS (Makefiles или Xcode), Android (Gradle) и iOS. Документация частично завершена, причём наибольшее внимание уделено модулю UI.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.