window

Crates.iowindow
lib.rswindow
version0.5.0
sourcesrc
created_at2019-07-07 17:25:58.259626
updated_at2021-01-05 07:20:51.738749
descriptionMinimal Rust code for creating a window, automatically choosing a backend window manager and graphics API.
homepagehttps://github.com/libcala/window/blob/main/CHANGELOG.md
repositoryhttps://github.com/libcala/window
max_upload_size
id147351
size201,170
Jeryn Aldaron Lau (AldaronLau)

documentation

https://docs.rs/window

README

Window Logo

Changelog | Source | Getting Started

tests docs crates.io

Minimal Rust code for creating a window, automatically choosing a backend window manager and graphics API.

Other Rust window creation libraries require you to build for a specific backend, so I made this crate to fix the issue. You can now make a program that runs Wayland on a machine that has Wayland installed, and will fall back to XCB if it's not installed. And, will run OpenGLES (eventually try Vulkan first, too) if it's installed, and fall back to OpenGL if it's not installed.

Since this crate is minimal, it doesn't even handle window decoration. If you want window decoration and GUI widgets, check out cala which depends on this crate.

Check out the documentation for examples.

Features

  • Linux Wayland Support
  • Linux OpenGLES Support

Planned Features

  • XCB
  • Windows WinAPI
  • Android
  • MacOS Cocoa
  • Redox
  • Nintendo Switch
  • XBOX
  • PlayStation
  • Wasm
  • OpenGL
  • WebGL
  • Vulkan

Supported Platforms

Human targets all platforms that can run Rust, including:

  • Linux
  • Web Assembly doesn't work yet
  • Windows doesn't work yet
  • Mac OS doesn't work yet
  • BSD doesn't work yet
  • Android (may partially or fully work, but untested) doesn't work yet
  • iOS / various game consoles doesn't work yet
  • Redox doesn't work yet
  • Fuchsia doesn't work yet
  • Others? (make a PR)

License

Licensed under any of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as described above, without any additional terms or conditions.

Help

If you want help using or contributing to this library, feel free to send me an email at aldaronlau@gmail.com.

Commit count: 101

cargo fmt