Commit graph

49 commits

Author SHA1 Message Date
4bb4
4401d696b1 Removed im_str and ImString usage 2021-10-03 12:34:38 +02:00
4bb4
6bb1809690 Updated versions and fixed build errors. See comments.
- This commit fixes the regular build and the glium example. The WGPU
  example needs an updated imgui-wgpu to point to the new imgui-sys
  version for things to work.
- The im_str and ImString usage deprecations are not fixed yet.
- There is no version bump for cimplot yet.
2021-10-03 12:34:38 +02:00
Birk Tjelmeland
eba023b5f5 Use c_char instead of i8 for portability 2021-09-03 20:20:24 +02:00
4bb4
06cc3061c1 Added support for linked axes. See comments.
This commit adds support for linked axes between plots. One can specify
such linked limits using the new `linked_x_axis()` function (and the
variants for the Y axes) by specifying an `Rc<RefCell<ImPlotRange>>`
value, and passing clones of the same `Rc` to other plots.

The values within those `Rc` need to be kept persistent between frames,
hence the way to use this functionality is to keep a clone of the `Rc`
outside the frame-drawing function as part of the application state.

The regular limit setting API is unaffected.
2021-05-30 11:56:14 +02:00
4bb4
ad80781f4d Added direct limit setting API for y limits 2021-04-19 12:37:31 +02:00
4bb4
465e81d7f9 Some documentation fixes, added test for ImVec2 -> ImRange conversion 2021-04-19 12:00:25 +02:00
4bb4
3c30e3f919 Fixed conversions 2021-03-14 20:53:07 +01:00
4bb4
40766c3435 Merge remote-tracking branch 'a1ien/improove_api' into improve_api_experiments 2021-03-14 20:41:10 +01:00
Ilya Averyanov
861ee21b2d Remove lazy_static dependencie 2021-03-13 11:19:37 +01:00
Ilya Averyanov
e53dd6a0dd Use same convention for size as in imgui-rs 2021-03-06 02:11:42 +03:00
4bb4
21aa28591c Added stem plots and legend entry hover checking 2021-01-31 12:40:13 +01:00
4bb4
191a6f2fd4 Added more doc aliases 2021-01-13 21:13:40 +01:00
4bb4
092a1908fe Bumped cimplot/implot version, added "axis equal"
- This commit also fixes an issue with legend rotation and orientation
  always being set to values even if the user did not specify any.
  This broke the interactive configuration of where the legend should
  be.
2020-12-12 12:38:50 +01:00
4bb4
af760648b6 Added some simple colorscheme setters
These don't properly expose the implot style yet in a way that is
consistent with imgui-rs' handling of styles. This is to be added
later.
2020-11-29 19:21:12 +01:00
Benedikt Mandelkow
d02f25fb32 apply some automatic clippy hints 2020-11-29 12:49:26 +01:00
4bb4
07ff32ea2a Feature-gated doc aliases on Rust version >= 1.48 2020-11-22 16:22:40 +01:00
4bb4
fcfa091553 Added some doc aliases 2020-11-22 16:00:58 +01:00
4bb4
4cd199071c Added heatmap support. See comments.
The basic functionality seems to work, though setting the drawing area
seems buggy. I'll have to investigate more.
2020-11-15 10:36:51 +01:00
Mitsutoshi Aoe
7e8ea01409 Use slices instead of Vecs in function parameters 2020-11-11 19:23:46 +01:00
4bb4
1643032c7a Added stairs plot support 2020-11-08 19:41:51 +01:00
4bb4
7c477ec551 Added plot <-> pixel coordinate conversions 2020-11-08 15:17:14 +01:00
4bb4
4645414624 Added legend location setting 2020-10-31 12:05:57 +01:00
4bb4
af0996390a Updated to newest available implot 2020-10-31 11:04:13 +01:00
Benedikt Mandelkow
6bdfd76d51 only run bindgen on ImPlot... names
not sure why bindgen switches to i32 everywhere
moved imgui dependency up one step as this seems where its actually used
2020-10-27 08:08:37 +01:00
Benedikt Mandelkow
47bcb48e19 antialias by default 2020-10-19 01:33:00 +02:00
4bb4
0af4203d4f Added better Y axis handling and API coverage 2020-10-18 16:22:37 +02:00
4bb4
44a065c8c7 Changed some strings to be stored as ImString directly 2020-10-13 17:02:10 +02:00
4bb4
232cd6d095 Documentation updates, test fixes. 2020-10-11 17:17:29 +02:00
4bb4
ea960bd30d Linked context into things, adapted examples. 2020-10-11 16:33:26 +02:00
4bb4
5d4d570507 Added mutex-based locking mechanism as in imgui-rs 2020-10-11 16:33:26 +02:00
4bb4
74833663a9 Refactoring code into smaller files 2020-10-11 16:33:26 +02:00
4bb4
d717af71fa Added more notes on the context work 2020-10-11 16:33:26 +02:00
4bb4
f85c50657b Initial work on move to implot 0.7 compatibility. See notes.
- 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.
2020-10-11 16:33:26 +02:00
4bb4
a8f91a65a7 Added colormap support 2020-09-27 20:21:30 +02:00
4bb4
2efc464cb1 Removed unnecessary enum 2020-09-20 21:49:12 +02:00
4bb4
023d9a8f41 More rework on the tick setting internals. 2020-09-20 21:47:48 +02:00
4bb4
8a171e9528 Refactored ticks setting code, still not great. 2020-09-20 21:21:19 +02:00
4bb4
ed02caed56 Got tick label setting to work, but inelegantly 2020-09-20 20:34:19 +02:00
4bb4
03f9fefba7 Added bar plot support 2020-09-13 16:09:21 +02:00
4bb4
ff96a07ef3 Added scatter plot support 2020-09-13 15:06:59 +02:00
4bb4
a257332f59 Added marker, stylevar and querying support 2020-08-30 11:01:28 +02:00
4bb4
a43a58d819 Added plot style colors and some misc utils. See comments.
- 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.
2020-08-23 21:26:27 +02:00
4bb4
90f7dba1a7 Added text plot support 2020-08-23 20:31:28 +02:00
4bb4
84d10092be Added axis and plot flag support 2020-08-23 20:10:24 +02:00
4bb4
42ae2779bb Added a safeguard against empty vector plotting, this would segfault 2020-08-09 13:56:09 +02:00
4bb4
411086483e Added x and y limit setting API 2020-08-09 13:16:48 +02:00
4bb4
a747fa2d91 Added both the build() and the begin()+end() options for Plot
- 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.
2020-08-08 15:40:04 +02:00
4bb4
b832924fad Refactored Plot building, various example updates 2020-08-08 14:42:22 +02:00
4bb4
ee910152b7 Added main crate and some initial code for idiomatic bindings 2020-08-04 22:05:04 +02:00