mirror of
https://github.com/danbulant/cushy
synced 2026-06-21 15:42:07 +00:00
This reduces the complexity of operations capable with Dynamic, and also makes it easier to shortcut deadlocking operations.
50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown

|
|
[](https://crates.io/crates/gooey)
|
|
[]($docs$)
|
|
|
|
Gooey is an experimental Graphical User Interface (GUI) crate for the Rust
|
|
programming language. It is powered by:
|
|
|
|
- [`Kludgine`][kludgine], a 2d graphics library powered by:
|
|
- [`winit`][winit] for windowing/input
|
|
- [`wgpu`][wgpu] for graphics
|
|
- [`cosmic_text`][cosmic_text]
|
|
- [`palette`][palette]
|
|
- [`arboard`][arboard]
|
|
|
|
## Getting Started with Gooey
|
|
|
|
The [`Widget`][widget] trait is the building block of Gooey: Every user
|
|
interface element implements `Widget`. A full list of built-in widgets can be
|
|
found in the [`gooey::widgets`][widgets] module.
|
|
|
|
Gooey uses a reactive data model. To see [an example][button-example] of how
|
|
reactive data models work, consider this example that displays a button that
|
|
increments its own label:
|
|
|
|
```rust,ignore
|
|
$../examples/basic-button.rs:readme$
|
|
```
|
|
|
|
A great way to learn more about Gooey is to explore the [examples
|
|
directory][examples]. Nearly every feature in Gooey was initially tested by
|
|
creating an example.
|
|
|
|
## Project Status
|
|
|
|
This project is early in development, but is quickly becoming a decent
|
|
framework. It is considered experimental and unspported at this time, and the
|
|
primary focus for [@ecton][ecton] is to use this for his own projects. Feature
|
|
requests and bug fixes will be prioritized based on @ecton's own needs.
|
|
|
|
[widget]: $widget$
|
|
[kludgine]: https://github.com/khonsulabs/kludgine
|
|
[wgpu]: https://github.com/gfx-rs/wgpu
|
|
[winit]: https://github.com/rust-windowing/winit
|
|
[widgets]: $widgets$
|
|
[button-example]: https://github.com/khonsulabs/gooey/tree/$ref-name$/examples/basic-button.rs
|
|
[examples]: https://github.com/khonsulabs/gooey/tree/$ref-name$/examples/
|
|
[cosmic_text]: https://github.com/pop-os/cosmic-text
|
|
[palette]: https://github.com/Ogeon/palette
|
|
[arboard]: https://github.com/1Password/arboard
|
|
[ecton]: https://github.com/khonsulabs/ecton
|