1
0
Fork 0
mirror of https://github.com/gwm17/implot.git synced 2024-11-26 20:28:50 -05:00
Commit Graph

95 Commits

Author SHA1 Message Date
Evan Pezent 6978a3e177
Update README.md 2022-09-17 15:25:29 -05:00
Mengna Li 8c06ff0252
Add vcpkg installation instructions (#401)
* Add vcpkg installation instructions

* update
2022-09-15 07:00:13 -05:00
Pascal Thomet 98c76edbb4
Remove support for IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES (#402) 2022-09-14 09:41:10 -05:00
Pascal Thomet f719a180ff
Support custom numeric types (#399)
* implot_items.cpp: support types customization

You can customize the supported types in two ways:
  1. Define IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES at compile time to add support for all known types.
  2. Or, define IMPLOT_CUSTOM_NUMERIC_TYPES at compile time to define your own type list. As an example, you could use the compile time define given by the line below in order to support only float and double.
        -DIMPLOT_CUSTOM_NUMERIC_TYPES="(float)(double)"

Details:

- `CALL_INSTANTIATE_FOR_NUMERIC_TYPES` will duplicate the template instantion code `INSTANTIATE_MACRO(T)` on supported types. It uses a trick to be able to loop on the type list `IMPLOT_NUMERIC_TYPES`

- `INSTANTIATE_MACRO` needs to be defined, then undefined before and after each template instantiation

* CI: link example app, with null backend

Github's CI will now compile ImGui, compile ImPlot, link and run an example application (with no backend).
It serves as a proof that an app can be built, linked, and run, with type customization.

- .github/example_implot.cpp is an example app built with Dear ImGui and ImPlot
  This app uses implot and imgui, but does not output to any backend!
  If `IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES` is active, it will test that `long double` is supported.

- Corrected arch matrix options:
     32 bits or 64 bits for win and linux
     x86_64 or arm64 for mac (32 bits is deprecated on macs, and will not link with recent XCode)

- Added `IMPLOT_NUMERIC_SETIMPLOT_NUMERIC_SET` as a switch to CMakeList
  This switch is currently not used in CI, but can be used during development.
  It could be later be used in the matrix options, at the cost of increasing the number of build
   per workflow.

Note: support for MingW 32 bits was commented out. MingW on Github CI does not fully support 32 bits: link fails when it tries to link 64 bits system libraries. As a result, the windows matrix was spearated into Windows_MSVC and Windows_MingW
2022-09-13 20:39:29 -05:00
Pascal Thomet 49db527db1
Support long & long double, add macro INSTANTIATE_FOR_NUMERIC_TYPES (Fix #319) (#397)
* implot_items: INSTANTIATE_FOR_NUMERIC_TYPES / add long & long double (Fix #319)

- INSTANTIATE_FOR_NUMERIC_TYPES is a macro which instantiates templated plotting functions for numeric types.
This macro helps reduce some boilerplate code for template functions instantiations.

- Added optional support for more numeric types (long and long double)
The numeric type list does not include "long", "unsigned long" and "long double".
Most of the time, it is not an issue when linking statically.
However, when linking dynamically, issues related to undefined functions can arise:
although those types might have the same size, they are considered separate.

define IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES) in order to define versions for those types

In this case, the compilation time for this specific file will be 33% longer

- implot_internal.h / ImMean and ImStdDev: added cast  to double
(suppress MSVC warning about downcasting)

- Notes about numeric types "synonyms":
  Even if "long double" and "double" might occupy the same size,
they are not complete synonyms, and it is legal to define overloads for both double and long double.
  On some platforms, "unsigned long" might be the same size as "unsigned long long",
but it is nonetheless a separate type: see https://godbolt.org/z/1KWv5re7q (example with GCC 64 bits)
  On some other platforms, "long double" might be the same size as "double", but it is nonetheless a separate type: see https://godbolt.org/z/ae71P7rqG (example with MSVC 64 bits)

* IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES: disabled by default

* uppercase template instantiatation macros & group them

* implot_items.cpp: reword comments on IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES

* README.md: mention compile-time option IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES

* Github CI: IMPLOT_INSTANTIATE_ALL_NUMERIC_TYPES=1
2022-09-11 09:43:27 -05:00
Evan Pezent dbb461db24 update README 2022-06-18 23:16:01 -05:00
rjasiak54 b9c0a39b08
in README.md 'Demos' section, changed 'imgui_demo.h' to imgui_demo.cpp' (#369) 2022-06-17 09:06:38 -05:00
Evan Pezent 9b4ba149ec
Update README.md 2022-01-30 10:47:33 -08:00
Evan Pezent 6ee1559715
Setup API (#294)
* add new padding algo

* opposite working for y and x

* remove name axis colors

* move title label rendering

* axis dev

* clean up

* pre formatter

* formatter

* changing over to multi x axes

* more multi x changes

* more multi x changes

* more multi x changes

* setup 75% there

* 85% there

* 85% there

* remove query

* update input handling

* input and dnd tweaking

* input testing

* update demo

* setup debug

* setup debug

* bug fixes

* bug fixes

* more debug

* input

* more setup

* setup api almost complete

* setup api almost complete

* more clean up

* cleanup

* final commit before merge
2021-10-19 20:01:06 -07:00
Evan Pezent 8c1bbf4d8d
Subplots (#203)
* SubPlots: Y axis padding over multiple plots

* Align Plots Group

new signature ID, ImPool  to store padding data, demo

* Align plots orientation (vertically, horizontally)

vertical will align Y axis, horizontal will align X axis.
*signature changed

* ImPlotOrientation used as flag for 2D grids of aligned plots

https://github.com/epezent/implot/pull/144#issuecomment-725849368

* AlignPlots updates to merge with v.0.9

* Sync to v0.9 20210127

* subplots proto

* make link flags work

* stuff

* add multi-line centered titles

* subplots work

* flag ideas

* better subplot positioning

* resizable subplots

* subplot shared items

* subplot ratios

* some cleanup and refactor

* some cleanup and refactor

* refactors and demo reorganization

* context menus...almost done!

* context menus, bug fixes

* active id

* make implot use ButtonBehavior throughout

* bug fixes

* more bug fixes

* tweaks

* fix id issue

* finish work on subplots

Co-authored-by: ozlb <ozlb@users.noreply.github.com>
2021-07-07 21:06:15 -07:00
Perry MacMurray 65aa2c8264
Update README.md with link to Java bindings (#257) 2021-06-22 21:37:58 -07:00
Evan Pezent e966e0d2bc add warning to demo about 16-bit indices 2021-06-06 16:03:41 -07:00
Evan Pezent dd78125bfb
Update README.md 2021-06-02 08:06:31 -07:00
Evan Pezent 707a0bee36
Update README.md 2021-03-27 00:27:57 -07:00
Evan Pezent 95a530f05c
Update README.md 2021-03-19 23:17:34 -06:00
Evan Pezent eff70aeee0
Update README.md 2021-03-19 23:14:17 -06:00
Evan Pezent c73509d6d1
make context menus open on single right click, move ImPlotInputMap out of public API (see implot_internal.h) (#170) 2021-01-18 21:49:23 -06:00
Evan Pezent 798e2e7585
Update README.md 2021-01-15 02:17:00 -06:00
Evan Pezent a6bab98517
Update README.md 2021-01-06 09:52:59 -06:00
Evan Pezent a9d3347915
Update README.md 2020-12-09 19:44:08 -06:00
epezent 9974ce1a30 update readme 2020-12-04 00:25:45 -06:00
Evan Pezent 95eb2ea78d
Update README.md 2020-11-16 17:26:32 -06:00
Evan Pezent af7d99cbca
Update README.md 2020-11-16 09:58:16 -06:00
Evan Pezent f506f94c08
Update README.md 2020-10-23 16:27:45 -05:00
Evan Pezent 638ae7d5f7
Update README.md 2020-10-20 16:57:11 -05:00
Evan Pezent 927c9c82a5
Update README.md 2020-09-17 20:42:28 -05:00
Evan Pezent 9f1b0f195c
Update README.md 2020-09-09 00:04:28 -05:00
Evan Pezent 041d88a520
Update README.md 2020-09-06 20:40:20 -05:00
Evan Pezent 06629f5675
Update README.md 2020-09-06 20:32:27 -05:00
Evan Pezent c87c34d7c3
Update README.md 2020-09-06 19:43:55 -05:00
Evan Pezent a09cca5329
Update README.md 2020-09-06 19:43:38 -05:00
Evan Pezent 508502a38f
Update README.md 2020-09-06 19:43:18 -05:00
epezent 60b080941a readme screens 2020-09-06 19:42:08 -05:00
Evan Pezent 899f19ab08
Update README.md 2020-09-06 19:18:39 -05:00
Evan Pezent 94b22ee584
Update README.md 2020-09-06 19:17:39 -05:00
epezent 5f1818ac05 readme typos 2020-09-06 17:29:28 -05:00
Evan Pezent 99ed32233e
Update README.md 2020-09-06 17:24:16 -05:00
Evan Pezent efc72d9c34
Update README.md 2020-09-06 16:23:40 -05:00
Evan Pezent 90693cca1b
Update README.md 2020-09-02 16:44:45 -05:00
Evan Pezent 0877aca4f9
Update README.md 2020-09-02 11:01:25 -05:00
Evan Pezent 624fedabe4
Update README.md 2020-09-01 21:03:48 -05:00
Evan Pezent a8e7194f2b
Update README.md 2020-08-21 08:00:01 -05:00
Evan Pezent 2df34aea12
Update README.md 2020-08-17 20:52:49 -05:00
Evan Pezent 73eb27456a
Update README.md 2020-08-16 15:43:41 -05:00
epezent d9ae47bf2b finish refactoring implot for v0.5 2020-08-16 15:38:51 -05:00
Evan Pezent b1e2e501d0
Update README.md 2020-07-25 08:11:43 -05:00
Evan Pezent 6bc7e04fe1
Update README.md 2020-06-23 21:14:36 -05:00
Evan Pezent bf29e02320
Update README.md 2020-06-15 21:18:07 -05:00
Evan Pezent fcbbc6c735
Update README.md 2020-06-14 08:49:56 -05:00
Evan Pezent 77753f6ce0
Update README.md 2020-06-08 21:00:04 -05:00