compat.eui-neo
#includeEUI-NEO — declarative retained-mode C++17 UI framework (GLFW + OpenGL)
#include <eui_neo.h>
mcpp add compat.eui-neo@0.5.5
Usage
From this repository's own test project — built and run by CI, not written for the website.
// compat.eui-neo `app-main` FEATURE: there is no main() in this file on purpose.
// The entry point is upstream's core/app/glfw_app_main.cpp, which the feature
// adds to the library — it owns the window, the GL backend and the render loop,
// and calls back into the two symbols an EUI application must supply:
// app::dslAppConfig() and app::compose(). That is the whole shape being pinned
// here, and it is the shape a real EUI-NEO application uses.
//
// tests/examples/eui-neo-window asserts the OTHER half of the same feature pair:
// the same UI driven by a hand-written main(), with `app-main` NOT enabled.
//
// Two things make this member work under `mcpp test`:
//
// 1. The link IS the primary assertion. `main` has to come from the package;
// if the feature ever stops gating glfw_app_main.cpp in, this member fails
// with `undefined reference to 'main'`. Conversely, if the feature ever
// stopped being opt-in, every OTHER member would fail with
// `multiple definition of 'main'` — mcpp links a dependency's objects
// eagerly, so there is no lazy-archive escape hatch.
//
// 2. Running a window needs a display, so the run is opt-in via
// MCPP_RUN_WINDOW=1, as in tests/examples/imgui-window. Because the entry
// point belongs to the package, the gate cannot live in main() — it lives in
// …
tests/examples/eui-neo-app-main/tests/app_main.cpp · project tests/examples/eui-neo-app-main
Build
- targets
eui-neo (lib)- language
c++23- C standard
c99- import std
- no
- include dirs
*/include, *, mcpp_generated
Features
| feature | declares |
|---|---|
| sdl2 | deps, defines |
| vulkan | sources, deps, defines |
| markdown | deps, defines |
| app-main-sdl2 | sources |
| app-main | sources |
| network | deps, defines |
Sources (24)
*/core/platform/async.cpp*/core/platform/json.cpp*/core/platform/native_bridge.c*/core/platform/network.cpp*/core/platform/performance_stats.cppmcpp_generated/eui_neo_platform_tu.cpp*/core/platform/tray_bridge.c*/core/render/image.cpp*/core/render/image_facade.cpp*/core/render/image_source.cpp*/core/render/primitive.cpp*/core/render/render_backend.cpp*/core/render/shadertoy.cpp*/core/render/shadertoy_json.cpp*/core/render/shadertoy_primitive.cpp*/core/render/stb_image_impl.cpp*/core/render/text.cpp*/core/render/opengl/opengl_backend.cpp*/core/render/opengl/opengl_image.cpp*/core/render/opengl/opengl_primitives.cpp*/core/render/opengl/opengl_shadertoy.cpp*/core/render/opengl/opengl_text.cpp*/core/platform/ime_bridge.c*/core/window/window_backend.cpp
Generated files
mcpp_generated/eui_neo_platform_tu.cppmcpp_generated/mcpp_eui_backends.h