aura-demo
Eine eigenständige, interaktive Galerie des AURA-Frameworks. Benötigt keine externe Anwendung, keinen Server im Internet und keine angeschlossenen Geräte.
cmake --preset dev
cmake --build build/dev --target aura-demo
build/dev/examples/demo/aura-demo
aura-demo --page media
aura-demo --language en # gesamte Galerie auf Englisch
aura-demo --dynamic # gleiche Seiten aus .aura statt generiertem C++
aura-demo --render-all /tmp/aura-demo # acht PNGs, ohne Fenster oder GPU
aura-demo --page motion --animate --wait 500 --render /tmp/motion.png
aura-demo --remote 8808 # nur 127.0.0.1, /remote/screenshot.png usw.
Die Seitennamen zeigt --list. Mit AURA_EXAMPLES=OFF wird das Beispiel nicht gebaut. aura-net, aura-script und WebView werden entsprechend den bestehenden Buildoptionen eingebunden. Fehlende Module werden auf der Netzwerkseite angezeigt; die zugehörigen Tasten sind deaktiviert. WebView braucht AURA_WITH_WEBVIEW=ON und CEF. Standardmäßig wird kein Fernsteuerungsserver gestartet. Der HTTP-Test auf der Netzwerkseite verwendet einen eigenen lokalen Server mit freiem Port.
| Seite | Beispiele |
|---|---|
| Widgets | Button, deaktivierter Zustand, CheckBox, Switch, RadioButton, ComboBox, Slider, ProgressBar, direkte Element-Bindungen |
| Texteingabe | TextField, UTF-8, Fokus, maskierte Eingabe, Zeichenfilter, Maximallänge, Enter, drei echte Keyboard-Layouts |
| Grafik & Text | Rect, Gradient, Rahmen, individuelle Ecken, Skalierung/Rotation/Transparenz, Textumbruch, fit, Schriftgewicht, Unterstreichung, Zeichenabstand, RichText, Html, vier Image-Füllmodi, Svg, QrCode, Context-Übersetzung |
| Layouts & Daten | Item, Column, Row, Grid, grow/stretch, Anker, RTL, Umbruch, horizontales/vertikales Scrollen, Records, repeat, if, LazyRepeat mit 2.000 Einträgen |
| Animationen | state/when, Bindungen, animate, enter/exit, loop, spin, pressSink, glow, Ripple, Popover |
| Medien | VP9/WebM über VideoPlayer/VideoNode, echte Rive-Animation, Rasterbild/SVG, EAN-13 und QR |
| Laufzeit & Geräte | TaskRunner/latest/Abbruch, Timer/Pause, Property/Subscription, JSON/YAML/XML, TAR-Roundtrip, Kindprozess mit Timeout, Datum/Zeit, Systemdaten, UeventMonitor, SCSI-MediumWatcher und usbmuxd-Beobachtung |
| Netz & Skripte | HttpClient, Server/WebApp, HTTPS mit temporärer eigener CA (mit/ohne Vertrauen), Session-Zugriff, SHA-256, AES-GCM und Manipulationsprüfung, JS/Lua mit gemeinsamer nativer Funktion und Zeitlimit, optional WebView/WebChannel; Remote-Controller über --remote |
Die Sprachfunktionen Komponenten, Signale, Zustands-Properties und Theme/Context werden durchgängig verwendet. Der Szenenbaum und die Eingaben sind über die Fernsteuerung inspizierbar (nodes.json, actions.json, keypress.json, click.json, screen.mjpg). Headless-Tests bedienen echte Widgets und prüfen asynchrone Antworten in kompiliertem und dynamischem Modus. Hardwarebeobachtung startet erst über die Taste; es werden keine Medien gemountet, ausgeworfen oder beschrieben. Ohne Geräte bleiben die übrigen Beispiele nutzbar. Das Beispiel zeigt die Modulgruppen, nicht jede Überladung jeder C++-Hilfsfunktion.
Quellen
- Darstellung:
ui/*.aura, wiederverwendbare Bausteine incommon.aura. - Anwendung und Navigation:
demo.cpp,demo_context.h,main.cpp. - Reaktionen/API-Beispiele:
controls.cpp,showcase.cpp,runtime.cpp,network.cpp. - Lokale Assets:
assets/; Herkunft und Lizenzen inassets/NOTICE. Die DejaVu-Testschrift stammt aus../../tests/fontsmit dortiger Lizenz. - Tests:
smoke.cpp, CTestaura_demo_compiledundaura_demo_dynamic.
Die Sprachumschaltung übersetzt Navigation, Seiten und Statusmeldungen über assets/en.json. Sie baut die aktuelle Beispielseite neu auf und setzt deren Demonstrationszustand zurück. Worker erhalten einen unveränderlichen Übersetzungs-Snapshot.
examples/demo/README.md · Markdown herunterladen