mirror of
https://github.com/gwm17/implot.git
synced 2024-11-23 02:38:53 -05:00
bug fix: calculate adaptive divisions after canvas bounding box is calculated
This commit is contained in:
parent
0a3442f389
commit
e847aa786d
14
implot.cpp
14
implot.cpp
|
@ -933,13 +933,6 @@ bool BeginPlot(const char* title, const char* x_label, const char* y_label, cons
|
||||||
plot.YAxis[i].Range.Max = plot.YAxis[i].Range.Min + DBL_EPSILON;
|
plot.YAxis[i].Range.Max = plot.YAxis[i].Range.Min + DBL_EPSILON;
|
||||||
}
|
}
|
||||||
|
|
||||||
// adaptive divisions
|
|
||||||
int x_divisions = ImMax(2, (int)IM_ROUND(0.003 * gp.BB_Canvas.GetWidth()));
|
|
||||||
int y_divisions[MAX_Y_AXES];
|
|
||||||
for (int i = 0; i < MAX_Y_AXES; i++) {
|
|
||||||
y_divisions[i] = ImMax(2, (int)IM_ROUND(0.003 * gp.BB_Canvas.GetHeight()));
|
|
||||||
}
|
|
||||||
|
|
||||||
// COLORS -----------------------------------------------------------------
|
// COLORS -----------------------------------------------------------------
|
||||||
|
|
||||||
gp.Col_Frame = gp.Style.Colors[ImPlotCol_FrameBg].w == -1 ? ImGui::GetColorU32(ImGuiCol_FrameBg) : ImGui::GetColorU32(gp.Style.Colors[ImPlotCol_FrameBg]);
|
gp.Col_Frame = gp.Style.Colors[ImPlotCol_FrameBg].w == -1 ? ImGui::GetColorU32(ImGuiCol_FrameBg) : ImGui::GetColorU32(gp.Style.Colors[ImPlotCol_FrameBg]);
|
||||||
|
@ -974,6 +967,13 @@ bool BeginPlot(const char* title, const char* x_label, const char* y_label, cons
|
||||||
// canvas bb
|
// canvas bb
|
||||||
gp.BB_Canvas = ImRect(gp.BB_Frame.Min + Style.WindowPadding, gp.BB_Frame.Max - Style.WindowPadding);
|
gp.BB_Canvas = ImRect(gp.BB_Frame.Min + Style.WindowPadding, gp.BB_Frame.Max - Style.WindowPadding);
|
||||||
|
|
||||||
|
// adaptive divisions
|
||||||
|
int x_divisions = ImMax(2, (int)IM_ROUND(0.003 * gp.BB_Canvas.GetWidth()));
|
||||||
|
int y_divisions[MAX_Y_AXES];
|
||||||
|
for (int i = 0; i < MAX_Y_AXES; i++) {
|
||||||
|
y_divisions[i] = ImMax(2, (int)IM_ROUND(0.003 * gp.BB_Canvas.GetHeight()));
|
||||||
|
}
|
||||||
|
|
||||||
gp.RenderX = (HasFlag(plot.XAxis.Flags, ImPlotAxisFlags_GridLines) ||
|
gp.RenderX = (HasFlag(plot.XAxis.Flags, ImPlotAxisFlags_GridLines) ||
|
||||||
HasFlag(plot.XAxis.Flags, ImPlotAxisFlags_TickMarks) ||
|
HasFlag(plot.XAxis.Flags, ImPlotAxisFlags_TickMarks) ||
|
||||||
HasFlag(plot.XAxis.Flags, ImPlotAxisFlags_TickLabels)) && x_divisions > 1;
|
HasFlag(plot.XAxis.Flags, ImPlotAxisFlags_TickLabels)) && x_divisions > 1;
|
||||||
|
|
|
@ -415,7 +415,7 @@ void ShowDemoWindow(bool* p_open) {
|
||||||
ImPlot::SetNextPlotLimits(-1,1,-1,1);
|
ImPlot::SetNextPlotLimits(-1,1,-1,1);
|
||||||
if (ImPlot::BeginPlot("##Heatmap2",NULL,NULL,ImVec2(225,225),ImPlotFlags_ContextMenu,0,0)) {
|
if (ImPlot::BeginPlot("##Heatmap2",NULL,NULL,ImVec2(225,225),ImPlotFlags_ContextMenu,0,0)) {
|
||||||
ImPlot::PlotHeatmap("heat1",values2,100,100,0,1,NULL);
|
ImPlot::PlotHeatmap("heat1",values2,100,100,0,1,NULL);
|
||||||
ImPlot::PlotHeatmap("heat1",values2,100,100,0,1,NULL, ImPlotPoint(-1,-1), ImPlotPoint(0,0));
|
ImPlot::PlotHeatmap("heat2",values2,100,100,0,1,NULL, ImPlotPoint(-1,-1), ImPlotPoint(0,0));
|
||||||
ImPlot::EndPlot();
|
ImPlot::EndPlot();
|
||||||
}
|
}
|
||||||
ImPlot::SetColormap(ImPlotColormap_Default);
|
ImPlot::SetColormap(ImPlotColormap_Default);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user