Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

EUI-NEO

EUI icon

Release License C++17 CMake 3.14+ OpenGL / Vulkan GLFW / SDL2 GitHub stars

简体中文 · Website

EUI-NEO is a cross-platform, high-performance, low-overhead C++17 UI framework with GLFW/SDL2 window backends and OpenGL/Vulkan render backends.

Preview

preview 1preview 2
preview 3preview 4
example 1example 2

Quick Start

Requirements:

  • CMake 3.14+
  • A C++17 compiler: MSVC 19.29+ (Visual Studio 2019 16.11+), GCC/MinGW-w64 12+, or Clang 14+
  • OpenGL development files for the default renderer

Add EUI-NEO under 3rd/EUI-NEO, then create:

If the GitHub clone fails, use the AtomGit mirror as a fallback:

git clone https://atomgit.com/sudoevolve/EUI-NEO.git 3rd/EUI-NEO
cmake_minimum_required(VERSION 3.14)
project(MyProject LANGUAGES C CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_subdirectory(3rd/EUI-NEO)

add_executable(my_app main.cpp)
eui_neo_configure_app(my_app)

main.cpp:

#include "eui_neo.h"

namespace app {

const DslAppConfig& dslAppConfig() {
    static const DslAppConfig config = DslAppConfig{}
        .title("My App")
        .pageId("my_app")
        .windowSize(960, 640);
    return config;
}

void compose(eui::Ui& ui, const eui::Screen& screen) {
    ui.column("root")
        .size(screen.width, screen.height)
        .padding(32.0f)
        .content([&] {
            ui.text("title")
                .text("Hello EUI-NEO")
                .fontSize(28.0f)
                .build();
        })
        .build();
}

} // namespace app

Build:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel

On Windows with the Visual Studio generator, run:

.\build\Release\my_app.exe

On Linux or macOS, run:

./build/my_app

eui_neo_configure_app() adds the selected GLFW/SDL2 entry point, links eui::neo, applies platform executable settings, and deploys the runtime assets. The application does not reference files under core/.

The release SDK supports the same target setup:

find_package(EuiNeo CONFIG REQUIRED)
add_executable(my_app main.cpp)
eui_neo_configure_app(my_app)

See the Integration Guide for installation, FetchContent, and SDL2/Vulkan selection. See Development And Release for building this repository and dependency requirements.

Optional Modules

Optional feature modules live under modules/ and are documented in the Modules Guide.

Project Layout

assets/       Runtime assets: fonts, PNG, SVG, and icons
components/   Reusable UI components built on top of the DSL
core/         DSL, Runtime, primitives, text, image, network, and platform code
docs/         Implementation notes and API documentation
examples/     Short, single-screen API demonstrations
modules/      Optional feature modules such as keyboard and serial
apps/         Longer or multi-page applications; each app lives in its own folder
include/      Public include path: eui_neo.h and eui/* facade headers
tests/        Probe sources, fixture apps, and local benchmark notes
3rd/          Vendored third-party build sources and single-file dependencies

Docs

License

EUI-NEO's original source code is licensed under the Apache License 2.0. Third-party code under 3rd/, optional build-time dependencies fetched by CMake, and bundled fonts or icon fonts under assets/ follow their respective upstream licenses and copyright notices.

Contributors

Thank you to everyone who has contributed code, improved the documentation, reported issues, or shared feedback with EUI-NEO.

EUI-NEO contributors

关于 About

EUI-NEO is a cross-platform, high-performance, low-overhead C++17 GPUI framework

语言 Languages

C++90.6%
GLSL2.3%
C2.2%
CMake1.8%
CSS1.1%
JavaScript1.1%
HTML0.4%
Python0.4%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
489
Total Commits
峰值: 93次/周
Less
More

核心贡献者 Contributors