À propos du projet
eepp (Entropia Engine++) est un framework C++ open source et multiplateforme pour la création de jeux et d'applications, mettant fortement l'accent sur des interfaces graphiques riches. Il cible officiellement Linux, Windows, macOS, FreeBSD, Haiku, Android et iOS, et peut être exporté vers HTML5 via Emscripten avec certaines limitations.
Le module UI fournit un système de widgets basé sur des nœuds avec des événements d'entrée (clics, frappes de touches, survol, focus), l'animation, la mise à l'échelle, la rotation, le clipping, les thèmes et skins, la mise à l'échelle de la densité de pixels, ainsi que des widgets courants tels que boutons, zones de texte, listes déroulantes, menus, zones de liste et barres de défilement. Les layouts ressemblent à ceux d'Android (LinearLayout, RelativeLayout, GridLayout) et peuvent être chargés et stylés depuis XML. Le style utilise une implémentation personnalisée de feuilles de style en cascade couvrant de nombreuses règles CSS2 ainsi que des fonctionnalités CSS3 comme les animations, les transitions, les propriétés personnalisées, les media queries et @font-face. Une couche de compatibilité HTML+CSS rend les documents HTML de manière native via un composant UIWebView, également utilisé pour le rendu Markdown, avec prise en charge des modes d'affichage block, inline, flex, grid et table, du positionnement, du texte enrichi et des feuilles de style à portée de document.
Le module graphique propose des renderers OpenGL 2/3, OpenGL ES 1/2 et Core Profile, le batching automatique, la prise en charge des polices TrueType/BMFont/XNA, les framebuffers, les shaders, les VBO, les particules, les sprites animés, les atlas de textures avec un éditeur, les masques de clipping, les bitmaps nine-patch et de nombreux formats d'image, y compris le SVG rastérisé. Le module window est basé sur un backend (actuellement SDL2) et gère le presse-papiers, les curseurs matériels, les écrans et les joysticks. L'audio utilise OpenAL (avec mojoAL comme valeur par défaut de remplacement) prenant en charge OGG, WAV, MP3 et FLAC. D'autres modules couvrent le threading, un système de fichiers virtuel, la gestion de la mémoire, la manipulation de chaînes UTF, les utilitaires mathématiques, le réseau HTTP/FTP avec TLS, un système de scènes basé sur des nœuds, ainsi que des modules optionnels de physique Chipmunk et de cartes Tiled.
Les outils inclus sont un éditeur d'interface utilisateur avec aperçu en direct des layouts/CSS, un éditeur d'atlas de textures et un éditeur de cartes 2D. Le projet fournit des exemples, des tests et des implémentations du benchmark 7GUIs. La compilation nécessite SDL2 et premake4/premake5 pour générer des Makefiles ou des projets IDE ; des instructions spécifiques à chaque plateforme sont fournies pour Linux, Windows (Visual Studio ou MinGW/w64devkit), macOS (Makefiles ou Xcode), Android (Gradle) et iOS. La documentation est partiellement complète, le module UI recevant le plus d'attention.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.