win-win 0.1.1

A semi-opinionated way to create windows on Windows.
Documentation
  • Coverage
  • 66.67%
    8 out of 12 items documented0 out of 0 items with examples
  • Size
  • Source code size: 41.4 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 436.4 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 11s Average build duration of successful builds.
  • all releases: 11s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • raphlinus/win-win
    18 3 4
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • raphlinus

win-win

A semi-opinionated way to create windows on Windows.

The heart of the crate is a WindowProc trait that is a Rust-native wrapping of the "wndproc" pattern in Windows programming.

One goal of the crate is to make it easier to reason about soundness, by providing the correct types for this trait, and documenting the soundness concerns. However, it does not try to wrap everything in a safe wrapper.

Another goal is to provide reasonably good documentation, including detailed links to official documentation and other resources. Many of these lessons have been hard-learned, as part of the Windows backend for druid, and other experiments.

The crate is "semi-opinionated" in that it nails down some details, especially the way threads work, but how you draw and the way you handle events is entirely up to you. It is a goal that anybody who creates a HWND from Rust should use this crate. If there's some reason it doesn't work for your use case, I'm curious why, so please file an issue.