kas

Crates.iokas
lib.rskas
version0.14.2
sourcesrc
created_at2019-01-12 13:11:26.721228
updated_at2023-12-12 13:46:25.137503
descriptionA pure-Rust GUI toolkit with stateful widgets
homepage
repositoryhttps://github.com/kas-gui/kas
max_upload_size
id108155
size209,230
Diggory Hardy (dhardy)

documentation

https://docs.rs/kas/

README

KAS GUI

Test Status Crates.io kas-text Docs Minimum rustc version

KAS is a stateful, pure-Rust GUI toolkit supporting:

  • Mostly declarative UI descriptions despite stateful widgets
  • Custom widgets using state for caches and input state (e.g. selection range)
  • Virtual scrolling (list or matrix), including support for external data sources
  • 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
  • Most of the basics you'd expect: complex text, fractional scaling, automatic margins
  • Extremely fast, monolithic binaries

More

Crates and features

kas is a meta-package serving as the library's public API, yet containing no real code. Other crates in this repo:

Significant external dependencies:

  • kas-text: complex text support
  • impl-tools: autoimpl and impl_scope (extensible) macros
  • winit: platform window integration
  • 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.

Copyright and Licence

The 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 file or on the following webpage: https://www.apache.org/licenses/LICENSE-2.0

Commit count: 3919

cargo fmt