The next frame's time stamp needs to be computed based on the last
frame's, not based on the current time, unless the last frame took too
long to process.
This would solve the most important use case for #116. Only the Linux
version has been tested, but the Windows should work perfectly fine, and
I don't know anything about macOS programming but that version also
compiles so it should be fine.
The things remaining are all of the cursor things in the X11
implementation (there's _a lot_ of it, so there's probably a reason why
it's all still there but unused), and the super unsound immutable
reference to mutable reference cast in the macOS implementation that
Clippy automatically errors out on.
The main change is that all of these types are simplified, there are
more different OS-specific window handle types, and they are no longer
gated behind the respective targets which makes the library a bit easier
to use for applications.
* add ability to close window from user code, add HostWindowHandle
* fix manual close method for Mac, rename HostWindowHandle to ChildWindowHandle
* fix rustfmt.toml and run cargo format
* fix merge conflict mistake
* fix more merge conflict mistakes
* implement requested changes (with a non-broken commit this time)
* implement requested changes
* slight reordering of impls
* Add mutable event status argument to WindowHandler::on_event
* macOS: simplify method declaration for simple mouse event handlers
* macOS: add macro for adding simple keyboard class methods
* macOS: reorder code in mouse_moved
* Take EventStatus as return value in WindowHandler::on_event
* Add doc comments for EventStatus
* Improve EventStatus documentation
* x11: ignore return value of on_event for now
* EventStatus: improve docs
* Improve EventsStatus docs
* Improve EventStatus docs further
* macOS: ignore EventStatus::Ignored for mouse events
* macOS: minor formatting improvement
* improve EventStatus docs again