|
|
@ -1,4 +1,4 @@ |
|
|
|
// ImGui library v1.14
|
|
|
|
// ImGui library v1.15 wip
|
|
|
|
// See ImGui::ShowTestWindow() for sample code.
|
|
|
|
// Read 'Programmer guide' below for notes on how to setup ImGui in your codebase.
|
|
|
|
// Get latest version at https://github.com/ocornut/imgui
|
|
|
@ -3709,24 +3709,24 @@ static void Plot(ImGuiPlotType plot_type, const char* label, float (*values_gett |
|
|
|
RenderText(ImVec2(frame_bb.Max.x + style.ItemInnerSpacing.x, graph_bb.Min.y), label); |
|
|
|
} |
|
|
|
|
|
|
|
struct ImGuiPlotData |
|
|
|
struct ImGuiPlotArrayGetterData |
|
|
|
{ |
|
|
|
const float* Values; |
|
|
|
size_t Stride; |
|
|
|
|
|
|
|
ImGuiPlotData(const float* values, size_t stride) { Values = values; Stride = stride; } |
|
|
|
ImGuiPlotArrayGetterData(const float* values, size_t stride) { Values = values; Stride = stride; } |
|
|
|
}; |
|
|
|
|
|
|
|
float Plot_ArrayGetter(void* data, int idx) |
|
|
|
static float Plot_ArrayGetter(void* data, int idx) |
|
|
|
{ |
|
|
|
ImGuiPlotData* plot_data = (ImGuiPlotData*)data; |
|
|
|
ImGuiPlotArrayGetterData* plot_data = (ImGuiPlotArrayGetterData*)data; |
|
|
|
const float v = *(float*)((unsigned char*)plot_data->Values + (size_t)idx * plot_data->Stride); |
|
|
|
return v; |
|
|
|
} |
|
|
|
|
|
|
|
void PlotLines(const char* label, const float* values, int values_count, int values_offset, const char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, size_t stride) |
|
|
|
{ |
|
|
|
ImGuiPlotData data(values, stride); |
|
|
|
ImGuiPlotArrayGetterData data(values, stride); |
|
|
|
ImGui::Plot(ImGuiPlotType_Lines, label, &Plot_ArrayGetter, (void*)&data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); |
|
|
|
} |
|
|
|
|
|
|
@ -3737,7 +3737,7 @@ void PlotLines(const char* label, float (*values_getter)(void* data, int idx), v |
|
|
|
|
|
|
|
void PlotHistogram(const char* label, const float* values, int values_count, int values_offset, const char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, size_t stride) |
|
|
|
{ |
|
|
|
ImGuiPlotData data(values, stride); |
|
|
|
ImGuiPlotArrayGetterData data(values, stride); |
|
|
|
ImGui::Plot(ImGuiPlotType_Histogram, label, &Plot_ArrayGetter, (void*)&data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); |
|
|
|
} |
|
|
|
|
|
|
|