public static void nk_plot_function(this NuklearContext ctx, int type, NkFloatValueGetter value_getter, int count, int offset) { var i = 0; float min_value; float max_value; if (ctx == null || value_getter == null || count == 0) { return; } max_value = min_value = value_getter(offset); for (i = 0; i < count; ++i) { var value = value_getter(i + offset); min_value = value < min_value ? value : min_value; max_value = value < max_value ? max_value : value; } if (nk_chart_begin(ctx, type, count, min_value, max_value) != 0) { for (i = 0; i < count; ++i) { nk_chart_push(ctx, value_getter(i + offset)); } nk_chart_end(ctx); } }
public void PlotFunction(NkChartType type, IntPtr userdata, NkFloatValueGetter value_getter, int count, int offset) { Nk.nk_plot_function(_ctx, type, userdata.ToPointer(), value_getter, count, offset); }