aura-demo
A standalone, interactive gallery of the AURA framework. It requires no separate application, Internet server or connected devices.
cmake --preset dev
cmake --build build/dev --target aura-demo
build/dev/examples/demo/aura-demo
aura-demo --page media
aura-demo --language en # the entire gallery in English
aura-demo --dynamic # same pages from .aura instead of generated C++
aura-demo --render-all /tmp/aura-demo # eight PNGs, without a window or GPU
aura-demo --page motion --animate --wait 500 --render /tmp/motion.png
aura-demo --remote 8808 # 127.0.0.1 only, /remote/screenshot.png etc.
--list displays page names. With AURA_EXAMPLES=OFF, the example is not built. aura-net, aura-script, and WebView are included according to the existing build options. Missing modules are indicated on the network page; the corresponding buttons are disabled. WebView requires AURA_WITH_WEBVIEW=ON and CEF. No remote-control server starts by default. The network page's HTTP test uses its own local server on an available port.
| Page | Examples |
|---|---|
| Widgets | Button, disabled state, CheckBox, Switch, RadioButton, ComboBox, Slider, ProgressBar, direct element bindings |
| Text input | TextField, UTF-8, focus, masked input, character filter, maximum length, Enter, three real Keyboard layouts |
| Graphics & text | Rect, Gradient, border, individual corners, scaling/rotation/opacity, text wrapping, fit, font weight, underline, character spacing, RichText, Html, four Image fill modes, Svg, QrCode, Context translation |
| Layouts & data | Item, Column, Row, Grid, grow/stretch, anchors, RTL, wrapping, horizontal/vertical scrolling, records, repeat, if, LazyRepeat with 2,000 entries |
| Animations | state/when, bindings, animate, enter/exit, loop, spin, pressSink, glow, Ripple, Popover |
| Media | VP9/WebM through VideoPlayer/VideoNode, real Rive animation, raster image/SVG, EAN-13, and QR |
| Runtime & devices | TaskRunner/latest/cancellation, timer/pause, Property/Subscription, JSON/YAML/XML, TAR round trip, child process with timeout, date/time, system data, UeventMonitor, SCSI MediumWatcher, and usbmuxd monitoring |
| Network & scripts | HttpClient, Server/WebApp, HTTPS with a temporary local CA (with/without trust), session access, SHA-256, AES-GCM and tamper detection, JS/Lua sharing a native function and time limit, optional WebView/WebChannel; remote controller through --remote |
Components, signals, state properties, and Theme/Context language features are used throughout. The scene tree and input are inspectable through remote control (nodes.json, actions.json, keypress.json, click.json, screen.mjpg). Headless tests operate real widgets and check asynchronous responses in compiled and dynamic modes. Hardware monitoring only starts when its button is pressed; no media are mounted, ejected, or written. The other examples remain usable without devices. The example showcases the module groups, rather than every overload of every C++ helper.
Sources
- Presentation:
ui/*.aura, with reusable components incommon.aura. - Application and navigation:
demo.cpp,demo_context.h,main.cpp. - Responses/API examples:
controls.cpp,showcase.cpp,runtime.cpp,network.cpp. - Local assets:
assets/; provenance and licenses inassets/NOTICE. The DejaVu test font comes from../../tests/fonts, with its license there. - Tests:
smoke.cpp, CTestaura_demo_compiledandaura_demo_dynamic.
Language switching translates navigation, pages, and status messages through assets/en.json. It rebuilds the current example page and resets its demonstration state. Workers receive an immutable translation snapshot.
examples/demo/README.md · Download Markdown