1
0
Fork 0
mirror of https://github.com/gwm17/implot.git synced 2024-11-29 21:48:53 -05:00
Commit Graph

561 Commits

Author SHA1 Message Date
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
Rokas Kupstys fd16fe001c
CI setup (#395)
* Fix truncation warnings.

* CI: GitHub Actions CI setup.
2022-09-06 18:28:32 -05:00
Rokas Kupstys 002ffc95bc
Fix truncation warnings. (#392) 2022-09-06 18:17:09 -05:00
ozlb e80e42e8b4
ImPlotTimeFmt_MinSMs (#383) 2022-07-29 07:57:51 -05:00
ozlb 220f5c9ab4
Annotation Label y axis fix (#384) 2022-07-28 22:41:21 -05:00
Evan Pezent 7a470b2e17 add ImPlotAxisFlags_NoSideSwitch and ImPlotAxisFlags_NoHighlight 2022-07-07 20:27:24 -05:00
Evan Pezent f33a5990d7 Merge branch 'master' of https://github.com/epezent/implot 2022-07-07 19:04:24 -05:00
Evan Pezent 1fed5c2c19 temp fix for time formatted mouse position text 2022-07-07 19:04:16 -05:00
K b4aec718a5
fix merge typo in Locator_Time() (#380) 2022-07-07 18:31:05 -05:00
Evan Pezent 8c53333489 fix PlotDigital/Dummy flags 2022-07-04 19:30:36 -05:00
Evan Pezent fc0fd11246 ImPlotLineFlags_Shaded and ImPlotStairsFlags_Shaded 2022-06-22 11:00:42 -05:00
Evan Pezent 6c00109636 make ColormapScale reversable 2022-06-20 07:48:51 -05:00
Evan Pezent 0f4d4dccc3 add ImPlotColormapScaleFlags 2022-06-19 22:51:51 -05:00
Evan Pezent 6f4986b14f add ColormapSlider to demo 2022-06-19 21:14:36 -05:00
Evan Pezent dbb461db24 update README 2022-06-18 23:16:01 -05:00
Evan Pezent 63d5ed94b7
Features/item flags (#319)
* add PlotBarGroups and layout some plans for flags

* exprimentin

* item flags added to each plotter

* rendering templates

* rendering templates

* item flags and axis scales

* item flags

* template markers

* markers

* benching

* buffer

* inline adjust

* inline fix

* dunno

* fix some todos

* tickers

* clean up

* update TODO

* update breaking changes

* demo cleanup

* remove TODO label

* header cleanup
2022-06-18 22:59:32 -05:00
Rokas Kupstys 79b05d5e25
Fix freed memory read error in AddTicksTime(). Invalid read occurred when LabelTickTime() resizes ticks.TextBuffer while last_major held pointer pointing into old now freed buffer. (#365)
Fixed a warning about condition depending on uninitialized ImPlotLegend::PreviousLocation.
2022-06-17 09:09:25 -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 3dd7e75c7d gaurd IMPLOT_DISABLE_OBSOLETE_FUNCTIONS in implot_demo.cpp 2022-05-08 10:40:27 -05:00
Evan Pezent 947c2c02e4 gaurd IMPLOT_DISABLE_OBSOLETE_FUNCTIONS in implot_demo.cpp 2022-05-08 10:40:16 -05:00
Evan Pezent 32a4617cd6 fix legend icons and drag tools with ImGui::KeepAliveID 2022-05-08 10:23:42 -05:00
Max Schwarz 196a0243c5
ImPlotAxis::WillRender(): return false if axis is disabled (#350)
This saves a few CPU cycles in SetupFinish(), which otherwise formats
tick labels & spacing for disabled axes.
2022-04-20 20:19:39 -07:00
omar df4256c9e8
Demo: tweak for runtime speed. (#353) 2022-04-20 20:19:01 -07:00
omar 1160243218
Fix for 1.88 WIP (18716) renaming ImGuiKeyModFlags to ImGuiModFlags (#347) 2022-04-05 06:58:12 -07:00
Evan Pezent b47c8bacdb Merge branch 'master' of https://github.com/epezent/implot 2022-01-30 17:07:12 -08:00
Evan Pezent 58240e5311 remove redefinition of GetInputMap 2022-01-30 17:07:05 -08:00
Evan Pezent 9b4ba149ec
Update README.md 2022-01-30 10:47:33 -08:00
Evan Pezent f438a21813 fix comment find/replace accident 2022-01-30 10:26:21 -08:00
Evan Pezent 86f4dd6e5c use ImFormatString instead of sprintf/snprintf 2022-01-30 10:19:29 -08:00
Evan Pezent adfc96810e remove unecessary msvc warning disables 2022-01-30 10:08:55 -08:00
Evan Pezent 8d3bd31395 -Wformat-nonliteral 2022-01-30 10:06:39 -08:00
Evan Pezent 168244e422 replace sprintf with snprintf 2022-01-30 09:54:49 -08:00
Evan Pezent 3a53f0b796 init PixelMin/Max 2022-01-30 09:35:49 -08:00
Evan Pezent 199b4803b6 Merge branch 'sergeyn-pr_branch' 2022-01-30 09:32:07 -08:00
Sergey Nenakhov 6659b164fe intel compiler warning fixes (and fastmath in general) 2022-01-23 00:50:18 +01:00
Evan Pezent 4fcc6e01ac fix sizeof(T) in IndexData 2021-12-02 20:54:54 -08:00
Evan Pezent c0da6fea04 add PlotBarGroups 2021-10-24 00:25:46 -07: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 dea3387cdc buffer overflow fix 2021-09-07 21:46:54 -07:00
Evan Pezent c40206f2ea spaces 2021-09-07 20:24:34 -07:00
Evan Pezent f1b86b9fe4 Merge branch 'master' of https://github.com/epezent/implot 2021-09-07 20:23:59 -07:00
Evan Pezent 5ed9e78676 add #include <immintrin.h> fallback 2021-09-07 20:20:12 -07:00
Dario Mambro 14d4c96d0c
more flexible custom context management (#281) 2021-08-28 07:00:47 -07:00
sergeyn 0fb3346a7a
custom context management (same way as in ImGui) (#278) 2021-08-24 08:08:00 -07:00
Evan Pezent 3e96fd7c02
improve indexing, line rendering performance by 45% (#270)
* add IndexData and Indexers

* simplify transformers

* 30% improvement

* moving around

* add TODO.md

* fix bar plot aliasing

* finishup indexing

* remove debug bools
2021-07-30 20:27:02 -07:00
Evan Pezent c8601ac0d5 rev version, fix unused lines 2021-07-29 19:14:13 -07:00
Jeslas Pravin 864ebb90b6
fix: PlotShaded Opposite triangle winding (#269) 2021-07-29 19:09:01 -07:00
Evan Pezent 4be83def59 add IsSubplotsHovered 2021-07-28 11:52:57 -07:00
Evan Pezent 507459fd5f move axis equal constraint after pixel determination 2021-07-23 16:32:57 -07:00
Evan Pezent 2dc2a4cfd5 improve tick label culling 2021-07-15 20:40:51 -07:00