Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kas-gui/kas
Another GUI toolkit
https://github.com/kas-gui/kas
Last synced: 13 days ago
JSON representation
Another GUI toolkit
- Host: GitHub
- URL: https://github.com/kas-gui/kas
- Owner: kas-gui
- License: apache-2.0
- Created: 2019-10-25T10:58:42.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-12T18:22:06.000Z (8 months ago)
- Last Synced: 2024-04-24T04:15:45.785Z (7 months ago)
- Language: Rust
- Size: 11 MB
- Stars: 863
- Watchers: 19
- Forks: 27
- Open Issues: 35
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
KAS GUI
=======[![Test Status](https://github.com/kas-gui/kas/workflows/Tests/badge.svg?event=push)](https://github.com/kas-gui/kas/actions)
[![Crates.io](https://img.shields.io/crates/v/kas.svg)](https://crates.io/crates/kas)
[![kas-text](https://img.shields.io/badge/GitHub-kas--text-blueviolet)](https://github.com/kas-gui/kas-text/)
[![Docs](https://docs.rs/kas/badge.svg)](https://docs.rs/kas)
![Minimum rustc version](https://img.shields.io/badge/rustc-1.79+-lightgray.svg)KAS is a stateful, pure-Rust GUI toolkit supporting:
- [x] Mostly declarative UI descriptions
- [x] Stateful widgets (e.g. selection range or a pure-UI counter)
- [x] Virtual scrolling (list or matrix), including support for external data sources
- [x] Theme abstraction including theme-driven animations and sizing
- [ ] Multiple renderer backends
- [ ] Integrated i18n support
- [ ] Accessibility tool integration
- [ ] Platform integration: persistent configuration, theme discovery, external menus, IME
- [x] Most of the basics you'd expect: complex text, fractional scaling, automatic margins
- [x] Extremely fast, monolithic binaries### More
- Docs: [Tutorials](https://kas-gui.github.io/tutorials/),
[Wiki: Getting started](https://github.com/kas-gui/kas/wiki/Getting-started)
- Prose: [Blog](https://kas-gui.github.io/blog/),
[Design](https://github.com/kas-gui/design)
- [API docs](https://docs.rs/kas)
- Examples: [`examples` dir](examples), [kas-gui/7guis](https://github.com/kas-gui/7guis/).Crates and features
-------------------[kas] is a meta-package serving as the library's public API, but containing no real code. Other crates in this repo:
- [kas-core](https://docs.rs/kas-core): the core library
- [kas-widgets](https://docs.rs/kas-widgets): the main widget library
- [kas-view](https://docs.rs/kas-view): view widgets supporting virtual scrolling
- [kas-resvg](https://docs.rs/kas-resvg): extra widgets over [resvg](https://crates.io/crates/resvg)
- [kas-dylib](https://crates.io/crates/kas-dylib): helper crate to support dynamic linking
- kas-macros: proc-macro crateSignificant external dependencies:
- [kas-text](https://crates.io/crates/kas-text): complex text support
- [impl-tools](https://crates.io/crates/impl-tools): `autoimpl` and `impl_scope` (extensible) macros
- [winit](https://github.com/rust-windowing/winit): platform window integration
- [wgpu](https://github.com/gfx-rs/wgpu): modern accelerated graphics API### Feature flags
The `kas` crate enables most important features by default, excepting those
requiring nightly `rustc`. Other crates enable fewer features by default.
See [Cargo.toml](https://github.com/kas-gui/kas/blob/master/Cargo.toml#L22).[kas]: https://docs.rs/kas
Copyright and Licence
---------------------The [COPYRIGHT](COPYRIGHT) file includes a list of contributors who claim
copyright on this project. This list may be incomplete; new contributors may
optionally add themselves to this list.The KAS library is published under the terms of the Apache License, Version 2.0.
You may obtain a copy of this licence from the [LICENSE](LICENSE) file or on
the following webpage: