This is a work-in-progress, easily portable, small, single-thread, web-inspired user interface toolkit.
no_std
no_std
supportmore coming soon!
| platform | Link | Rendering | Asset Loading | Event Handling | |---|---|---|---|---| | web | acrylic-web | ☑ | ☑ | ☑ | | wayland | acrylic-wayland | Glitchy | ☑ | | | x11 | | | | | | gdi | | | | | | fbdev | | | | | | drmkms | | | | |
.
├── Cargo.toml
├── assets
│ ├── ferris.png
│ └── default.xml
└── src
└── app.rs
You can get it here.
Place it in assets/
.
xml
<x rem="1" style="default">
<inflate />
<y fixed="400" gap="10">
<inflate />
<png src="rustacean-flat-happy.png" />
<x fixed="40" gap="10">
<inflate />
<p txt="Rust rocks!" />
<inflate />
</x>
<inflate />
</y>
<inflate />
</x>
```rust use std::rc::Rc; use platform::app;
fn layout_selector() -> Rc
app!("./assets/", layout_selector, "default.json"); ```
```toml [package] name = "my-app" version = "0.1.0" edition = "2021"
[lib] crate-type = [ "cdylib" ] path = "src/app.rs"
[dependencies] acrylic = "0.3.1"
platform = { package = "acrylic-web", version = "0.3.1" } ```
bash
cargo build --release --target wasm32-unknown-unknown
httpserv
is tiny and good enough for this demo.
bash
cargo install httpserv
You can get it here. Place it at the root of your project, next to the cargo manifest.
From the root of your project:
```bash
httpserv
httpserv > /dev/null & ```
Then open http://localhost:8080/#release
You can contact me via email
or on Discord: bitsneak#1889
.
You can use these for any question regarding this project.
We gladly accept all contributions via Github PRs.
If you contribute rust code, please put all dependencies behind features; adding tens of dependencies to this crate or another one of this project might be a reason for not merging your PR.