mcpp index

compat.eui-neo

#include

EUI-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

featuredeclares
sdl2deps, defines
vulkansources, deps, defines
markdowndeps, defines
app-main-sdl2sources
app-mainsources
networkdeps, defines

Sources (24)

  • */core/platform/async.cpp
  • */core/platform/json.cpp
  • */core/platform/native_bridge.c
  • */core/platform/network.cpp
  • */core/platform/performance_stats.cpp
  • mcpp_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.cpp
  • mcpp_generated/mcpp_eui_backends.h

Versions

VersionPlatforms Mirrorssha256
0.5.5 latest LinuxWindowsmacOS source cf0da91d7544…
0.5.3 LinuxWindowsmacOS CN GLOBAL 6951ac330d03…