MCPcopy Create free account
hub / github.com/IppClub/Dora-SSR / PlotLineEx

Function PlotLineEx

Source/3rdParty/implot/implot_items.cpp:1905–1977  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1903
1904template <typename _Getter>
1905void PlotLineEx(const char* label_id, const _Getter& getter, const ImPlotSpec& spec) {
1906 if (BeginItemEx(label_id, Fitter1<_Getter>(getter), spec, spec.LineColor, spec.Marker)) {
1907 if (getter.Count <= 0) {
1908 EndItem();
1909 return;
1910 }
1911 const ImPlotNextItemData& s = GetItemData();
1912 if (getter.Count > 1) {
1913 if (ImHasFlag(spec.Flags, ImPlotLineFlags_Shaded) && s.RenderFill) {
1914 GetterOverrideY<_Getter> getter2(getter, 0);
1915 if (s.Spec.FillColors != nullptr) {
1916 GetterIdxColor color_getter(s.Spec.FillColors, getter.Count, s.Spec.FillAlpha);
1917 RenderPrimitives3<RendererShaded>(getter,getter2,color_getter);
1918 } else {
1919 const ImU32 col_fill = ImGui::GetColorU32(s.Spec.FillColor);
1920 GetterConstColor color_getter(col_fill, s.Spec.FillAlpha);
1921 RenderPrimitives3<RendererShaded>(getter,getter2,color_getter);
1922 }
1923 }
1924 if (s.RenderLine) {
1925 const ImU32 col_line = ImGui::GetColorU32(s.Spec.LineColor);
1926 if (ImHasFlag(spec.Flags,ImPlotLineFlags_Segments)) {
1927 if (s.Spec.LineColors != nullptr) {
1928 GetterIdxColor color_getter(s.Spec.LineColors, getter.Count);
1929 RenderPrimitives2<RendererLineSegments1>(getter,color_getter,s.Spec.LineWeight);
1930 } else {
1931 GetterConstColor color_getter(col_line);
1932 RenderPrimitives2<RendererLineSegments1>(getter,color_getter,s.Spec.LineWeight);
1933 }
1934 }
1935 else if (ImHasFlag(spec.Flags, ImPlotLineFlags_Loop)) {
1936 if (s.Spec.LineColors != nullptr) {
1937 GetterIdxColor color_getter(s.Spec.LineColors, getter.Count);
1938 if (ImHasFlag(spec.Flags, ImPlotLineFlags_SkipNaN))
1939 RenderPrimitives2<RendererLineStripSkip>(GetterLoop<_Getter>(getter),color_getter,s.Spec.LineWeight);
1940 else
1941 RenderPrimitives2<RendererLineStrip>(GetterLoop<_Getter>(getter),color_getter,s.Spec.LineWeight);
1942 } else {
1943 GetterConstColor color_getter(col_line);
1944 if (ImHasFlag(spec.Flags, ImPlotLineFlags_SkipNaN))
1945 RenderPrimitives2<RendererLineStripSkip>(GetterLoop<_Getter>(getter),color_getter,s.Spec.LineWeight);
1946 else
1947 RenderPrimitives2<RendererLineStrip>(GetterLoop<_Getter>(getter),color_getter,s.Spec.LineWeight);
1948 }
1949 }
1950 else {
1951 if (s.Spec.LineColors != nullptr) {
1952 GetterIdxColor color_getter(s.Spec.LineColors, getter.Count);
1953 if (ImHasFlag(spec.Flags, ImPlotLineFlags_SkipNaN))
1954 RenderPrimitives2<RendererLineStripSkip>(getter,color_getter,s.Spec.LineWeight);
1955 else
1956 RenderPrimitives2<RendererLineStrip>(getter,color_getter,s.Spec.LineWeight);
1957 } else {
1958 GetterConstColor color_getter(col_line);
1959 if (ImHasFlag(spec.Flags, ImPlotLineFlags_SkipNaN))
1960 RenderPrimitives2<RendererLineStripSkip>(getter,color_getter,s.Spec.LineWeight);
1961 else
1962 RenderPrimitives2<RendererLineStrip>(getter,color_getter,s.Spec.LineWeight);

Callers 2

PlotLineFunction · 0.85
PlotLineGFunction · 0.85

Calls 6

BeginItemExFunction · 0.85
EndItemFunction · 0.85
ImHasFlagFunction · 0.85
PopPlotClipRectFunction · 0.85
PushPlotClipRectFunction · 0.85
RenderColoredMarkersFunction · 0.85

Tested by

no test coverage detected