Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kettle11/kapp
A pure Rust window and input library for Windows, Mac, and Web. (Work in progress)
https://github.com/kettle11/kapp
game input rust windowing
Last synced: about 1 month ago
JSON representation
A pure Rust window and input library for Windows, Mac, and Web. (Work in progress)
- Host: GitHub
- URL: https://github.com/kettle11/kapp
- Owner: kettle11
- License: apache-2.0
- Created: 2020-02-06T07:16:45.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2022-03-06T16:09:17.000Z (almost 3 years ago)
- Last Synced: 2023-08-05T08:11:37.008Z (over 1 year ago)
- Topics: game, input, rust, windowing
- Language: Rust
- Homepage:
- Size: 569 KB
- Stars: 57
- Watchers: 4
- Forks: 4
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE.md
Awesome Lists containing this project
README
# This repository is no longer maintaned. kApp is now developed within the `koi` repository: https://github.com/kettle11/koi
# kApp
kApp is a pure Rust window and input library for macOS, Web, and Windows.
kApp strives to be unsurprising, quick to build, and straightforward to maintain.
A clean build of kApp on macOS takes about 3.5 seconds.
**kApp is a work in progress.**
kApp is being improved slowly and steadily as issues come up. It is usable as is, but some functionality is missing and everything is subject to change. If you try it out and run into a problem open an issue and please consider contributing!
Currently, to keep the scope manageable, kapp only aims to support the latest of MacOS, Windows, and web browsers. kApp's first priority is consistency and quality for the current platforms, but other platforms may be considered in the future.
Linux support is an eventual goal and an area where contributions and collaboration would be very welcome.
## Example
```rust
use kapp::*;fn main() {
let (app, event_loop) = initialize();
let _window = app.new_window().build().unwrap();event_loop.run(move |event| match event {
Event::WindowCloseRequested { .. } => app.quit(),
Event::Draw { .. } => {
// Render something here.
}
_ => {}
});
}
```## Features
* Create windows
* Mouse input
* Keyboard input
* Event timestamps## License
`kapp` is licensed under *MIT* or *Apache 2.0* or *Zlib*.## Similar Projects
The following projects were valuable resources that inspired kApp.
[Winit](https://github.com/rust-windowing/winit)
[Makepad](https://github.com/makepad/makepad)
[Glutin](https://github.com/rust-windowing/glutin)
[SDL2](https://www.libsdl.org/download-2.0.php)
[Sokol](https://github.com/floooh/sokol)
[GLFW](https://www.glfw.org/)