https://github.com/rtbo/ows-rs
Open windowing system for Rust
https://github.com/rtbo/ows-rs
Last synced: about 1 year ago
JSON representation
Open windowing system for Rust
- Host: GitHub
- URL: https://github.com/rtbo/ows-rs
- Owner: rtbo
- Created: 2016-04-20T20:04:35.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2019-01-26T12:57:37.000Z (over 7 years ago)
- Last Synced: 2025-01-30T19:26:55.321Z (over 1 year ago)
- Language: Rust
- Size: 149 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# OWS-rs
**_Open windowing system for Rust_**
This is more or less a research project to see what an IU toolkit _could_ look like with Rust.
Particularily how to make the lifetime system work with a traditional IU toolkit.
Eventually, if other people join the project, it will become an actual IU toolkit.
## Some general design specifications
- Application developer should not get bothered with `RefCell` interface
- If such interface is needed to share some state, it should be well hidden behind regular types
## Some top-level windows design specifications
- Platform abstraction with erased types
- Support for multiple non modal windows in th main event loop
- Event handlers with closures (observer pattern)
- Some closures can return value (in such case no more than one closure is connected)
- Possibility to create modal windows with an event handler (also non modal? TBD)
- access and modify ui elements within handlers
- provide an easy way to carry application state in windows
## Some widgets system design specifications
- lazy resources loading
- use of vector graphics primitives
- provide an easy way to carry application state in widgets
- ... TBD
## Some graphics system design specifications
- vector graphics
- hardware accelerated
- rendering in a dedicated thread
- usage of command buffers / drawing queues (no direct rendering from handlers)