- This updates the bindings generator, the low-level bindings as
well as the higher-level bindings and the examples to work
with a newer master of cimplot that links to implot 0.7.
- Several things are not done properly yet:
- Contexts can be created and as long as they are not dropped
things work out (shown in the examples). However, this should
be done more imgui-rs like, where operations that require a context
make that explicit by requiring a context reference to be passed.
- The README has not been updated yet to all the new features that
were added.
- Also exposed the sys crate's ImPlotRange, ImPlotLimits and ImPlotPoint
to the user as well as changing the limit-setting interface to using
those. I'm not super sure about doing this yet though, because it is
more verbose for no real reason to the user and for the purposes of
the abstraction it may be better to add facade types anyway.
- There is no protection against calling things like `is_hovered` from
outside a plot. Will need to think about how to make this impossible
by design - we could for example pass an object to Plot's closure
that has these methods, and that object is not created anywhere
else.
- Copied the trick from imgui-rs to notice if a begin() is left
unmatched
- Changed plot_line to be a struct, but might go away from that
again. Initial idea was to add things like setting markers and
colors to this as struct methods, but it seems this will lead
to lots of code overhead compared to the pushing and popping
stylevars approach taken in the C++ implementation.
- This now builds the bindings (still with cbindgen in build.rs,
will change that in a bit) and links to them successfully. Everything
currently points to the master branch at Gekkio/imgui-rs, because
there has not been a release yet with the PR merged that exposes
the defines in the sys crate.
- I have now included a little demo crate that calls into the unsafe
generated bindings as a proof of concept. Next there will need to
be safe and more Rust-y bindings written around this, just like
imgui-rs has them.