This is a work-in-progress, easily portable, small, 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 | ⏳ | ☑ | | | x11 | coming soon | | | | | gdi | | | | | | fbdev | | | | | | drmkms | | | | |
.
├── Cargo.toml
├── assets
│ ├── ferris.png
│ └── default.xml
└── src
└── app.rs
You can get it here
xml
<x rem="1" style="default">
<inflate />
<y fixed="400" gap="10">
<inflate />
<png src="ferris.png" />
<x fixed="40" gap="10">
<inflate />
<p txt="Rust rocks!" />
<inflate />
</x>
<inflate />
</y>
<inflate />
</x>
```rust use platform::app; use acrylic::app::Application; use acrylic::xml::ViewLoader;
app!("assets/", { let loader = ViewLoader::new("default.xml"); Application::new((), loader) }); ```
```toml [package] name = "my-app" version = "0.1.0" edition = "2021"
[lib] crate-type = [ "cdylib" ] path = "src/app.rs"
[dependencies] acrylic = "0.2.0"
platform = { package = "acrylic-web", version = "0.2.0" } ```
bash
cargo build --target wasm32-unknown-unknown
httpserv
is tiny and good enough for this demo.
bash
cargo install httpserv
```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.