diff --git a/imgui-binding/src/generated/java/imgui/extension/implot/ImPlot.java b/imgui-binding/src/generated/java/imgui/extension/implot/ImPlot.java index 945288b5..0a049476 100644 --- a/imgui-binding/src/generated/java/imgui/extension/implot/ImPlot.java +++ b/imgui-binding/src/generated/java/imgui/extension/implot/ImPlot.java @@ -1503,13 +1503,6 @@ public static void plotLine(final String labelId, final short[] xs, final short[ nPlotLine(labelId, xs, ys); } - /** - * Plots a standard 2D line plot. - */ - public static void plotLine(final String labelId, final short[] xs, final short[] ys, final int offset) { - nPlotLine(labelId, xs, ys, offset); - } - private static native void nPlotLine(String labelId, short[] xs, short[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1520,16 +1513,6 @@ public static void plotLine(final String labelId, final short[] xs, final short[ if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotLine(String labelId, short[] xs, short[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotLine(labelId, &xs[0], &ys[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - /** * Plots a standard 2D line plot. */ @@ -1537,13 +1520,6 @@ public static void plotLine(final String labelId, final int[] xs, final int[] ys nPlotLine(labelId, xs, ys); } - /** - * Plots a standard 2D line plot. - */ - public static void plotLine(final String labelId, final int[] xs, final int[] ys, final int offset) { - nPlotLine(labelId, xs, ys, offset); - } - private static native void nPlotLine(String labelId, int[] xs, int[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1554,16 +1530,6 @@ public static void plotLine(final String labelId, final int[] xs, final int[] ys if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotLine(String labelId, int[] xs, int[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotLine(labelId, &xs[0], &ys[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - /** * Plots a standard 2D line plot. */ @@ -1571,13 +1537,6 @@ public static void plotLine(final String labelId, final long[] xs, final long[] nPlotLine(labelId, xs, ys); } - /** - * Plots a standard 2D line plot. - */ - public static void plotLine(final String labelId, final long[] xs, final long[] ys, final int offset) { - nPlotLine(labelId, xs, ys, offset); - } - private static native void nPlotLine(String labelId, long[] xs, long[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1588,16 +1547,6 @@ public static void plotLine(final String labelId, final long[] xs, final long[] if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotLine(String labelId, long[] xs, long[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotLine(labelId, &xs[0], &ys[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - /** * Plots a standard 2D line plot. */ @@ -1605,13 +1554,6 @@ public static void plotLine(final String labelId, final float[] xs, final float[ nPlotLine(labelId, xs, ys); } - /** - * Plots a standard 2D line plot. - */ - public static void plotLine(final String labelId, final float[] xs, final float[] ys, final int offset) { - nPlotLine(labelId, xs, ys, offset); - } - private static native void nPlotLine(String labelId, float[] xs, float[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1622,16 +1564,6 @@ public static void plotLine(final String labelId, final float[] xs, final float[ if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotLine(String labelId, float[] xs, float[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotLine(labelId, &xs[0], &ys[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - /** * Plots a standard 2D line plot. */ @@ -1639,13 +1571,6 @@ public static void plotLine(final String labelId, final double[] xs, final doubl nPlotLine(labelId, xs, ys); } - /** - * Plots a standard 2D line plot. - */ - public static void plotLine(final String labelId, final double[] xs, final double[] ys, final int offset) { - nPlotLine(labelId, xs, ys, offset); - } - private static native void nPlotLine(String labelId, double[] xs, double[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1656,15 +1581,12 @@ public static void plotLine(final String labelId, final double[] xs, final doubl if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotLine(String labelId, double[] xs, double[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotLine(labelId, &xs[0], &ys[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ + /** + * Plots a standard 2D line plot. + */ + public static void plotLine(final String labelId, final short[] xs, final short[] ys, final int count) { + nPlotLine(labelId, xs, ys, count); + } /** * Plots a standard 2D line plot. @@ -1673,6 +1595,16 @@ public static void plotLine(final String labelId, final short[] xs, final short[ nPlotLine(labelId, xs, ys, count, offset); } + private static native void nPlotLine(String labelId, short[] xs, short[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotLine(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + private static native void nPlotLine(String labelId, short[] xs, short[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1683,6 +1615,13 @@ public static void plotLine(final String labelId, final short[] xs, final short[ if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ + /** + * Plots a standard 2D line plot. + */ + public static void plotLine(final String labelId, final int[] xs, final int[] ys, final int count) { + nPlotLine(labelId, xs, ys, count); + } + /** * Plots a standard 2D line plot. */ @@ -1690,6 +1629,16 @@ public static void plotLine(final String labelId, final int[] xs, final int[] ys nPlotLine(labelId, xs, ys, count, offset); } + private static native void nPlotLine(String labelId, int[] xs, int[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotLine(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + private static native void nPlotLine(String labelId, int[] xs, int[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1700,6 +1649,13 @@ public static void plotLine(final String labelId, final int[] xs, final int[] ys if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ + /** + * Plots a standard 2D line plot. + */ + public static void plotLine(final String labelId, final long[] xs, final long[] ys, final int count) { + nPlotLine(labelId, xs, ys, count); + } + /** * Plots a standard 2D line plot. */ @@ -1707,6 +1663,16 @@ public static void plotLine(final String labelId, final long[] xs, final long[] nPlotLine(labelId, xs, ys, count, offset); } + private static native void nPlotLine(String labelId, long[] xs, long[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotLine(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + private static native void nPlotLine(String labelId, long[] xs, long[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1717,6 +1683,13 @@ public static void plotLine(final String labelId, final long[] xs, final long[] if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ + /** + * Plots a standard 2D line plot. + */ + public static void plotLine(final String labelId, final float[] xs, final float[] ys, final int count) { + nPlotLine(labelId, xs, ys, count); + } + /** * Plots a standard 2D line plot. */ @@ -1724,6 +1697,16 @@ public static void plotLine(final String labelId, final float[] xs, final float[ nPlotLine(labelId, xs, ys, count, offset); } + private static native void nPlotLine(String labelId, float[] xs, float[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotLine(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + private static native void nPlotLine(String labelId, float[] xs, float[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -1734,6 +1717,13 @@ public static void plotLine(final String labelId, final float[] xs, final float[ if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ + /** + * Plots a standard 2D line plot. + */ + public static void plotLine(final String labelId, final double[] xs, final double[] ys, final int count) { + nPlotLine(labelId, xs, ys, count); + } + /** * Plots a standard 2D line plot. */ @@ -1741,6 +1731,16 @@ public static void plotLine(final String labelId, final double[] xs, final doubl nPlotLine(labelId, xs, ys, count, offset); } + private static native void nPlotLine(String labelId, double[] xs, double[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotLine(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + private static native void nPlotLine(String labelId, double[] xs, double[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); @@ -2053,647 +2053,558 @@ public static void plotScatter(final String labelId, final double[] values, fina if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - // xs,ys - /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final short[] xs, final short[] ys) { - nPlotScatter(labelId, xs, ys); + public static void plotScatter(final String labelId, final short[] values, final int count) { + nPlotScatter(labelId, values, count); } /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final short[] xs, final short[] ys, final int offset) { - nPlotScatter(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final short[] values, final int count, final double xscale) { + nPlotScatter(labelId, values, count, xscale); } - private static native void nPlotScatter(String labelId, short[] xs, short[] ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotScatter(String labelId, short[] xs, short[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final int[] xs, final int[] ys) { - nPlotScatter(labelId, xs, ys); + public static void plotScatter(final String labelId, final short[] values, final int count, final double xscale, final double x0) { + nPlotScatter(labelId, values, count, xscale, x0); } /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final int[] xs, final int[] ys, final int offset) { - nPlotScatter(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final short[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotScatter(labelId, values, count, xscale, x0, offset); } - private static native void nPlotScatter(String labelId, int[] xs, int[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, short[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotScatter(String labelId, int[] xs, int[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, short[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - public static void plotScatter(final String labelId, final long[] xs, final long[] ys) { - nPlotScatter(labelId, xs, ys); - } - - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - public static void plotScatter(final String labelId, final long[] xs, final long[] ys, final int offset) { - nPlotScatter(labelId, xs, ys, offset); - } - - private static native void nPlotScatter(String labelId, long[] xs, long[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, short[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotScatter(String labelId, long[] xs, long[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, short[] values, int count, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final float[] xs, final float[] ys) { - nPlotScatter(labelId, xs, ys); + public static void plotScatter(final String labelId, final int[] values, final int count) { + nPlotScatter(labelId, values, count); } /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final float[] xs, final float[] ys, final int offset) { - nPlotScatter(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final int[] values, final int count, final double xscale) { + nPlotScatter(labelId, values, count, xscale); } - private static native void nPlotScatter(String labelId, float[] xs, float[] ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotScatter(String labelId, float[] xs, float[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final double[] xs, final double[] ys) { - nPlotScatter(labelId, xs, ys); + public static void plotScatter(final String labelId, final int[] values, final int count, final double xscale, final double x0) { + nPlotScatter(labelId, values, count, xscale, x0); } /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotScatter(final String labelId, final double[] xs, final double[] ys, final int offset) { - nPlotScatter(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final int[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotScatter(labelId, values, count, xscale, x0, offset); } - private static native void nPlotScatter(String labelId, double[] xs, double[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, int[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotScatter(String labelId, double[] xs, double[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, int[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - // values + private static native void nPlotScatter(String labelId, int[] values, int count, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotScatter(String labelId, int[] values, int count, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final short[] values) { - nPlotStairs(labelId, values); + public static void plotScatter(final String labelId, final long[] values, final int count) { + nPlotScatter(labelId, values, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final short[] values, final double xscale) { - nPlotStairs(labelId, values, xscale); + public static void plotScatter(final String labelId, final long[] values, final int count, final double xscale) { + nPlotScatter(labelId, values, count, xscale); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final short[] values, final double xscale, final double x0) { - nPlotStairs(labelId, values, xscale, x0); + public static void plotScatter(final String labelId, final long[] values, final int count, final double xscale, final double x0) { + nPlotScatter(labelId, values, count, xscale, x0); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final short[] values, final double xscale, final double x0, final int offset) { - nPlotStairs(labelId, values, xscale, x0, offset); + public static void plotScatter(final String labelId, final long[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotScatter(labelId, values, count, xscale, x0, offset); } - private static native void nPlotStairs(String labelId, short[] values); /*MANUAL + private static native void nPlotScatter(String labelId, long[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, short[] values, double xscale); /*MANUAL + private static native void nPlotScatter(String labelId, long[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, short[] values, double xscale, double x0); /*MANUAL + private static native void nPlotScatter(String labelId, long[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, short[] values, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, long[] values, int count, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final int[] values) { - nPlotStairs(labelId, values); + public static void plotScatter(final String labelId, final float[] values, final int count) { + nPlotScatter(labelId, values, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final int[] values, final double xscale) { - nPlotStairs(labelId, values, xscale); + public static void plotScatter(final String labelId, final float[] values, final int count, final double xscale) { + nPlotScatter(labelId, values, count, xscale); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final int[] values, final double xscale, final double x0) { - nPlotStairs(labelId, values, xscale, x0); + public static void plotScatter(final String labelId, final float[] values, final int count, final double xscale, final double x0) { + nPlotScatter(labelId, values, count, xscale, x0); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final int[] values, final double xscale, final double x0, final int offset) { - nPlotStairs(labelId, values, xscale, x0, offset); + public static void plotScatter(final String labelId, final float[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotScatter(labelId, values, count, xscale, x0, offset); } - private static native void nPlotStairs(String labelId, int[] values); /*MANUAL + private static native void nPlotScatter(String labelId, float[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values)); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, int[] values, double xscale); /*MANUAL + private static native void nPlotScatter(String labelId, float[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, int[] values, double xscale, double x0); /*MANUAL + private static native void nPlotScatter(String labelId, float[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, int[] values, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, float[] values, int count, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final long[] values) { - nPlotStairs(labelId, values); + public static void plotScatter(final String labelId, final double[] values, final int count) { + nPlotScatter(labelId, values, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final long[] values, final double xscale) { - nPlotStairs(labelId, values, xscale); + public static void plotScatter(final String labelId, final double[] values, final int count, final double xscale) { + nPlotScatter(labelId, values, count, xscale); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final long[] values, final double xscale, final double x0) { - nPlotStairs(labelId, values, xscale, x0); + public static void plotScatter(final String labelId, final double[] values, final int count, final double xscale, final double x0) { + nPlotScatter(labelId, values, count, xscale, x0); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final long[] values, final double xscale, final double x0, final int offset) { - nPlotStairs(labelId, values, xscale, x0, offset); + public static void plotScatter(final String labelId, final double[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotScatter(labelId, values, count, xscale, x0, offset); } - private static native void nPlotStairs(String labelId, long[] values); /*MANUAL + private static native void nPlotScatter(String labelId, double[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, long[] values, double xscale); /*MANUAL + private static native void nPlotScatter(String labelId, double[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, long[] values, double xscale, double x0); /*MANUAL + private static native void nPlotScatter(String labelId, double[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, long[] values, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, double[] values, int count, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotScatter(labelId, &values[0], count, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - public static void plotStairs(final String labelId, final float[] values) { - nPlotStairs(labelId, values); - } - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - public static void plotStairs(final String labelId, final float[] values, final double xscale) { - nPlotStairs(labelId, values, xscale); - } - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - public static void plotStairs(final String labelId, final float[] values, final double xscale, final double x0) { - nPlotStairs(labelId, values, xscale, x0); - } + // xs,ys /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final float[] values, final double xscale, final double x0, final int offset) { - nPlotStairs(labelId, values, xscale, x0, offset); + public static void plotScatter(final String labelId, final short[] xs, final short[] ys) { + nPlotScatter(labelId, xs, ys); } - private static native void nPlotStairs(String labelId, float[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotStairs(String labelId, float[] values, double xscale); /*MANUAL + private static native void nPlotScatter(String labelId, short[] xs, short[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, float[] values, double xscale, double x0); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ + /** + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. + */ + public static void plotScatter(final String labelId, final int[] xs, final int[] ys) { + nPlotScatter(labelId, xs, ys); + } - private static native void nPlotStairs(String labelId, float[] values, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, int[] xs, int[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - public static void plotStairs(final String labelId, final double[] values) { - nPlotStairs(labelId, values); - } - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final double[] values, final double xscale) { - nPlotStairs(labelId, values, xscale); + public static void plotScatter(final String labelId, final long[] xs, final long[] ys) { + nPlotScatter(labelId, xs, ys); } - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - public static void plotStairs(final String labelId, final double[] values, final double xscale, final double x0) { - nPlotStairs(labelId, values, xscale, x0); - } + private static native void nPlotScatter(String labelId, long[] xs, long[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final double[] values, final double xscale, final double x0, final int offset) { - nPlotStairs(labelId, values, xscale, x0, offset); + public static void plotScatter(final String labelId, final float[] xs, final float[] ys) { + nPlotScatter(labelId, xs, ys); } - private static native void nPlotStairs(String labelId, double[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotStairs(String labelId, double[] values, double xscale); /*MANUAL + private static native void nPlotScatter(String labelId, float[] xs, float[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, double[] values, double xscale, double x0); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ + /** + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. + */ + public static void plotScatter(final String labelId, final double[] xs, final double[] ys) { + nPlotScatter(labelId, xs, ys); + } - private static native void nPlotStairs(String labelId, double[] values, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, double[] xs, double[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - // xs,ys - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final short[] xs, final short[] ys) { - nPlotStairs(labelId, xs, ys); + public static void plotScatter(final String labelId, final short[] xs, final short[] ys, final int count) { + nPlotScatter(labelId, xs, ys, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final short[] xs, final short[] ys, final int offset) { - nPlotStairs(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final short[] xs, final short[] ys, final int count, final int offset) { + nPlotScatter(labelId, xs, ys, count, offset); } - private static native void nPlotStairs(String labelId, short[] xs, short[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, short[] xs, short[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, short[] xs, short[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, short[] xs, short[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final int[] xs, final int[] ys) { - nPlotStairs(labelId, xs, ys); + public static void plotScatter(final String labelId, final int[] xs, final int[] ys, final int count) { + nPlotScatter(labelId, xs, ys, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final int[] xs, final int[] ys, final int offset) { - nPlotStairs(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final int[] xs, final int[] ys, final int count, final int offset) { + nPlotScatter(labelId, xs, ys, count, offset); } - private static native void nPlotStairs(String labelId, int[] xs, int[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, int[] xs, int[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, int[] xs, int[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, int[] xs, int[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final long[] xs, final long[] ys) { - nPlotStairs(labelId, xs, ys); + public static void plotScatter(final String labelId, final long[] xs, final long[] ys, final int count) { + nPlotScatter(labelId, xs, ys, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final long[] xs, final long[] ys, final int offset) { - nPlotStairs(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final long[] xs, final long[] ys, final int count, final int offset) { + nPlotScatter(labelId, xs, ys, count, offset); } - private static native void nPlotStairs(String labelId, long[] xs, long[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, long[] xs, long[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, long[] xs, long[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, long[] xs, long[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final float[] xs, final float[] ys) { - nPlotStairs(labelId, xs, ys); + public static void plotScatter(final String labelId, final float[] xs, final float[] ys, final int count) { + nPlotScatter(labelId, xs, ys, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final float[] xs, final float[] ys, final int offset) { - nPlotStairs(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final float[] xs, final float[] ys, final int count, final int offset) { + nPlotScatter(labelId, xs, ys, count, offset); } - private static native void nPlotStairs(String labelId, float[] xs, float[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, float[] xs, float[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, float[] xs, float[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, float[] xs, float[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final double[] xs, final double[] ys) { - nPlotStairs(labelId, xs, ys); + public static void plotScatter(final String labelId, final double[] xs, final double[] ys, final int count) { + nPlotScatter(labelId, xs, ys, count); } /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ - public static void plotStairs(final String labelId, final double[] xs, final double[] ys, final int offset) { - nPlotStairs(labelId, xs, ys, offset); + public static void plotScatter(final String labelId, final double[] xs, final double[] ys, final int count, final int offset) { + nPlotScatter(labelId, xs, ys, count, offset); } - private static native void nPlotStairs(String labelId, double[] xs, double[] ys); /*MANUAL + private static native void nPlotScatter(String labelId, double[] xs, double[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStairs(String labelId, double[] xs, double[] ys, int offset); /*MANUAL + private static native void nPlotScatter(String labelId, double[] xs, double[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotScatter(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -2702,3290 +2613,3011 @@ public static void plotStairs(final String labelId, final double[] xs, final dou // values /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - public static void plotShaded(final String labelId, final short[] values) { - nPlotShaded(labelId, values); - } - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] values, final double yRef) { - nPlotShaded(labelId, values, yRef); + public static void plotStairs(final String labelId, final short[] values) { + nPlotStairs(labelId, values); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] values, final double yRef, final double xscale) { - nPlotShaded(labelId, values, yRef, xscale); + public static void plotStairs(final String labelId, final short[] values, final double xscale) { + nPlotStairs(labelId, values, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] values, final double yRef, final double xscale, final double x0) { - nPlotShaded(labelId, values, yRef, xscale, x0); + public static void plotStairs(final String labelId, final short[] values, final double xscale, final double x0) { + nPlotStairs(labelId, values, xscale, x0); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotShaded(labelId, values, yRef, xscale, x0, offset); + public static void plotStairs(final String labelId, final short[] values, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, xscale, x0, offset); } - private static native void nPlotShaded(String labelId, short[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotShaded(String labelId, short[] values, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, short[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotStairs(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, short[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotStairs(String labelId, short[] values, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, short[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotStairs(String labelId, short[] values, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, short[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, short[] values, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - public static void plotShaded(final String labelId, final int[] values) { - nPlotShaded(labelId, values); - } - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] values, final double yRef) { - nPlotShaded(labelId, values, yRef); + public static void plotStairs(final String labelId, final int[] values) { + nPlotStairs(labelId, values); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] values, final double yRef, final double xscale) { - nPlotShaded(labelId, values, yRef, xscale); + public static void plotStairs(final String labelId, final int[] values, final double xscale) { + nPlotStairs(labelId, values, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] values, final double yRef, final double xscale, final double x0) { - nPlotShaded(labelId, values, yRef, xscale, x0); + public static void plotStairs(final String labelId, final int[] values, final double xscale, final double x0) { + nPlotStairs(labelId, values, xscale, x0); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotShaded(labelId, values, yRef, xscale, x0, offset); + public static void plotStairs(final String labelId, final int[] values, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, xscale, x0, offset); } - private static native void nPlotShaded(String labelId, int[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotShaded(String labelId, int[] values, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, int[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotStairs(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, int[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotStairs(String labelId, int[] values, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, int[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotStairs(String labelId, int[] values, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, int[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, int[] values, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - public static void plotShaded(final String labelId, final long[] values) { - nPlotShaded(labelId, values); - } - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] values, final double yRef) { - nPlotShaded(labelId, values, yRef); + public static void plotStairs(final String labelId, final long[] values) { + nPlotStairs(labelId, values); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] values, final double yRef, final double xscale) { - nPlotShaded(labelId, values, yRef, xscale); + public static void plotStairs(final String labelId, final long[] values, final double xscale) { + nPlotStairs(labelId, values, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] values, final double yRef, final double xscale, final double x0) { - nPlotShaded(labelId, values, yRef, xscale, x0); + public static void plotStairs(final String labelId, final long[] values, final double xscale, final double x0) { + nPlotStairs(labelId, values, xscale, x0); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotShaded(labelId, values, yRef, xscale, x0, offset); + public static void plotStairs(final String labelId, final long[] values, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, xscale, x0, offset); } - private static native void nPlotShaded(String labelId, long[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotShaded(String labelId, long[] values, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, long[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotStairs(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, long[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotStairs(String labelId, long[] values, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, long[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotStairs(String labelId, long[] values, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, long[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, long[] values, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - public static void plotShaded(final String labelId, final float[] values) { - nPlotShaded(labelId, values); - } - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] values, final double yRef) { - nPlotShaded(labelId, values, yRef); + public static void plotStairs(final String labelId, final float[] values) { + nPlotStairs(labelId, values); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] values, final double yRef, final double xscale) { - nPlotShaded(labelId, values, yRef, xscale); + public static void plotStairs(final String labelId, final float[] values, final double xscale) { + nPlotStairs(labelId, values, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] values, final double yRef, final double xscale, final double x0) { - nPlotShaded(labelId, values, yRef, xscale, x0); + public static void plotStairs(final String labelId, final float[] values, final double xscale, final double x0) { + nPlotStairs(labelId, values, xscale, x0); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotShaded(labelId, values, yRef, xscale, x0, offset); + public static void plotStairs(final String labelId, final float[] values, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, xscale, x0, offset); } - private static native void nPlotShaded(String labelId, float[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotShaded(String labelId, float[] values, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, float[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotStairs(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, float[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotStairs(String labelId, float[] values, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, float[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotStairs(String labelId, float[] values, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, float[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, float[] values, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] values) { - nPlotShaded(labelId, values); + public static void plotStairs(final String labelId, final double[] values) { + nPlotStairs(labelId, values); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] values, final double yRef) { - nPlotShaded(labelId, values, yRef); + public static void plotStairs(final String labelId, final double[] values, final double xscale) { + nPlotStairs(labelId, values, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] values, final double yRef, final double xscale) { - nPlotShaded(labelId, values, yRef, xscale); + public static void plotStairs(final String labelId, final double[] values, final double xscale, final double x0) { + nPlotStairs(labelId, values, xscale, x0); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] values, final double yRef, final double xscale, final double x0) { - nPlotShaded(labelId, values, yRef, xscale, x0); + public static void plotStairs(final String labelId, final double[] values, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, xscale, x0, offset); } - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - public static void plotShaded(final String labelId, final double[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotShaded(labelId, values, yRef, xscale, x0, offset); - } - - private static native void nPlotShaded(String labelId, double[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotShaded(String labelId, double[] values, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, double[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotStairs(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, double[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotStairs(String labelId, double[] values, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, double[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotStairs(String labelId, double[] values, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, double[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, double[] values, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotStairs(labelId, &values[0], LEN(values), xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - // xs,ys + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final short[] values, final int count) { + nPlotStairs(labelId, values, count); + } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] xs, final short[] ys) { - nPlotShaded(labelId, xs, ys); + public static void plotStairs(final String labelId, final short[] values, final int count, final double xscale) { + nPlotStairs(labelId, values, count, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] xs, final short[] ys, final double yRef) { - nPlotShaded(labelId, xs, ys, yRef); + public static void plotStairs(final String labelId, final short[] values, final int count, final double xscale, final double x0) { + nPlotStairs(labelId, values, count, xscale, x0); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] xs, final short[] ys, final double yRef, final int offset) { - nPlotShaded(labelId, xs, ys, yRef, offset); + public static void plotStairs(final String labelId, final short[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, count, xscale, x0, offset); } - private static native void nPlotShaded(String labelId, short[] xs, short[] ys); /*MANUAL + private static native void nPlotStairs(String labelId, short[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, short[] xs, short[] ys, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, short[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, short[] xs, short[] ys, double yRef, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, short[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStairs(String labelId, short[] values, int count, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] xs, final int[] ys) { - nPlotShaded(labelId, xs, ys); + public static void plotStairs(final String labelId, final int[] values, final int count) { + nPlotStairs(labelId, values, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] xs, final int[] ys, final double yRef) { - nPlotShaded(labelId, xs, ys, yRef); + public static void plotStairs(final String labelId, final int[] values, final int count, final double xscale) { + nPlotStairs(labelId, values, count, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] xs, final int[] ys, final double yRef, final int offset) { - nPlotShaded(labelId, xs, ys, yRef, offset); + public static void plotStairs(final String labelId, final int[] values, final int count, final double xscale, final double x0) { + nPlotStairs(labelId, values, count, xscale, x0); } - private static native void nPlotShaded(String labelId, int[] xs, int[] ys); /*MANUAL + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final int[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, count, xscale, x0, offset); + } + + private static native void nPlotStairs(String labelId, int[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, int[] xs, int[] ys, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, int[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, int[] xs, int[] ys, double yRef, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, int[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStairs(String labelId, int[] values, int count, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] xs, final long[] ys) { - nPlotShaded(labelId, xs, ys); + public static void plotStairs(final String labelId, final long[] values, final int count) { + nPlotStairs(labelId, values, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] xs, final long[] ys, final double yRef) { - nPlotShaded(labelId, xs, ys, yRef); + public static void plotStairs(final String labelId, final long[] values, final int count, final double xscale) { + nPlotStairs(labelId, values, count, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] xs, final long[] ys, final double yRef, final int offset) { - nPlotShaded(labelId, xs, ys, yRef, offset); + public static void plotStairs(final String labelId, final long[] values, final int count, final double xscale, final double x0) { + nPlotStairs(labelId, values, count, xscale, x0); } - private static native void nPlotShaded(String labelId, long[] xs, long[] ys); /*MANUAL + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final long[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, count, xscale, x0, offset); + } + + private static native void nPlotStairs(String labelId, long[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, long[] xs, long[] ys, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, long[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, long[] xs, long[] ys, double yRef, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, long[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStairs(String labelId, long[] values, int count, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] xs, final float[] ys) { - nPlotShaded(labelId, xs, ys); + public static void plotStairs(final String labelId, final float[] values, final int count) { + nPlotStairs(labelId, values, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] xs, final float[] ys, final double yRef) { - nPlotShaded(labelId, xs, ys, yRef); + public static void plotStairs(final String labelId, final float[] values, final int count, final double xscale) { + nPlotStairs(labelId, values, count, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] xs, final float[] ys, final double yRef, final int offset) { - nPlotShaded(labelId, xs, ys, yRef, offset); + public static void plotStairs(final String labelId, final float[] values, final int count, final double xscale, final double x0) { + nPlotStairs(labelId, values, count, xscale, x0); } - private static native void nPlotShaded(String labelId, float[] xs, float[] ys); /*MANUAL + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final float[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, count, xscale, x0, offset); + } + + private static native void nPlotStairs(String labelId, float[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, float[] xs, float[] ys, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, float[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, float[] xs, float[] ys, double yRef, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, float[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStairs(String labelId, float[] values, int count, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] xs, final double[] ys) { - nPlotShaded(labelId, xs, ys); + public static void plotStairs(final String labelId, final double[] values, final int count) { + nPlotStairs(labelId, values, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] xs, final double[] ys, final double yRef) { - nPlotShaded(labelId, xs, ys, yRef); + public static void plotStairs(final String labelId, final double[] values, final int count, final double xscale) { + nPlotStairs(labelId, values, count, xscale); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] xs, final double[] ys, final double yRef, final int offset) { - nPlotShaded(labelId, xs, ys, yRef, offset); + public static void plotStairs(final String labelId, final double[] values, final int count, final double xscale, final double x0) { + nPlotStairs(labelId, values, count, xscale, x0); } - private static native void nPlotShaded(String labelId, double[] xs, double[] ys); /*MANUAL + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final double[] values, final int count, final double xscale, final double x0, final int offset) { + nPlotStairs(labelId, values, count, xscale, x0, offset); + } + + private static native void nPlotStairs(String labelId, double[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, double[] xs, double[] ys, double yRef); /*MANUAL + private static native void nPlotStairs(String labelId, double[] values, int count, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, double[] xs, double[] ys, double yRef, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, double[] values, int count, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - // xs,ys1,ys2 + private static native void nPlotStairs(String labelId, double[] values, int count, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStairs(labelId, &values[0], count, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + // xs,ys /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] xs, final short[] ys1, final short[] ys2) { - nPlotShaded(labelId, xs, ys1, ys2); + public static void plotStairs(final String labelId, final short[] xs, final short[] ys) { + nPlotStairs(labelId, xs, ys); } + private static native void nPlotStairs(String labelId, short[] xs, short[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final short[] xs, final short[] ys1, final short[] ys2, final int offset) { - nPlotShaded(labelId, xs, ys1, ys2, offset); + public static void plotStairs(final String labelId, final int[] xs, final int[] ys) { + nPlotStairs(labelId, xs, ys); } - private static native void nPlotShaded(String labelId, short[] xs, short[] ys1, short[] ys2); /*MANUAL + private static native void nPlotStairs(String labelId, int[] xs, int[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final long[] xs, final long[] ys) { + nPlotStairs(labelId, xs, ys); + } + + private static native void nPlotStairs(String labelId, long[] xs, long[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final float[] xs, final float[] ys) { + nPlotStairs(labelId, xs, ys); + } + + private static native void nPlotStairs(String labelId, float[] xs, float[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final double[] xs, final double[] ys) { + nPlotStairs(labelId, xs, ys); + } + + private static native void nPlotStairs(String labelId, double[] xs, double[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final short[] xs, final short[] ys, final int count) { + nPlotStairs(labelId, xs, ys, count); + } + + /** + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. + */ + public static void plotStairs(final String labelId, final short[] xs, final short[] ys, final int count, final int offset) { + nPlotStairs(labelId, xs, ys, count, offset); + } + + private static native void nPlotStairs(String labelId, short[] xs, short[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, short[] xs, short[] ys1, short[] ys2, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, short[] xs, short[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs), offset); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] xs, final int[] ys1, final int[] ys2) { - nPlotShaded(labelId, xs, ys1, ys2); + public static void plotStairs(final String labelId, final int[] xs, final int[] ys, final int count) { + nPlotStairs(labelId, xs, ys, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final int[] xs, final int[] ys1, final int[] ys2, final int offset) { - nPlotShaded(labelId, xs, ys1, ys2, offset); + public static void plotStairs(final String labelId, final int[] xs, final int[] ys, final int count, final int offset) { + nPlotStairs(labelId, xs, ys, count, offset); } - private static native void nPlotShaded(String labelId, int[] xs, int[] ys1, int[] ys2); /*MANUAL + private static native void nPlotStairs(String labelId, int[] xs, int[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, int[] xs, int[] ys1, int[] ys2, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, int[] xs, int[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs), offset); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] xs, final long[] ys1, final long[] ys2) { - nPlotShaded(labelId, xs, ys1, ys2); + public static void plotStairs(final String labelId, final long[] xs, final long[] ys, final int count) { + nPlotStairs(labelId, xs, ys, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final long[] xs, final long[] ys1, final long[] ys2, final int offset) { - nPlotShaded(labelId, xs, ys1, ys2, offset); + public static void plotStairs(final String labelId, final long[] xs, final long[] ys, final int count, final int offset) { + nPlotStairs(labelId, xs, ys, count, offset); } - private static native void nPlotShaded(String labelId, long[] xs, long[] ys1, long[] ys2); /*MANUAL + private static native void nPlotStairs(String labelId, long[] xs, long[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, long[] xs, long[] ys1, long[] ys2, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, long[] xs, long[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs), offset); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] xs, final float[] ys1, final float[] ys2) { - nPlotShaded(labelId, xs, ys1, ys2); + public static void plotStairs(final String labelId, final float[] xs, final float[] ys, final int count) { + nPlotStairs(labelId, xs, ys, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final float[] xs, final float[] ys1, final float[] ys2, final int offset) { - nPlotShaded(labelId, xs, ys1, ys2, offset); + public static void plotStairs(final String labelId, final float[] xs, final float[] ys, final int count, final int offset) { + nPlotStairs(labelId, xs, ys, count, offset); } - private static native void nPlotShaded(String labelId, float[] xs, float[] ys1, float[] ys2); /*MANUAL + private static native void nPlotStairs(String labelId, float[] xs, float[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, float[] xs, float[] ys1, float[] ys2, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, float[] xs, float[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs), offset); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] xs, final double[] ys1, final double[] ys2) { - nPlotShaded(labelId, xs, ys1, ys2); + public static void plotStairs(final String labelId, final double[] xs, final double[] ys, final int count) { + nPlotStairs(labelId, xs, ys, count); } /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ - public static void plotShaded(final String labelId, final double[] xs, final double[] ys1, final double[] ys2, final int offset) { - nPlotShaded(labelId, xs, ys1, ys2, offset); + public static void plotStairs(final String labelId, final double[] xs, final double[] ys, final int count, final int offset) { + nPlotStairs(labelId, xs, ys, count, offset); } - private static native void nPlotShaded(String labelId, double[] xs, double[] ys1, double[] ys2); /*MANUAL + private static native void nPlotStairs(String labelId, double[] xs, double[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotShaded(String labelId, double[] xs, double[] ys1, double[] ys2, int offset); /*MANUAL + private static native void nPlotStairs(String labelId, double[] xs, double[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys1 = obj_ys1 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); - auto ys2 = obj_ys2 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); - ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs), offset); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStairs(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); - if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ // values /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final short[] values) { - nPlotBars(labelId, values); + public static void plotShaded(final String labelId, final short[] values) { + nPlotShaded(labelId, values); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final short[] values, final double width) { - nPlotBars(labelId, values, width); + public static void plotShaded(final String labelId, final short[] values, final double yRef) { + nPlotShaded(labelId, values, yRef); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final short[] values, final double width, final double shift) { - nPlotBars(labelId, values, width, shift); + public static void plotShaded(final String labelId, final short[] values, final double yRef, final double xscale) { + nPlotShaded(labelId, values, yRef, xscale); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final short[] values, final double width, final double shift, final int offset) { - nPlotBars(labelId, values, width, shift, offset); + public static void plotShaded(final String labelId, final short[] values, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, yRef, xscale, x0); } - private static native void nPlotBars(String labelId, short[] values); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final short[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotShaded(String labelId, short[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values)); + ImPlot::PlotShaded(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, short[] values, double width); /*MANUAL + private static native void nPlotShaded(String labelId, short[] values, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, short[] values, double width, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, short[] values, double yRef, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, short[] values, double width, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, short[] values, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, short[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] values) { - nPlotBars(labelId, values); + public static void plotShaded(final String labelId, final int[] values) { + nPlotShaded(labelId, values); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] values, final double width) { - nPlotBars(labelId, values, width); + public static void plotShaded(final String labelId, final int[] values, final double yRef) { + nPlotShaded(labelId, values, yRef); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] values, final double width, final double shift) { - nPlotBars(labelId, values, width, shift); + public static void plotShaded(final String labelId, final int[] values, final double yRef, final double xscale) { + nPlotShaded(labelId, values, yRef, xscale); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] values, final double width, final double shift, final int offset) { - nPlotBars(labelId, values, width, shift, offset); + public static void plotShaded(final String labelId, final int[] values, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, yRef, xscale, x0); } - private static native void nPlotBars(String labelId, int[] values); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final int[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotShaded(String labelId, int[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values)); + ImPlot::PlotShaded(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, int[] values, double width); /*MANUAL + private static native void nPlotShaded(String labelId, int[] values, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, int[] values, double width, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, int[] values, double yRef, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, int[] values, double width, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, int[] values, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, int[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final long[] values) { - nPlotBars(labelId, values); + public static void plotShaded(final String labelId, final long[] values) { + nPlotShaded(labelId, values); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final long[] values, final double width) { - nPlotBars(labelId, values, width); + public static void plotShaded(final String labelId, final long[] values, final double yRef) { + nPlotShaded(labelId, values, yRef); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final long[] values, final double width, final double shift) { - nPlotBars(labelId, values, width, shift); + public static void plotShaded(final String labelId, final long[] values, final double yRef, final double xscale) { + nPlotShaded(labelId, values, yRef, xscale); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final long[] values, final double width, final double shift, final int offset) { - nPlotBars(labelId, values, width, shift, offset); + public static void plotShaded(final String labelId, final long[] values, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, yRef, xscale, x0); } - private static native void nPlotBars(String labelId, long[] values); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final long[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotShaded(String labelId, long[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values)); + ImPlot::PlotShaded(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, long[] values, double width); /*MANUAL + private static native void nPlotShaded(String labelId, long[] values, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, long[] values, double width, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, long[] values, double yRef, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, long[] values, double width, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, long[] values, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, long[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final float[] values) { - nPlotBars(labelId, values); + public static void plotShaded(final String labelId, final float[] values) { + nPlotShaded(labelId, values); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final float[] values, final double width) { - nPlotBars(labelId, values, width); + public static void plotShaded(final String labelId, final float[] values, final double yRef) { + nPlotShaded(labelId, values, yRef); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final float[] values, final double width, final double shift) { - nPlotBars(labelId, values, width, shift); + public static void plotShaded(final String labelId, final float[] values, final double yRef, final double xscale) { + nPlotShaded(labelId, values, yRef, xscale); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final float[] values, final double width, final double shift, final int offset) { - nPlotBars(labelId, values, width, shift, offset); + public static void plotShaded(final String labelId, final float[] values, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, yRef, xscale, x0); } - private static native void nPlotBars(String labelId, float[] values); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final float[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotShaded(String labelId, float[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values)); + ImPlot::PlotShaded(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, float[] values, double width); /*MANUAL + private static native void nPlotShaded(String labelId, float[] values, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, float[] values, double width, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, float[] values, double yRef, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, float[] values, double width, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, float[] values, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, float[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] values) { - nPlotBars(labelId, values); + public static void plotShaded(final String labelId, final double[] values) { + nPlotShaded(labelId, values); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] values, final double width) { - nPlotBars(labelId, values, width); + public static void plotShaded(final String labelId, final double[] values, final double yRef) { + nPlotShaded(labelId, values, yRef); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] values, final double width, final double shift) { - nPlotBars(labelId, values, width, shift); + public static void plotShaded(final String labelId, final double[] values, final double yRef, final double xscale) { + nPlotShaded(labelId, values, yRef, xscale); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] values, final double width, final double shift, final int offset) { - nPlotBars(labelId, values, width, shift, offset); + public static void plotShaded(final String labelId, final double[] values, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, yRef, xscale, x0); } - private static native void nPlotBars(String labelId, double[] values); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final double[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotShaded(String labelId, double[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values)); + ImPlot::PlotShaded(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, double[] values, double width); /*MANUAL + private static native void nPlotShaded(String labelId, double[] values, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, double[] values, double width, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, double[] values, double yRef, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, double[] values, double width, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, double[] values, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - // xs,ys + private static native void nPlotShaded(String labelId, double[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final short[] xs, final short[] ys, final double width) { - nPlotBars(labelId, xs, ys, width); + public static void plotShaded(final String labelId, final short[] values, final int count) { + nPlotShaded(labelId, values, count); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final short[] xs, final short[] ys, final double width, final int offset) { - nPlotBars(labelId, xs, ys, width, offset); + public static void plotShaded(final String labelId, final short[] values, final int count, final double yRef) { + nPlotShaded(labelId, values, count, yRef); } - private static native void nPlotBars(String labelId, short[] xs, short[] ys, double width); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotBars(String labelId, short[] xs, short[] ys, double width, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width, offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final short[] values, final int count, final double yRef, final double xscale) { + nPlotShaded(labelId, values, count, yRef, xscale); + } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] xs, final int[] ys, final double width) { - nPlotBars(labelId, xs, ys, width); + public static void plotShaded(final String labelId, final short[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, count, yRef, xscale, x0); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] xs, final int[] ys, final double width, final int offset) { - nPlotBars(labelId, xs, ys, width, offset); + public static void plotShaded(final String labelId, final short[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, count, yRef, xscale, x0, offset); } - private static native void nPlotBars(String labelId, int[] xs, int[] ys, double width); /*MANUAL + private static native void nPlotShaded(String labelId, short[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, int[] xs, int[] ys, double width, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, short[] values, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width, offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - public static void plotBars(final String labelId, final long[] xs, final long[] ys, final double width) { - nPlotBars(labelId, xs, ys, width); - } - - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - public static void plotBars(final String labelId, final long[] xs, final long[] ys, final double width, final int offset) { - nPlotBars(labelId, xs, ys, width, offset); - } + private static native void nPlotShaded(String labelId, short[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ - private static native void nPlotBars(String labelId, long[] xs, long[] ys, double width); /*MANUAL + private static native void nPlotShaded(String labelId, short[] values, int count, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, long[] xs, long[] ys, double width, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, short[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width, offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final float[] xs, final float[] ys, final double width) { - nPlotBars(labelId, xs, ys, width); + public static void plotShaded(final String labelId, final int[] values, final int count) { + nPlotShaded(labelId, values, count); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final float[] xs, final float[] ys, final double width, final int offset) { - nPlotBars(labelId, xs, ys, width, offset); + public static void plotShaded(final String labelId, final int[] values, final int count, final double yRef) { + nPlotShaded(labelId, values, count, yRef); } - private static native void nPlotBars(String labelId, float[] xs, float[] ys, double width); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotBars(String labelId, float[] xs, float[] ys, double width, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width, offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final int[] values, final int count, final double yRef, final double xscale) { + nPlotShaded(labelId, values, count, yRef, xscale); + } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] xs, final double[] ys, final double width) { - nPlotBars(labelId, xs, ys, width); + public static void plotShaded(final String labelId, final int[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, count, yRef, xscale, x0); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] xs, final double[] ys, final double width, final int offset) { - nPlotBars(labelId, xs, ys, width, offset); + public static void plotShaded(final String labelId, final int[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, count, yRef, xscale, x0, offset); } - private static native void nPlotBars(String labelId, double[] xs, double[] ys, double width); /*MANUAL + private static native void nPlotShaded(String labelId, int[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, double[] xs, double[] ys, double width, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, int[] values, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width, offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - public static void plotBars(final String labelId, final short[] xs, final short[] ys) { - nPlotBars(labelId, xs, ys); - } - - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - public static void plotBars(final String labelId, final short[] xs, final short[] ys, final int offset) { - nPlotBars(labelId, xs, ys, offset); - } + private static native void nPlotShaded(String labelId, int[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ - private static native void nPlotBars(String labelId, short[] xs, short[] ys); /*MANUAL + private static native void nPlotShaded(String labelId, int[] values, int count, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, short[] xs, short[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, int[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] xs, final int[] ys) { - nPlotBars(labelId, xs, ys); + public static void plotShaded(final String labelId, final long[] values, final int count) { + nPlotShaded(labelId, values, count); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final int[] xs, final int[] ys, final int offset) { - nPlotBars(labelId, xs, ys, offset); + public static void plotShaded(final String labelId, final long[] values, final int count, final double yRef) { + nPlotShaded(labelId, values, count, yRef); } - private static native void nPlotBars(String labelId, int[] xs, int[] ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotBars(String labelId, int[] xs, int[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final long[] values, final int count, final double yRef, final double xscale) { + nPlotShaded(labelId, values, count, yRef, xscale); + } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final long[] xs, final long[] ys) { - nPlotBars(labelId, xs, ys); + public static void plotShaded(final String labelId, final long[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, count, yRef, xscale, x0); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final long[] xs, final long[] ys, final int offset) { - nPlotBars(labelId, xs, ys, offset); + public static void plotShaded(final String labelId, final long[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, count, yRef, xscale, x0, offset); } - private static native void nPlotBars(String labelId, long[] xs, long[] ys); /*MANUAL + private static native void nPlotShaded(String labelId, long[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, long[] xs, long[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, long[] values, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - public static void plotBars(final String labelId, final float[] xs, final float[] ys) { - nPlotBars(labelId, xs, ys); - } - - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - public static void plotBars(final String labelId, final float[] xs, final float[] ys, final int offset) { - nPlotBars(labelId, xs, ys, offset); - } + private static native void nPlotShaded(String labelId, long[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ - private static native void nPlotBars(String labelId, float[] xs, float[] ys); /*MANUAL + private static native void nPlotShaded(String labelId, long[] values, int count, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBars(String labelId, float[] xs, float[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, long[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] xs, final double[] ys) { - nPlotBars(labelId, xs, ys); + public static void plotShaded(final String labelId, final float[] values, final int count) { + nPlotShaded(labelId, values, count); } /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBars(final String labelId, final double[] xs, final double[] ys, final int offset) { - nPlotBars(labelId, xs, ys, offset); + public static void plotShaded(final String labelId, final float[] values, final int count, final double yRef) { + nPlotShaded(labelId, values, count, yRef); } - private static native void nPlotBars(String labelId, double[] xs, double[] ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotBars(String labelId, double[] xs, double[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - // values - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final short[] values) { - nPlotBarsH(labelId, values); + public static void plotShaded(final String labelId, final float[] values, final int count, final double yRef, final double xscale) { + nPlotShaded(labelId, values, count, yRef, xscale); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final short[] values, final double height) { - nPlotBarsH(labelId, values, height); + public static void plotShaded(final String labelId, final float[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, count, yRef, xscale, x0); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final short[] values, final double height, final double shift) { - nPlotBarsH(labelId, values, height, shift); + public static void plotShaded(final String labelId, final float[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, count, yRef, xscale, x0, offset); } - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final short[] values, final double height, final double shift, final int offset) { - nPlotBarsH(labelId, values, height, shift, offset); - } + private static native void nPlotShaded(String labelId, float[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ - private static native void nPlotBarsH(String labelId, short[] values); /*MANUAL + private static native void nPlotShaded(String labelId, float[] values, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, short[] values, double height); /*MANUAL + private static native void nPlotShaded(String labelId, float[] values, int count, double yRef, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, short[] values, double height, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, float[] values, int count, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, short[] values, double height, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, float[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final int[] values) { - nPlotBarsH(labelId, values); + public static void plotShaded(final String labelId, final double[] values, final int count) { + nPlotShaded(labelId, values, count); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final int[] values, final double height) { - nPlotBarsH(labelId, values, height); + public static void plotShaded(final String labelId, final double[] values, final int count, final double yRef) { + nPlotShaded(labelId, values, count, yRef); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final int[] values, final double height, final double shift) { - nPlotBarsH(labelId, values, height, shift); + public static void plotShaded(final String labelId, final double[] values, final int count, final double yRef, final double xscale) { + nPlotShaded(labelId, values, count, yRef, xscale); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final int[] values, final double height, final double shift, final int offset) { - nPlotBarsH(labelId, values, height, shift, offset); + public static void plotShaded(final String labelId, final double[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotShaded(labelId, values, count, yRef, xscale, x0); } - private static native void nPlotBarsH(String labelId, int[] values); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final double[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotShaded(labelId, values, count, yRef, xscale, x0, offset); + } + + private static native void nPlotShaded(String labelId, double[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, int[] values, double height); /*MANUAL + private static native void nPlotShaded(String labelId, double[] values, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, int[] values, double height, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, double[] values, int count, double yRef, double xscale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, int[] values, double height, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, double[] values, int count, double yRef, double xscale, double x0); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final long[] values) { - nPlotBarsH(labelId, values); - } + private static native void nPlotShaded(String labelId, double[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotShaded(labelId, &values[0], count, yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + // xs,ys /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final long[] values, final double height) { - nPlotBarsH(labelId, values, height); + public static void plotShaded(final String labelId, final short[] xs, final short[] ys) { + nPlotShaded(labelId, xs, ys); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final long[] values, final double height, final double shift) { - nPlotBarsH(labelId, values, height, shift); + public static void plotShaded(final String labelId, final short[] xs, final short[] ys, final double yRef) { + nPlotShaded(labelId, xs, ys, yRef); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final long[] values, final double height, final double shift, final int offset) { - nPlotBarsH(labelId, values, height, shift, offset); + public static void plotShaded(final String labelId, final short[] xs, final short[] ys, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, yRef, offset); } - private static native void nPlotBarsH(String labelId, long[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotBarsH(String labelId, long[] values, double height); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, long[] values, double height, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, long[] values, double height, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys, double yRef, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final float[] values) { - nPlotBarsH(labelId, values); - } - - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final float[] values, final double height) { - nPlotBarsH(labelId, values, height); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys) { + nPlotShaded(labelId, xs, ys); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final float[] values, final double height, final double shift) { - nPlotBarsH(labelId, values, height, shift); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys, final double yRef) { + nPlotShaded(labelId, xs, ys, yRef); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final float[] values, final double height, final double shift, final int offset) { - nPlotBarsH(labelId, values, height, shift, offset); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, yRef, offset); } - private static native void nPlotBarsH(String labelId, float[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotBarsH(String labelId, float[] values, double height); /*MANUAL + private static native void nPlotShaded(String labelId, int[] xs, int[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, float[] values, double height, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, int[] xs, int[] ys, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, float[] values, double height, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, int[] xs, int[] ys, double yRef, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final double[] values) { - nPlotBarsH(labelId, values); - } - - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final double[] values, final double height) { - nPlotBarsH(labelId, values, height); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys) { + nPlotShaded(labelId, xs, ys); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final double[] values, final double height, final double shift) { - nPlotBarsH(labelId, values, height, shift); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys, final double yRef) { + nPlotShaded(labelId, xs, ys, yRef); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final double[] values, final double height, final double shift, final int offset) { - nPlotBarsH(labelId, values, height, shift, offset); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, yRef, offset); } - private static native void nPlotBarsH(String labelId, double[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotBarsH(String labelId, double[] values, double height); /*MANUAL + private static native void nPlotShaded(String labelId, long[] xs, long[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, double[] values, double height, double shift); /*MANUAL + private static native void nPlotShaded(String labelId, long[] xs, long[] ys, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, double[] values, double height, double shift, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, long[] xs, long[] ys, double yRef, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - // xs,ys + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final float[] xs, final float[] ys) { + nPlotShaded(labelId, xs, ys); + } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final short[] xs, final short[] ys, final double height) { - nPlotBarsH(labelId, xs, ys, height); + public static void plotShaded(final String labelId, final float[] xs, final float[] ys, final double yRef) { + nPlotShaded(labelId, xs, ys, yRef); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final short[] xs, final short[] ys, final double height, final int offset) { - nPlotBarsH(labelId, xs, ys, height, offset); + public static void plotShaded(final String labelId, final float[] xs, final float[] ys, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, yRef, offset); } - private static native void nPlotBarsH(String labelId, short[] xs, short[] ys, double height); /*MANUAL + private static native void nPlotShaded(String labelId, float[] xs, float[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, short[] xs, short[] ys, double height, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, float[] xs, float[] ys, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height, offset); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, float[] xs, float[] ys, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final int[] xs, final int[] ys, final double height) { - nPlotBarsH(labelId, xs, ys, height); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys) { + nPlotShaded(labelId, xs, ys); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final int[] xs, final int[] ys, final double height, final int offset) { - nPlotBarsH(labelId, xs, ys, height, offset); - } - - private static native void nPlotBarsH(String labelId, int[] xs, int[] ys, double height); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotBarsH(String labelId, int[] xs, int[] ys, double height, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height, offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final long[] xs, final long[] ys, final double height) { - nPlotBarsH(labelId, xs, ys, height); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys, final double yRef) { + nPlotShaded(labelId, xs, ys, yRef); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final long[] xs, final long[] ys, final double height, final int offset) { - nPlotBarsH(labelId, xs, ys, height, offset); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, yRef, offset); } - private static native void nPlotBarsH(String labelId, long[] xs, long[] ys, double height); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotBarsH(String labelId, long[] xs, long[] ys, double height, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height, offset); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final float[] xs, final float[] ys, final double height) { - nPlotBarsH(labelId, xs, ys, height); - } - - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final float[] xs, final float[] ys, final double height, final int offset) { - nPlotBarsH(labelId, xs, ys, height, offset); - } - - private static native void nPlotBarsH(String labelId, float[] xs, float[] ys, double height); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, float[] xs, float[] ys, double height, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys, double yRef, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height, offset); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final double[] xs, final double[] ys, final double height) { - nPlotBarsH(labelId, xs, ys, height); + public static void plotShaded(final String labelId, final short[] xs, final short[] ys, final int count) { + nPlotShaded(labelId, xs, ys, count); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final double[] xs, final double[] ys, final double height, final int offset) { - nPlotBarsH(labelId, xs, ys, height, offset); + public static void plotShaded(final String labelId, final short[] xs, final short[] ys, final int count, final double yRef) { + nPlotShaded(labelId, xs, ys, count, yRef); } - private static native void nPlotBarsH(String labelId, double[] xs, double[] ys, double height); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final short[] xs, final short[] ys, final int count, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, count, yRef, offset); + } - private static native void nPlotBarsH(String labelId, double[] xs, double[] ys, double height, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height, offset); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final short[] xs, final short[] ys) { - nPlotBarsH(labelId, xs, ys); - } - - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - public static void plotBarsH(final String labelId, final short[] xs, final short[] ys, final int offset) { - nPlotBarsH(labelId, xs, ys, offset); - } - - private static native void nPlotBarsH(String labelId, short[] xs, short[] ys); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, short[] xs, short[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys, int count, double yRef, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final int[] xs, final int[] ys) { - nPlotBarsH(labelId, xs, ys); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys, final int count) { + nPlotShaded(labelId, xs, ys, count); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final int[] xs, final int[] ys, final int offset) { - nPlotBarsH(labelId, xs, ys, offset); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys, final int count, final double yRef) { + nPlotShaded(labelId, xs, ys, count, yRef); } - private static native void nPlotBarsH(String labelId, int[] xs, int[] ys); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final int[] xs, final int[] ys, final int count, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotShaded(String labelId, int[] xs, int[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, int[] xs, int[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, int[] xs, int[] ys, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, int[] xs, int[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final long[] xs, final long[] ys) { - nPlotBarsH(labelId, xs, ys); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys, final int count) { + nPlotShaded(labelId, xs, ys, count); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final long[] xs, final long[] ys, final int offset) { - nPlotBarsH(labelId, xs, ys, offset); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys, final int count, final double yRef) { + nPlotShaded(labelId, xs, ys, count, yRef); } - private static native void nPlotBarsH(String labelId, long[] xs, long[] ys); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final long[] xs, final long[] ys, final int count, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotShaded(String labelId, long[] xs, long[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, long[] xs, long[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, long[] xs, long[] ys, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, long[] xs, long[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final float[] xs, final float[] ys) { - nPlotBarsH(labelId, xs, ys); + public static void plotShaded(final String labelId, final float[] xs, final float[] ys, final int count) { + nPlotShaded(labelId, xs, ys, count); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final float[] xs, final float[] ys, final int offset) { - nPlotBarsH(labelId, xs, ys, offset); + public static void plotShaded(final String labelId, final float[] xs, final float[] ys, final int count, final double yRef) { + nPlotShaded(labelId, xs, ys, count, yRef); } - private static native void nPlotBarsH(String labelId, float[] xs, float[] ys); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final float[] xs, final float[] ys, final int count, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotShaded(String labelId, float[] xs, float[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, float[] xs, float[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, float[] xs, float[] ys, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotShaded(String labelId, float[] xs, float[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final double[] xs, final double[] ys) { - nPlotBarsH(labelId, xs, ys); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys, final int count) { + nPlotShaded(labelId, xs, ys, count); } /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotBarsH(final String labelId, final double[] xs, final double[] ys, final int offset) { - nPlotBarsH(labelId, xs, ys, offset); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys, final int count, final double yRef) { + nPlotShaded(labelId, xs, ys, count, yRef); } - private static native void nPlotBarsH(String labelId, double[] xs, double[] ys); /*MANUAL + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final double[] xs, final double[] ys, final int count, final double yRef, final int offset) { + nPlotShaded(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotShaded(String labelId, double[] xs, double[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotBarsH(String labelId, double[] xs, double[] ys, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys, int count, double yRef); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] err) { - nPlotErrorBars(labelId, xs, ys, err); - } - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] err, final int offset) { - nPlotErrorBars(labelId, xs, ys, err, offset); - } - - private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] err); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys, int count, double yRef, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys[0], count, yRef, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); */ - private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] err, int offset); /*MANUAL + // xs,ys1,ys2 + + /** + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. + */ + public static void plotShaded(final String labelId, final short[] xs, final short[] ys1, final short[] ys2) { + nPlotShaded(labelId, xs, ys1, ys2); + } + + private static native void nPlotShaded(String labelId, short[] xs, short[] ys1, short[] ys2); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] err) { - nPlotErrorBars(labelId, xs, ys, err); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys1, final int[] ys2) { + nPlotShaded(labelId, xs, ys1, ys2); } - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] err, final int offset) { - nPlotErrorBars(labelId, xs, ys, err, offset); - } - - private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] err); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - - private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] err, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, int[] xs, int[] ys1, int[] ys2); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] err) { - nPlotErrorBars(labelId, xs, ys, err); - } - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] err, final int offset) { - nPlotErrorBars(labelId, xs, ys, err, offset); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys1, final long[] ys2) { + nPlotShaded(labelId, xs, ys1, ys2); } - private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] err); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - - private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] err, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, long[] xs, long[] ys1, long[] ys2); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] err) { - nPlotErrorBars(labelId, xs, ys, err); - } - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] err, final int offset) { - nPlotErrorBars(labelId, xs, ys, err, offset); + public static void plotShaded(final String labelId, final float[] xs, final float[] ys1, final float[] ys2) { + nPlotShaded(labelId, xs, ys1, ys2); } - private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] err); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - - private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] err, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, float[] xs, float[] ys1, float[] ys2); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] err) { - nPlotErrorBars(labelId, xs, ys, err); - } - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] err, final int offset) { - nPlotErrorBars(labelId, xs, ys, err, offset); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys1, final double[] ys2) { + nPlotShaded(labelId, xs, ys1, ys2); } - private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] err); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - - private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] err, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys1, double[] ys2); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos) { - nPlotErrorBars(labelId, xs, ys, neg, pos); + public static void plotShaded(final String labelId, final short[] xs, final short[] ys1, final short[] ys2, final int count) { + nPlotShaded(labelId, xs, ys1, ys2, count); } /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos, final int offset) { - nPlotErrorBars(labelId, xs, ys, neg, pos, offset); + public static void plotShaded(final String labelId, final short[] xs, final short[] ys1, final short[] ys2, final int count, final int offset) { + nPlotShaded(labelId, xs, ys1, ys2, count, offset); } - private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] neg, short[] pos); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys1, short[] ys2, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto ys1 = obj_ys1 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ - private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, short[] xs, short[] ys1, short[] ys2, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos) { - nPlotErrorBars(labelId, xs, ys, neg, pos); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys1, final int[] ys2, final int count) { + nPlotShaded(labelId, xs, ys1, ys2, count); } /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos, final int offset) { - nPlotErrorBars(labelId, xs, ys, neg, pos, offset); + public static void plotShaded(final String labelId, final int[] xs, final int[] ys1, final int[] ys2, final int count, final int offset) { + nPlotShaded(labelId, xs, ys1, ys2, count, offset); } - private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] neg, int[] pos); /*MANUAL + private static native void nPlotShaded(String labelId, int[] xs, int[] ys1, int[] ys2, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto ys1 = obj_ys1 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ - private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, int[] xs, int[] ys1, int[] ys2, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos) { - nPlotErrorBars(labelId, xs, ys, neg, pos); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys1, final long[] ys2, final int count) { + nPlotShaded(labelId, xs, ys1, ys2, count); } /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos, final int offset) { - nPlotErrorBars(labelId, xs, ys, neg, pos, offset); + public static void plotShaded(final String labelId, final long[] xs, final long[] ys1, final long[] ys2, final int count, final int offset) { + nPlotShaded(labelId, xs, ys1, ys2, count, offset); } - private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] neg, long[] pos); /*MANUAL + private static native void nPlotShaded(String labelId, long[] xs, long[] ys1, long[] ys2, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto ys1 = obj_ys1 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ - private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, long[] xs, long[] ys1, long[] ys2, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos) { - nPlotErrorBars(labelId, xs, ys, neg, pos); + public static void plotShaded(final String labelId, final float[] xs, final float[] ys1, final float[] ys2, final int count) { + nPlotShaded(labelId, xs, ys1, ys2, count); } /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos, final int offset) { - nPlotErrorBars(labelId, xs, ys, neg, pos, offset); + public static void plotShaded(final String labelId, final float[] xs, final float[] ys1, final float[] ys2, final int count, final int offset) { + nPlotShaded(labelId, xs, ys1, ys2, count, offset); } - private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] neg, float[] pos); /*MANUAL + private static native void nPlotShaded(String labelId, float[] xs, float[] ys1, float[] ys2, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto ys1 = obj_ys1 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ - private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, float[] xs, float[] ys1, float[] ys2, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos) { - nPlotErrorBars(labelId, xs, ys, neg, pos); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys1, final double[] ys2, final int count) { + nPlotShaded(labelId, xs, ys1, ys2, count); } /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ - public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos, final int offset) { - nPlotErrorBars(labelId, xs, ys, neg, pos, offset); + public static void plotShaded(final String labelId, final double[] xs, final double[] ys1, final double[] ys2, final int count, final int offset) { + nPlotShaded(labelId, xs, ys1, ys2, count, offset); } - private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] neg, double[] pos); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys1, double[] ys2, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto ys1 = obj_ys1 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ - private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, int offset); /*MANUAL + private static native void nPlotShaded(String labelId, double[] xs, double[] ys1, double[] ys2, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto ys1 = obj_ys1 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys1, JNI_FALSE); + auto ys2 = obj_ys2 == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys2, JNI_FALSE); + ImPlot::PlotShaded(labelId, &xs[0], &ys1[0], &ys2[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (ys1 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys1, ys1, JNI_FALSE); + if (ys2 != NULL) env->ReleasePrimitiveArrayCritical(obj_ys2, ys2, JNI_FALSE); */ + // values + /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] err) { - nPlotErrorBarsH(labelId, xs, ys, err); + public static void plotBars(final String labelId, final short[] values) { + nPlotBars(labelId, values); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] err, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, err, offset); + public static void plotBars(final String labelId, final short[] values, final double width) { + nPlotBars(labelId, values, width); } - private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] err); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - - private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] err, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] err) { - nPlotErrorBarsH(labelId, xs, ys, err); + public static void plotBars(final String labelId, final short[] values, final double width, final double shift) { + nPlotBars(labelId, values, width, shift); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] err, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, err, offset); + public static void plotBars(final String labelId, final short[] values, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, width, shift, offset); } - private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] err); /*MANUAL + private static native void nPlotBars(String labelId, short[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] err, int offset); /*MANUAL + private static native void nPlotBars(String labelId, short[] values, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] err) { - nPlotErrorBarsH(labelId, xs, ys, err); - } - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] err, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, err, offset); - } - - private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] err); /*MANUAL + private static native void nPlotBars(String labelId, short[] values, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] err, int offset); /*MANUAL + private static native void nPlotBars(String labelId, short[] values, double width, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] err) { - nPlotErrorBarsH(labelId, xs, ys, err); + public static void plotBars(final String labelId, final int[] values) { + nPlotBars(labelId, values); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] err, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, err, offset); + public static void plotBars(final String labelId, final int[] values, final double width) { + nPlotBars(labelId, values, width); } - private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] err); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - - private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] err, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); - */ - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] err) { - nPlotErrorBarsH(labelId, xs, ys, err); + public static void plotBars(final String labelId, final int[] values, final double width, final double shift) { + nPlotBars(labelId, values, width, shift); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] err, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, err, offset); + public static void plotBars(final String labelId, final int[] values, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, width, shift, offset); } - private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] err); /*MANUAL + private static native void nPlotBars(String labelId, int[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] err, int offset); /*MANUAL + private static native void nPlotBars(String labelId, int[] values, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos); - } - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos, offset); - } - - private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] neg, short[] pos); /*MANUAL + private static native void nPlotBars(String labelId, int[] values, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, int offset); /*MANUAL + private static native void nPlotBars(String labelId, int[] values, double width, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos); + public static void plotBars(final String labelId, final long[] values) { + nPlotBars(labelId, values); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos, offset); + public static void plotBars(final String labelId, final long[] values, final double width) { + nPlotBars(labelId, values, width); } - private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] neg, int[] pos); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); - */ - - private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); - */ - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos); + public static void plotBars(final String labelId, final long[] values, final double width, final double shift) { + nPlotBars(labelId, values, width, shift); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos, offset); + public static void plotBars(final String labelId, final long[] values, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, width, shift, offset); } - private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] neg, long[] pos); /*MANUAL + private static native void nPlotBars(String labelId, long[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, int offset); /*MANUAL + private static native void nPlotBars(String labelId, long[] values, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBars(String labelId, long[] values, double width, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBars(String labelId, long[] values, double width, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final float[] values) { + nPlotBars(labelId, values); + } + + /** + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final float[] values, final double width) { + nPlotBars(labelId, values, width); + } + + /** + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos); + public static void plotBars(final String labelId, final float[] values, final double width, final double shift) { + nPlotBars(labelId, values, width, shift); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos, offset); + public static void plotBars(final String labelId, final float[] values, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, width, shift, offset); } - private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] neg, float[] pos); /*MANUAL + private static native void nPlotBars(String labelId, float[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBars(String labelId, float[] values, double width); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, int offset); /*MANUAL + private static native void nPlotBars(String labelId, float[] values, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBars(String labelId, float[] values, double width, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos); + public static void plotBars(final String labelId, final double[] values) { + nPlotBars(labelId, values); } /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final double[] values, final double width) { + nPlotBars(labelId, values, width); + } + + /** + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos, final int offset) { - nPlotErrorBarsH(labelId, xs, ys, neg, pos, offset); + public static void plotBars(final String labelId, final double[] values, final double width, final double shift) { + nPlotBars(labelId, values, width, shift); + } + + /** + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final double[] values, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, width, shift, offset); } - private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] neg, double[] pos); /*MANUAL + private static native void nPlotBars(String labelId, double[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, int offset); /*MANUAL + private static native void nPlotBars(String labelId, double[] values, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); - auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); - ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); - if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - // values + private static native void nPlotBars(String labelId, double[] values, double width, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ - /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final short[] values) { - nPlotStems(labelId, values); - } + private static native void nPlotBars(String labelId, double[] values, double width, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBars(labelId, &values[0], LEN(values), width, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final short[] values, final double yRef) { - nPlotStems(labelId, values, yRef); + public static void plotBars(final String labelId, final short[] values, final int count) { + nPlotBars(labelId, values, count); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final short[] values, final double yRef, final double xscale) { - nPlotStems(labelId, values, yRef, xscale); + public static void plotBars(final String labelId, final short[] values, final int count, final double width) { + nPlotBars(labelId, values, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final short[] values, final double yRef, final double xscale, final double x0) { - nPlotStems(labelId, values, yRef, xscale, x0); + public static void plotBars(final String labelId, final short[] values, final int count, final double width, final double shift) { + nPlotBars(labelId, values, count, width, shift); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final short[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotStems(labelId, values, yRef, xscale, x0, offset); + public static void plotBars(final String labelId, final short[] values, final int count, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, count, width, shift, offset); } - private static native void nPlotStems(String labelId, short[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotStems(String labelId, short[] values, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, short[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotBars(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, short[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotBars(String labelId, short[] values, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotBars(labelId, &values[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, short[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotBars(String labelId, short[] values, int count, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotBars(labelId, &values[0], count, width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, short[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotBars(String labelId, short[] values, int count, double width, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotBars(labelId, &values[0], count, width, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final int[] values) { - nPlotStems(labelId, values); - } - - /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final int[] values, final double yRef) { - nPlotStems(labelId, values, yRef); + public static void plotBars(final String labelId, final int[] values, final int count) { + nPlotBars(labelId, values, count); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final int[] values, final double yRef, final double xscale) { - nPlotStems(labelId, values, yRef, xscale); + public static void plotBars(final String labelId, final int[] values, final int count, final double width) { + nPlotBars(labelId, values, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final int[] values, final double yRef, final double xscale, final double x0) { - nPlotStems(labelId, values, yRef, xscale, x0); + public static void plotBars(final String labelId, final int[] values, final int count, final double width, final double shift) { + nPlotBars(labelId, values, count, width, shift); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final int[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotStems(labelId, values, yRef, xscale, x0, offset); + public static void plotBars(final String labelId, final int[] values, final int count, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, count, width, shift, offset); } - private static native void nPlotStems(String labelId, int[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotStems(String labelId, int[] values, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, int[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotBars(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, int[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotBars(String labelId, int[] values, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotBars(labelId, &values[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, int[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotBars(String labelId, int[] values, int count, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotBars(labelId, &values[0], count, width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, int[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotBars(String labelId, int[] values, int count, double width, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotBars(labelId, &values[0], count, width, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final long[] values) { - nPlotStems(labelId, values); - } - - /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final long[] values, final double yRef) { - nPlotStems(labelId, values, yRef); + public static void plotBars(final String labelId, final long[] values, final int count) { + nPlotBars(labelId, values, count); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final long[] values, final double yRef, final double xscale) { - nPlotStems(labelId, values, yRef, xscale); + public static void plotBars(final String labelId, final long[] values, final int count, final double width) { + nPlotBars(labelId, values, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final long[] values, final double yRef, final double xscale, final double x0) { - nPlotStems(labelId, values, yRef, xscale, x0); + public static void plotBars(final String labelId, final long[] values, final int count, final double width, final double shift) { + nPlotBars(labelId, values, count, width, shift); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final long[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotStems(labelId, values, yRef, xscale, x0, offset); + public static void plotBars(final String labelId, final long[] values, final int count, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, count, width, shift, offset); } - private static native void nPlotStems(String labelId, long[] values); /*MANUAL + private static native void nPlotBars(String labelId, long[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values)); + ImPlot::PlotBars(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, long[] values, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, long[] values, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotBars(labelId, &values[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, long[] values, double yRef, double xscale); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotStems(String labelId, long[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotBars(String labelId, long[] values, int count, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotBars(labelId, &values[0], count, width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, long[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotBars(String labelId, long[] values, int count, double width, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotBars(labelId, &values[0], count, width, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final float[] values) { - nPlotStems(labelId, values); - } - - /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final float[] values, final double yRef) { - nPlotStems(labelId, values, yRef); + public static void plotBars(final String labelId, final float[] values, final int count) { + nPlotBars(labelId, values, count); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final float[] values, final double yRef, final double xscale) { - nPlotStems(labelId, values, yRef, xscale); + public static void plotBars(final String labelId, final float[] values, final int count, final double width) { + nPlotBars(labelId, values, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final float[] values, final double yRef, final double xscale, final double x0) { - nPlotStems(labelId, values, yRef, xscale, x0); + public static void plotBars(final String labelId, final float[] values, final int count, final double width, final double shift) { + nPlotBars(labelId, values, count, width, shift); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final float[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotStems(labelId, values, yRef, xscale, x0, offset); + public static void plotBars(final String labelId, final float[] values, final int count, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, count, width, shift, offset); } - private static native void nPlotStems(String labelId, float[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotStems(String labelId, float[] values, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, float[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotBars(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, float[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotBars(String labelId, float[] values, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotBars(labelId, &values[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, float[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotBars(String labelId, float[] values, int count, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotBars(labelId, &values[0], count, width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, float[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotBars(String labelId, float[] values, int count, double width, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotBars(labelId, &values[0], count, width, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final double[] values) { - nPlotStems(labelId, values); - } - - /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final double[] values, final double yRef) { - nPlotStems(labelId, values, yRef); + public static void plotBars(final String labelId, final double[] values, final int count) { + nPlotBars(labelId, values, count); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final double[] values, final double yRef, final double xscale) { - nPlotStems(labelId, values, yRef, xscale); + public static void plotBars(final String labelId, final double[] values, final int count, final double width) { + nPlotBars(labelId, values, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final double[] values, final double yRef, final double xscale, final double x0) { - nPlotStems(labelId, values, yRef, xscale, x0); + public static void plotBars(final String labelId, final double[] values, final int count, final double width, final double shift) { + nPlotBars(labelId, values, count, width, shift); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final double[] values, final double yRef, final double xscale, final double x0, final int offset) { - nPlotStems(labelId, values, yRef, xscale, x0, offset); + public static void plotBars(final String labelId, final double[] values, final int count, final double width, final double shift, final int offset) { + nPlotBars(labelId, values, count, width, shift, offset); } - private static native void nPlotStems(String labelId, double[] values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotStems(String labelId, double[] values, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, double[] values, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + ImPlot::PlotBars(labelId, &values[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, double[] values, double yRef, double xscale); /*MANUAL + private static native void nPlotBars(String labelId, double[] values, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + ImPlot::PlotBars(labelId, &values[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, double[] values, double yRef, double xscale, double x0); /*MANUAL + private static native void nPlotBars(String labelId, double[] values, int count, double width, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + ImPlot::PlotBars(labelId, &values[0], count, width, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotStems(String labelId, double[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + private static native void nPlotBars(String labelId, double[] values, int count, double width, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + ImPlot::PlotBars(labelId, &values[0], count, width, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ @@ -5993,2089 +5625,8244 @@ public static void plotStems(final String labelId, final double[] values, final // xs,ys /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final short[] xs, final short[] ys) { - nPlotStems(labelId, xs, ys); + public static void plotBars(final String labelId, final short[] xs, final short[] ys, final double width) { + nPlotBars(labelId, xs, ys, width); } - /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final short[] xs, final short[] ys, final double yRef) { - nPlotStems(labelId, xs, ys, yRef); - } + private static native void nPlotBars(String labelId, short[] xs, short[] ys, double width); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final short[] xs, final short[] ys, final double yRef, final int offset) { - nPlotStems(labelId, xs, ys, yRef, offset); + public static void plotBars(final String labelId, final int[] xs, final int[] ys, final double width) { + nPlotBars(labelId, xs, ys, width); } - private static native void nPlotStems(String labelId, short[] xs, short[] ys); /*MANUAL + private static native void nPlotBars(String labelId, int[] xs, int[] ys, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, short[] xs, short[] ys, double yRef); /*MANUAL + /** + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final long[] xs, final long[] ys, final double width) { + nPlotBars(labelId, xs, ys, width); + } + + private static native void nPlotBars(String labelId, long[] xs, long[] ys, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, short[] xs, short[] ys, double yRef, int offset); /*MANUAL + /** + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final float[] xs, final float[] ys, final double width) { + nPlotBars(labelId, xs, ys, width); + } + + private static native void nPlotBars(String labelId, float[] xs, float[] ys, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final int[] xs, final int[] ys) { - nPlotStems(labelId, xs, ys); + public static void plotBars(final String labelId, final double[] xs, final double[] ys, final double width) { + nPlotBars(labelId, xs, ys, width); } + private static native void nPlotBars(String labelId, double[] xs, double[] ys, double width); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], LEN(xs), width); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final int[] xs, final int[] ys, final double yRef) { - nPlotStems(labelId, xs, ys, yRef); + public static void plotBars(final String labelId, final short[] xs, final short[] ys, final int count, final double width) { + nPlotBars(labelId, xs, ys, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final int[] xs, final int[] ys, final double yRef, final int offset) { - nPlotStems(labelId, xs, ys, yRef, offset); + public static void plotBars(final String labelId, final short[] xs, final short[] ys, final int count, final double width, final int offset) { + nPlotBars(labelId, xs, ys, count, width, offset); } - private static native void nPlotStems(String labelId, int[] xs, int[] ys); /*MANUAL + private static native void nPlotBars(String labelId, short[] xs, short[] ys, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, int[] xs, int[] ys, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, short[] xs, short[] ys, int count, double width, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final int[] xs, final int[] ys, final int count, final double width) { + nPlotBars(labelId, xs, ys, count, width); + } + + /** + * Plots a vertical bar graph. #width and #shift are in X units. + */ + public static void plotBars(final String labelId, final int[] xs, final int[] ys, final int count, final double width, final int offset) { + nPlotBars(labelId, xs, ys, count, width, offset); + } + + private static native void nPlotBars(String labelId, int[] xs, int[] ys, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, int[] xs, int[] ys, double yRef, int offset); /*MANUAL + private static native void nPlotBars(String labelId, int[] xs, int[] ys, int count, double width, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final long[] xs, final long[] ys) { - nPlotStems(labelId, xs, ys); - } - - /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final long[] xs, final long[] ys, final double yRef) { - nPlotStems(labelId, xs, ys, yRef); + public static void plotBars(final String labelId, final long[] xs, final long[] ys, final int count, final double width) { + nPlotBars(labelId, xs, ys, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final long[] xs, final long[] ys, final double yRef, final int offset) { - nPlotStems(labelId, xs, ys, yRef, offset); + public static void plotBars(final String labelId, final long[] xs, final long[] ys, final int count, final double width, final int offset) { + nPlotBars(labelId, xs, ys, count, width, offset); } - private static native void nPlotStems(String labelId, long[] xs, long[] ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotStems(String labelId, long[] xs, long[] ys, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, long[] xs, long[] ys, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, long[] xs, long[] ys, double yRef, int offset); /*MANUAL + private static native void nPlotBars(String labelId, long[] xs, long[] ys, int count, double width, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final float[] xs, final float[] ys) { - nPlotStems(labelId, xs, ys); - } - - /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final float[] xs, final float[] ys, final double yRef) { - nPlotStems(labelId, xs, ys, yRef); + public static void plotBars(final String labelId, final float[] xs, final float[] ys, final int count, final double width) { + nPlotBars(labelId, xs, ys, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final float[] xs, final float[] ys, final double yRef, final int offset) { - nPlotStems(labelId, xs, ys, yRef, offset); + public static void plotBars(final String labelId, final float[] xs, final float[] ys, final int count, final double width, final int offset) { + nPlotBars(labelId, xs, ys, count, width, offset); } - private static native void nPlotStems(String labelId, float[] xs, float[] ys); /*MANUAL + private static native void nPlotBars(String labelId, float[] xs, float[] ys, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, float[] xs, float[] ys, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, float[] xs, float[] ys, int count, double width, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, float[] xs, float[] ys, double yRef, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - /** - * Plots vertical stems. - */ - public static void plotStems(final String labelId, final double[] xs, final double[] ys) { - nPlotStems(labelId, xs, ys); - } - /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final double[] xs, final double[] ys, final double yRef) { - nPlotStems(labelId, xs, ys, yRef); + public static void plotBars(final String labelId, final double[] xs, final double[] ys, final int count, final double width) { + nPlotBars(labelId, xs, ys, count, width); } /** - * Plots vertical stems. + * Plots a vertical bar graph. #width and #shift are in X units. */ - public static void plotStems(final String labelId, final double[] xs, final double[] ys, final double yRef, final int offset) { - nPlotStems(labelId, xs, ys, yRef, offset); + public static void plotBars(final String labelId, final double[] xs, final double[] ys, final int count, final double width, final int offset) { + nPlotBars(labelId, xs, ys, count, width, offset); } - private static native void nPlotStems(String labelId, double[] xs, double[] ys); /*MANUAL + private static native void nPlotBars(String labelId, double[] xs, double[] ys, int count, double width); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, double[] xs, double[] ys, double yRef); /*MANUAL + private static native void nPlotBars(String labelId, double[] xs, double[] ys, int count, double width, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + ImPlot::PlotBars(labelId, &xs[0], &ys[0], count, width, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotStems(String labelId, double[] xs, double[] ys, double yRef, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ + // values /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final short[] xs) { - nPlotVLines(labelId, xs); + public static void plotBarsH(final String labelId, final short[] values) { + nPlotBarsH(labelId, values); } /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final short[] xs, final int offset) { - nPlotVLines(labelId, xs, offset); + public static void plotBarsH(final String labelId, final short[] values, final double height) { + nPlotBarsH(labelId, values, height); } - private static native void nPlotVLines(String labelId, short[] xs); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - */ - - private static native void nPlotVLines(String labelId, short[] xs, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - */ - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final int[] xs) { - nPlotVLines(labelId, xs); + public static void plotBarsH(final String labelId, final short[] values, final double height, final double shift) { + nPlotBarsH(labelId, values, height, shift); } /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final int[] xs, final int offset) { - nPlotVLines(labelId, xs, offset); + public static void plotBarsH(final String labelId, final short[] values, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, height, shift, offset); } - private static native void nPlotVLines(String labelId, int[] xs); /*MANUAL + private static native void nPlotBarsH(String labelId, short[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotVLines(String labelId, int[] xs, int offset); /*MANUAL + private static native void nPlotBarsH(String labelId, short[] values, double height); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - public static void plotVLines(final String labelId, final long[] xs) { - nPlotVLines(labelId, xs); - } - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - public static void plotVLines(final String labelId, final long[] xs, final int offset) { - nPlotVLines(labelId, xs, offset); - } - - private static native void nPlotVLines(String labelId, long[] xs); /*MANUAL + private static native void nPlotBarsH(String labelId, short[] values, double height, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotVLines(String labelId, long[] xs, int offset); /*MANUAL + private static native void nPlotBarsH(String labelId, short[] values, double height, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final float[] xs) { - nPlotVLines(labelId, xs); + public static void plotBarsH(final String labelId, final int[] values) { + nPlotBarsH(labelId, values); } /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final float[] xs, final int offset) { - nPlotVLines(labelId, xs, offset); + public static void plotBarsH(final String labelId, final int[] values, final double height) { + nPlotBarsH(labelId, values, height); } - private static native void nPlotVLines(String labelId, float[] xs); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - */ - - private static native void nPlotVLines(String labelId, float[] xs, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - */ - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final double[] xs) { - nPlotVLines(labelId, xs); + public static void plotBarsH(final String labelId, final int[] values, final double height, final double shift) { + nPlotBarsH(labelId, values, height, shift); } /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotVLines(final String labelId, final double[] xs, final int offset) { - nPlotVLines(labelId, xs, offset); + public static void plotBarsH(final String labelId, final int[] values, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, height, shift, offset); } - private static native void nPlotVLines(String labelId, double[] xs); /*MANUAL + private static native void nPlotBarsH(String labelId, int[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotVLines(String labelId, double[] xs, int offset); /*MANUAL + private static native void nPlotBarsH(String labelId, int[] values, double height); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - ImPlot::PlotVLines(labelId, &xs[0], LEN(xs), offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - public static void plotHLines(final String labelId, final short[] ys) { - nPlotHLines(labelId, ys); - } - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - public static void plotHLines(final String labelId, final short[] ys, final int offset) { - nPlotHLines(labelId, ys, offset); - } - - private static native void nPlotHLines(String labelId, short[] ys); /*MANUAL + private static native void nPlotBarsH(String labelId, int[] values, double height, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotHLines(String labelId, short[] ys, int offset); /*MANUAL + private static native void nPlotBarsH(String labelId, int[] values, double height, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys), offset); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotHLines(final String labelId, final int[] ys) { - nPlotHLines(labelId, ys); + public static void plotBarsH(final String labelId, final long[] values) { + nPlotBarsH(labelId, values); } /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotHLines(final String labelId, final int[] ys, final int offset) { - nPlotHLines(labelId, ys, offset); + public static void plotBarsH(final String labelId, final long[] values, final double height) { + nPlotBarsH(labelId, values, height); } - private static native void nPlotHLines(String labelId, int[] ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - - private static native void nPlotHLines(String labelId, int[] ys, int offset); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys), offset); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - */ - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotHLines(final String labelId, final long[] ys) { - nPlotHLines(labelId, ys); + public static void plotBarsH(final String labelId, final long[] values, final double height, final double shift) { + nPlotBarsH(labelId, values, height, shift); } /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotHLines(final String labelId, final long[] ys, final int offset) { - nPlotHLines(labelId, ys, offset); + public static void plotBarsH(final String labelId, final long[] values, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, height, shift, offset); } - private static native void nPlotHLines(String labelId, long[] ys); /*MANUAL + private static native void nPlotBarsH(String labelId, long[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotHLines(String labelId, long[] ys, int offset); /*MANUAL + private static native void nPlotBarsH(String labelId, long[] values, double height); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys), offset); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - public static void plotHLines(final String labelId, final float[] ys) { - nPlotHLines(labelId, ys); - } - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - public static void plotHLines(final String labelId, final float[] ys, final int offset) { - nPlotHLines(labelId, ys, offset); - } - - private static native void nPlotHLines(String labelId, float[] ys); /*MANUAL + private static native void nPlotBarsH(String labelId, long[] values, double height, double shift); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotHLines(String labelId, float[] ys, int offset); /*MANUAL + private static native void nPlotBarsH(String labelId, long[] values, double height, double shift, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys), offset); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotHLines(final String labelId, final double[] ys) { - nPlotHLines(labelId, ys); + public static void plotBarsH(final String labelId, final float[] values) { + nPlotBarsH(labelId, values); } /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotHLines(final String labelId, final double[] ys, final int offset) { - nPlotHLines(labelId, ys, offset); + public static void plotBarsH(final String labelId, final float[] values, final double height) { + nPlotBarsH(labelId, values, height); } - private static native void nPlotHLines(String labelId, double[] ys); /*MANUAL + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final float[] values, final double height, final double shift) { + nPlotBarsH(labelId, values, height, shift); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final float[] values, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, height, shift, offset); + } + + private static native void nPlotBarsH(String labelId, float[] values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotHLines(String labelId, double[] ys, int offset); /*MANUAL + private static native void nPlotBarsH(String labelId, float[] values, double height); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotHLines(labelId, &ys[0], LEN(ys), offset); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, float[] values, double height, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, float[] values, double height, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + public static void plotBarsH(final String labelId, final double[] values) { + nPlotBarsH(labelId, values); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + public static void plotBarsH(final String labelId, final double[] values, final double height) { + nPlotBarsH(labelId, values, height); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + public static void plotBarsH(final String labelId, final double[] values, final double height, final double shift) { + nPlotBarsH(labelId, values, height, shift); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + public static void plotBarsH(final String labelId, final double[] values, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, height, shift, offset); } + private static native void nPlotBarsH(String labelId, double[] values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, double[] values, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, double[] values, double height, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, double[] values, double height, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], LEN(values), height, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + public static void plotBarsH(final String labelId, final short[] values, final int count) { + nPlotBarsH(labelId, values, count); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + public static void plotBarsH(final String labelId, final short[] values, final int count, final double height) { + nPlotBarsH(labelId, values, count, height); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + public static void plotBarsH(final String labelId, final short[] values, final int count, final double height, final double shift) { + nPlotBarsH(labelId, values, count, height, shift); } - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ - - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); - */ + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final short[] values, final int count, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, count, height, shift, offset); + } - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, short[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, short[] values, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, short[] values, int count, double height, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, short[] values, int count, double height, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + public static void plotBarsH(final String labelId, final int[] values, final int count) { + nPlotBarsH(labelId, values, count); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + public static void plotBarsH(final String labelId, final int[] values, final int count, final double height) { + nPlotBarsH(labelId, values, count, height); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + public static void plotBarsH(final String labelId, final int[] values, final int count, final double height, final double shift) { + nPlotBarsH(labelId, values, count, height, shift); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + public static void plotBarsH(final String labelId, final int[] values, final int count, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, count, height, shift, offset); } - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); - } - - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); - } - - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); - } - - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, int[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, int[] values, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, int[] values, int count, double height, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; + private static native void nPlotBarsH(String labelId, int[] values, int count, double height, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] values, final int count) { + nPlotBarsH(labelId, values, count); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] values, final int count, final double height) { + nPlotBarsH(labelId, values, count, height); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] values, final int count, final double height, final double shift) { + nPlotBarsH(labelId, values, count, height, shift); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] values, final int count, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, count, height, shift, offset); + } + + private static native void nPlotBarsH(String labelId, long[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native void nPlotBarsH(String labelId, long[] values, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native void nPlotBarsH(String labelId, long[] values, int count, double height, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, long[] values, int count, double height, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + public static void plotBarsH(final String labelId, final float[] values, final int count) { + nPlotBarsH(labelId, values, count); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + public static void plotBarsH(final String labelId, final float[] values, final int count, final double height) { + nPlotBarsH(labelId, values, count, height); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + public static void plotBarsH(final String labelId, final float[] values, final int count, final double height, final double shift) { + nPlotBarsH(labelId, values, count, height, shift); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + public static void plotBarsH(final String labelId, final float[] values, final int count, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, count, height, shift, offset); + } + + private static native void nPlotBarsH(String labelId, float[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, float[] values, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, float[] values, int count, double height, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, float[] values, int count, double height, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final double[] values, final int count) { + nPlotBarsH(labelId, values, count); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + public static void plotBarsH(final String labelId, final double[] values, final int count, final double height) { + nPlotBarsH(labelId, values, count, height); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + public static void plotBarsH(final String labelId, final double[] values, final int count, final double height, final double shift) { + nPlotBarsH(labelId, values, count, height, shift); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + public static void plotBarsH(final String labelId, final double[] values, final int count, final double height, final double shift, final int offset) { + nPlotBarsH(labelId, values, count, height, shift, offset); } - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native void nPlotBarsH(String labelId, double[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native void nPlotBarsH(String labelId, double[] values, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native void nPlotBarsH(String labelId, double[] values, int count, double height, double shift); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native void nPlotBarsH(String labelId, double[] values, int count, double height, double shift, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &values[0], count, height, shift, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); - */ + // xs,ys - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final short[] xs, final short[] ys, final double height) { + nPlotBarsH(labelId, xs, ys, height); + } + + private static native void nPlotBarsH(String labelId, short[] xs, short[] ys, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final int[] xs, final int[] ys, final double height) { + nPlotBarsH(labelId, xs, ys, height); + } + + private static native void nPlotBarsH(String labelId, int[] xs, int[] ys, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + public static void plotBarsH(final String labelId, final long[] xs, final long[] ys, final double height) { + nPlotBarsH(labelId, xs, ys, height); } + private static native void nPlotBarsH(String labelId, long[] xs, long[] ys, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + public static void plotBarsH(final String labelId, final float[] xs, final float[] ys, final double height) { + nPlotBarsH(labelId, xs, ys, height); } + private static native void nPlotBarsH(String labelId, float[] xs, float[] ys, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + public static void plotBarsH(final String labelId, final double[] xs, final double[] ys, final double height) { + nPlotBarsH(labelId, xs, ys, height); } + private static native void nPlotBarsH(String labelId, double[] xs, double[] ys, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + public static void plotBarsH(final String labelId, final short[] xs, final short[] ys, final int count, final double height) { + nPlotBarsH(labelId, xs, ys, count, height); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + public static void plotBarsH(final String labelId, final short[] xs, final short[] ys, final int count, final double height, final int offset) { + nPlotBarsH(labelId, xs, ys, count, height, offset); } + private static native void nPlotBarsH(String labelId, short[] xs, short[] ys, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, short[] xs, short[] ys, int count, double height, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + public static void plotBarsH(final String labelId, final int[] xs, final int[] ys, final int count, final double height) { + nPlotBarsH(labelId, xs, ys, count, height); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ - public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + public static void plotBarsH(final String labelId, final int[] xs, final int[] ys, final int count, final double height, final int offset) { + nPlotBarsH(labelId, xs, ys, count, height, offset); } - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + private static native void nPlotBarsH(String labelId, int[] xs, int[] ys, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + private static native void nPlotBarsH(String labelId, int[] xs, int[] ys, int count, double height, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] xs, final long[] ys, final int count, final double height) { + nPlotBarsH(labelId, xs, ys, count, height); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] xs, final long[] ys, final int count, final double height, final int offset) { + nPlotBarsH(labelId, xs, ys, count, height, offset); + } + + private static native void nPlotBarsH(String labelId, long[] xs, long[] ys, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { + private static native void nPlotBarsH(String labelId, long[] xs, long[] ys, int count, double height, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final float[] xs, final float[] ys, final int count, final double height) { + nPlotBarsH(labelId, xs, ys, count, height); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final float[] xs, final float[] ys, final int count, final double height, final int offset) { + nPlotBarsH(labelId, xs, ys, count, height, offset); + } + + private static native void nPlotBarsH(String labelId, float[] xs, float[] ys, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, float[] xs, float[] ys, int count, double height, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final double[] xs, final double[] ys, final int count, final double height) { + nPlotBarsH(labelId, xs, ys, count, height); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final double[] xs, final double[] ys, final int count, final double height, final int offset) { + nPlotBarsH(labelId, xs, ys, count, height, offset); + } + + private static native void nPlotBarsH(String labelId, double[] xs, double[] ys, int count, double height); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, double[] xs, double[] ys, int count, double height, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], count, height, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final short[] xs, final short[] ys) { + nPlotBarsH(labelId, xs, ys); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final short[] xs, final short[] ys, final int offset) { + nPlotBarsH(labelId, xs, ys, offset); + } + + private static native void nPlotBarsH(String labelId, short[] xs, short[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, short[] xs, short[] ys, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final int[] xs, final int[] ys) { + nPlotBarsH(labelId, xs, ys); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final int[] xs, final int[] ys, final int offset) { + nPlotBarsH(labelId, xs, ys, offset); + } + + private static native void nPlotBarsH(String labelId, int[] xs, int[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, int[] xs, int[] ys, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] xs, final long[] ys) { + nPlotBarsH(labelId, xs, ys); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final long[] xs, final long[] ys, final int offset) { + nPlotBarsH(labelId, xs, ys, offset); + } + + private static native void nPlotBarsH(String labelId, long[] xs, long[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, long[] xs, long[] ys, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final float[] xs, final float[] ys) { + nPlotBarsH(labelId, xs, ys); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final float[] xs, final float[] ys, final int offset) { + nPlotBarsH(labelId, xs, ys, offset); + } + + private static native void nPlotBarsH(String labelId, float[] xs, float[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, float[] xs, float[] ys, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final double[] xs, final double[] ys) { + nPlotBarsH(labelId, xs, ys); + } + + /** + * Plots a horizontal bar graph. #height and #shift are in Y units. + */ + public static void plotBarsH(final String labelId, final double[] xs, final double[] ys, final int offset) { + nPlotBarsH(labelId, xs, ys, offset); + } + + private static native void nPlotBarsH(String labelId, double[] xs, double[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotBarsH(String labelId, double[] xs, double[] ys, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotBarsH(labelId, &xs[0], &ys[0], LEN(xs), 0.67, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] err) { + nPlotErrorBars(labelId, xs, ys, err); + } + + private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] err) { + nPlotErrorBars(labelId, xs, ys, err); + } + + private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] err) { + nPlotErrorBars(labelId, xs, ys, err); + } + + private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] err) { + nPlotErrorBars(labelId, xs, ys, err); + } + + private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] err) { + nPlotErrorBars(labelId, xs, ys, err); + } + + private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] err, final int count) { + nPlotErrorBars(labelId, xs, ys, err, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] err, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] err, final int count) { + nPlotErrorBars(labelId, xs, ys, err, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] err, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] err, final int count) { + nPlotErrorBars(labelId, xs, ys, err, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] err, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] err, final int count) { + nPlotErrorBars(labelId, xs, ys, err, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] err, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] err, final int count) { + nPlotErrorBars(labelId, xs, ys, err, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] err, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos) { + nPlotErrorBars(labelId, xs, ys, neg, pos); + } + + private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] neg, short[] pos); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos) { + nPlotErrorBars(labelId, xs, ys, neg, pos); + } + + private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] neg, int[] pos); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos) { + nPlotErrorBars(labelId, xs, ys, neg, pos); + } + + private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] neg, long[] pos); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos) { + nPlotErrorBars(labelId, xs, ys, neg, pos); + } + + private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] neg, float[] pos); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos) { + nPlotErrorBars(labelId, xs, ys, neg, pos); + } + + private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] neg, double[] pos); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos, final int count) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos, final int count) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos, final int count) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos, final int count) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos, final int count) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBars(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos, final int count, final int offset) { + nPlotErrorBars(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBars(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBars(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] err) { + nPlotErrorBarsH(labelId, xs, ys, err); + } + + private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] err) { + nPlotErrorBarsH(labelId, xs, ys, err); + } + + private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] err) { + nPlotErrorBarsH(labelId, xs, ys, err); + } + + private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] err) { + nPlotErrorBarsH(labelId, xs, ys, err); + } + + private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] err) { + nPlotErrorBarsH(labelId, xs, ys, err); + } + + private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] err); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] err, final int count) { + nPlotErrorBarsH(labelId, xs, ys, err, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] err, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] err, final int count) { + nPlotErrorBarsH(labelId, xs, ys, err, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] err, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] err, final int count) { + nPlotErrorBarsH(labelId, xs, ys, err, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] err, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] err, final int count) { + nPlotErrorBarsH(labelId, xs, ys, err, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] err, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] err, final int count) { + nPlotErrorBarsH(labelId, xs, ys, err, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] err, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, err, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] err, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] err, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto err = obj_err == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_err, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &err[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (err != NULL) env->ReleasePrimitiveArrayCritical(obj_err, err, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos, final int count) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final short[] xs, final short[] ys, final short[] neg, final short[] pos, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos, final int count) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final int[] xs, final int[] ys, final int[] neg, final int[] pos, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos, final int count) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final long[] xs, final long[] ys, final long[] neg, final long[] pos, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos, final int count) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final float[] xs, final float[] ys, final float[] neg, final float[] pos, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos, final int count) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count); + } + + /** + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. + */ + public static void plotErrorBarsH(final String labelId, final double[] xs, final double[] ys, final double[] neg, final double[] pos, final int count, final int offset) { + nPlotErrorBarsH(labelId, xs, ys, neg, pos, count, offset); + } + + private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + private static native void nPlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto neg = obj_neg == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_neg, JNI_FALSE); + auto pos = obj_pos == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_pos, JNI_FALSE); + ImPlot::PlotErrorBarsH(labelId, &xs[0], &ys[0], &neg[0], &pos[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + if (neg != NULL) env->ReleasePrimitiveArrayCritical(obj_neg, neg, JNI_FALSE); + if (pos != NULL) env->ReleasePrimitiveArrayCritical(obj_pos, pos, JNI_FALSE); + */ + + // values + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values) { + nPlotStems(labelId, values); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final double yRef) { + nPlotStems(labelId, values, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final double yRef, final double xscale) { + nPlotStems(labelId, values, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, short[] values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values) { + nPlotStems(labelId, values); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final double yRef) { + nPlotStems(labelId, values, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final double yRef, final double xscale) { + nPlotStems(labelId, values, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, int[] values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values) { + nPlotStems(labelId, values); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final double yRef) { + nPlotStems(labelId, values, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final double yRef, final double xscale) { + nPlotStems(labelId, values, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, long[] values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values) { + nPlotStems(labelId, values); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final double yRef) { + nPlotStems(labelId, values, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final double yRef, final double xscale) { + nPlotStems(labelId, values, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, float[] values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values) { + nPlotStems(labelId, values); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final double yRef) { + nPlotStems(labelId, values, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final double yRef, final double xscale) { + nPlotStems(labelId, values, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, double[] values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], LEN(values), yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final int count) { + nPlotStems(labelId, values, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final int count, final double yRef) { + nPlotStems(labelId, values, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final int count, final double yRef, final double xscale) { + nPlotStems(labelId, values, count, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, count, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, count, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, short[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, int count, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final int count) { + nPlotStems(labelId, values, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final int count, final double yRef) { + nPlotStems(labelId, values, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final int count, final double yRef, final double xscale) { + nPlotStems(labelId, values, count, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, count, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, count, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, int[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, int count, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final int count) { + nPlotStems(labelId, values, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final int count, final double yRef) { + nPlotStems(labelId, values, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final int count, final double yRef, final double xscale) { + nPlotStems(labelId, values, count, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, count, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, count, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, long[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, int count, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final int count) { + nPlotStems(labelId, values, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final int count, final double yRef) { + nPlotStems(labelId, values, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final int count, final double yRef, final double xscale) { + nPlotStems(labelId, values, count, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, count, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, count, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, float[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, int count, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final int count) { + nPlotStems(labelId, values, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final int count, final double yRef) { + nPlotStems(labelId, values, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final int count, final double yRef, final double xscale) { + nPlotStems(labelId, values, count, yRef, xscale); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final int count, final double yRef, final double xscale, final double x0) { + nPlotStems(labelId, values, count, yRef, xscale, x0); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] values, final int count, final double yRef, final double xscale, final double x0, final int offset) { + nPlotStems(labelId, values, count, yRef, xscale, x0, offset); + } + + private static native void nPlotStems(String labelId, double[] values, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, int count, double yRef, double xscale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, int count, double yRef, double xscale, double x0); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] values, int count, double yRef, double xscale, double x0, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotStems(labelId, &values[0], count, yRef, xscale, x0, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + // xs,ys + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] xs, final short[] ys) { + nPlotStems(labelId, xs, ys); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] xs, final short[] ys, final double yRef) { + nPlotStems(labelId, xs, ys, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] xs, final short[] ys, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, yRef, offset); + } + + private static native void nPlotStems(String labelId, short[] xs, short[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] xs, short[] ys, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] xs, short[] ys, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] xs, final int[] ys) { + nPlotStems(labelId, xs, ys); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] xs, final int[] ys, final double yRef) { + nPlotStems(labelId, xs, ys, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] xs, final int[] ys, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, yRef, offset); + } + + private static native void nPlotStems(String labelId, int[] xs, int[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] xs, int[] ys, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] xs, int[] ys, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] xs, final long[] ys) { + nPlotStems(labelId, xs, ys); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] xs, final long[] ys, final double yRef) { + nPlotStems(labelId, xs, ys, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] xs, final long[] ys, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, yRef, offset); + } + + private static native void nPlotStems(String labelId, long[] xs, long[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] xs, long[] ys, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] xs, long[] ys, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] xs, final float[] ys) { + nPlotStems(labelId, xs, ys); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] xs, final float[] ys, final double yRef) { + nPlotStems(labelId, xs, ys, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] xs, final float[] ys, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, yRef, offset); + } + + private static native void nPlotStems(String labelId, float[] xs, float[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] xs, float[] ys, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] xs, float[] ys, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] xs, final double[] ys) { + nPlotStems(labelId, xs, ys); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] xs, final double[] ys, final double yRef) { + nPlotStems(labelId, xs, ys, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] xs, final double[] ys, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, yRef, offset); + } + + private static native void nPlotStems(String labelId, double[] xs, double[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] xs, double[] ys, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] xs, double[] ys, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], LEN(xs), yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] xs, final short[] ys, final int count) { + nPlotStems(labelId, xs, ys, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] xs, final short[] ys, final int count, final double yRef) { + nPlotStems(labelId, xs, ys, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final short[] xs, final short[] ys, final int count, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotStems(String labelId, short[] xs, short[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] xs, short[] ys, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, short[] xs, short[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] xs, final int[] ys, final int count) { + nPlotStems(labelId, xs, ys, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] xs, final int[] ys, final int count, final double yRef) { + nPlotStems(labelId, xs, ys, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final int[] xs, final int[] ys, final int count, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotStems(String labelId, int[] xs, int[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] xs, int[] ys, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, int[] xs, int[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] xs, final long[] ys, final int count) { + nPlotStems(labelId, xs, ys, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] xs, final long[] ys, final int count, final double yRef) { + nPlotStems(labelId, xs, ys, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final long[] xs, final long[] ys, final int count, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotStems(String labelId, long[] xs, long[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] xs, long[] ys, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, long[] xs, long[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] xs, final float[] ys, final int count) { + nPlotStems(labelId, xs, ys, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] xs, final float[] ys, final int count, final double yRef) { + nPlotStems(labelId, xs, ys, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final float[] xs, final float[] ys, final int count, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotStems(String labelId, float[] xs, float[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] xs, float[] ys, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, float[] xs, float[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] xs, final double[] ys, final int count) { + nPlotStems(labelId, xs, ys, count); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] xs, final double[] ys, final int count, final double yRef) { + nPlotStems(labelId, xs, ys, count, yRef); + } + + /** + * Plots vertical stems. + */ + public static void plotStems(final String labelId, final double[] xs, final double[] ys, final int count, final double yRef, final int offset) { + nPlotStems(labelId, xs, ys, count, yRef, offset); + } + + private static native void nPlotStems(String labelId, double[] xs, double[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] xs, double[] ys, int count, double yRef); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotStems(String labelId, double[] xs, double[] ys, int count, double yRef, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotStems(labelId, &xs[0], &ys[0], count, yRef, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final short[] xs) { + nPlotVLines(labelId, xs); + } + + private static native void nPlotVLines(String labelId, short[] xs); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final int[] xs) { + nPlotVLines(labelId, xs); + } + + private static native void nPlotVLines(String labelId, int[] xs); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final long[] xs) { + nPlotVLines(labelId, xs); + } + + private static native void nPlotVLines(String labelId, long[] xs); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final float[] xs) { + nPlotVLines(labelId, xs); + } + + private static native void nPlotVLines(String labelId, float[] xs); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final double[] xs) { + nPlotVLines(labelId, xs); + } + + private static native void nPlotVLines(String labelId, double[] xs); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final short[] xs, final int count) { + nPlotVLines(labelId, xs, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final short[] xs, final int count, final int offset) { + nPlotVLines(labelId, xs, count, offset); + } + + private static native void nPlotVLines(String labelId, short[] xs, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + private static native void nPlotVLines(String labelId, short[] xs, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final int[] xs, final int count) { + nPlotVLines(labelId, xs, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final int[] xs, final int count, final int offset) { + nPlotVLines(labelId, xs, count, offset); + } + + private static native void nPlotVLines(String labelId, int[] xs, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + private static native void nPlotVLines(String labelId, int[] xs, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final long[] xs, final int count) { + nPlotVLines(labelId, xs, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final long[] xs, final int count, final int offset) { + nPlotVLines(labelId, xs, count, offset); + } + + private static native void nPlotVLines(String labelId, long[] xs, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + private static native void nPlotVLines(String labelId, long[] xs, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final float[] xs, final int count) { + nPlotVLines(labelId, xs, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final float[] xs, final int count, final int offset) { + nPlotVLines(labelId, xs, count, offset); + } + + private static native void nPlotVLines(String labelId, float[] xs, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + private static native void nPlotVLines(String labelId, float[] xs, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final double[] xs, final int count) { + nPlotVLines(labelId, xs, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotVLines(final String labelId, final double[] xs, final int count, final int offset) { + nPlotVLines(labelId, xs, count, offset); + } + + private static native void nPlotVLines(String labelId, double[] xs, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + private static native void nPlotVLines(String labelId, double[] xs, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + ImPlot::PlotVLines(labelId, &xs[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final short[] ys) { + nPlotHLines(labelId, ys); + } + + private static native void nPlotHLines(String labelId, short[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final int[] ys) { + nPlotHLines(labelId, ys); + } + + private static native void nPlotHLines(String labelId, int[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final long[] ys) { + nPlotHLines(labelId, ys); + } + + private static native void nPlotHLines(String labelId, long[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final float[] ys) { + nPlotHLines(labelId, ys); + } + + private static native void nPlotHLines(String labelId, float[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final double[] ys) { + nPlotHLines(labelId, ys); + } + + private static native void nPlotHLines(String labelId, double[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], LEN(ys)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final short[] ys, final int count) { + nPlotHLines(labelId, ys, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final short[] ys, final int count, final int offset) { + nPlotHLines(labelId, ys, count, offset); + } + + private static native void nPlotHLines(String labelId, short[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotHLines(String labelId, short[] ys, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final int[] ys, final int count) { + nPlotHLines(labelId, ys, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final int[] ys, final int count, final int offset) { + nPlotHLines(labelId, ys, count, offset); + } + + private static native void nPlotHLines(String labelId, int[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotHLines(String labelId, int[] ys, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final long[] ys, final int count) { + nPlotHLines(labelId, ys, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final long[] ys, final int count, final int offset) { + nPlotHLines(labelId, ys, count, offset); + } + + private static native void nPlotHLines(String labelId, long[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotHLines(String labelId, long[] ys, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final float[] ys, final int count) { + nPlotHLines(labelId, ys, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final float[] ys, final int count, final int offset) { + nPlotHLines(labelId, ys, count, offset); + } + + private static native void nPlotHLines(String labelId, float[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotHLines(String labelId, float[] ys, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final double[] ys, final int count) { + nPlotHLines(labelId, ys, count); + } + + /** + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). + */ + public static void plotHLines(final String labelId, final double[] ys, final int count, final int offset) { + nPlotHLines(labelId, ys, count, offset); + } + + private static native void nPlotHLines(String labelId, double[] ys, int count); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + private static native void nPlotHLines(String labelId, double[] ys, int count, int offset); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotHLines(labelId, &ys[0], count, offset); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final int count, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final int count, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final int count, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final int count, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final short[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, int count, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, int count, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, int count, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, int count, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, short[] values, int count, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final int count, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final int count, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final int count, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final int count, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final int[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, int count, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, int count, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, int count, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, int count, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, int[] values, int count, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final int count, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final int count, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final int count, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final int count, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final long[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, int count, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, int count, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, int count, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, int count, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, long[] values, int count, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final int count, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final int count, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final int count, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final int count, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final float[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, int count, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, int count, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, int count, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, int count, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, int count, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final int count, final double x, final double y, final double radius) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final int count, final double x, final double y, final double radius, final boolean normalize) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final int count, final double x, final double y, final double radius, final String labelFmt, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, labelFmt, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final int count, final double x, final double y, final double radius, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, angle0); + } + + /** + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + */ + public static void plotPieChart(final String[] labelIds, final double[] values, final int count, final double x, final double y, final double radius, final boolean normalize, final double angle0) { + nPlotPieChart(labelIds, labelIds.length, values, count, x, y, radius, normalize, angle0); + } + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, int count, double x, double y, double radius); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, int count, double x, double y, double radius, boolean normalize); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, int count, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, int count, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, labelFmt, angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, int count, double x, double y, double radius, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); + labelIds[i] = rawStr; + }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, false, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, int count, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL + const char* labelIds[labelIdsCount]; + for (int i = 0; i < labelIdsCount; i++) { const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); labelIds[i] = rawStr; }; + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotPieChart(labelIds, &values[0], count, x, y, radius, normalize, "%.1f", angle0); + for (int i = 0; i < labelIdsCount; i++) { + const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); + env->ReleaseStringUTFChars(str, labelIds[i]); + }; + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols) { + nPlotHeatmap(labelId, values, rows, cols); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols) { + nPlotHeatmap(labelId, values, rows, cols); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols) { + nPlotHeatmap(labelId, values, rows, cols); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols) { + nPlotHeatmap(labelId, values, rows, cols); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols) { + nPlotHeatmap(labelId, values, rows, cols); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + } + + /** + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + */ + public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { + nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + } + + private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + */ + + private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + */ + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values) { + return nPlotHistogram(labelId, values); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins) { + return nPlotHistogram(labelId, values, bins); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, bins, cumulative); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, bins, cumulative, density); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + } + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values) { + return nPlotHistogram(labelId, values); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins) { + return nPlotHistogram(labelId, values, bins); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, bins, cumulative); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, bins, cumulative, density); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + } + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, float[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values) { + return nPlotHistogram(labelId, values); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins) { + return nPlotHistogram(labelId, values, bins); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, bins, cumulative); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, bins, cumulative, density); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius); + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize); + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt); + public static double plotHistogram(final String labelId, final long[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, labelFmt, angle0); + public static double plotHistogram(final String labelId, final long[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final String labelFmt, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, labelFmt, angle0); + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, angle0); + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); } /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotPieChart(final String[] labelIds, final double[] values, final double x, final double y, final double radius, final boolean normalize, final double angle0) { - nPlotPieChart(labelIds, labelIds.length, values, x, y, radius, normalize, angle0); + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); } - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + } + + private static native double nPlotHistogram(String obj_labelId, long[] obj_values); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize, String labelFmt); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, String labelFmt, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, labelFmt, angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, false, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final float[] values) { + return nPlotHistogram(labelId, values); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final float[] values, final int bins) { + return nPlotHistogram(labelId, values, bins); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, bins, cumulative); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, bins, cumulative, density); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + } - private static native void nPlotPieChart(String[] obj_labelIds, int labelIdsCount, double[] values, double x, double y, double radius, boolean normalize, double angle0); /*MANUAL - const char* labelIds[labelIdsCount]; - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - auto rawStr = (char*)env->GetStringUTFChars(str, JNI_FALSE); - labelIds[i] = rawStr; - }; - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotPieChart(labelIds, &values[0], LEN(values), x, y, radius, normalize, "%.1f", angle0); - for (int i = 0; i < labelIdsCount; i++) { - const jstring str = (jstring)env->GetObjectArrayElement(obj_labelIds, i); - env->ReleaseStringUTFChars(str, labelIds[i]); - }; - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols) { - nPlotHeatmap(labelId, values, rows, cols); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + public static double plotHistogram(final String labelId, final float[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + public static double plotHistogram(final String labelId, final float[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final short[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); } - private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); - */ + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final double[] values) { + return nPlotHistogram(labelId, values); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final double[] values, final int bins) { + return nPlotHistogram(labelId, values, bins); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, bins, cumulative); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, bins, cumulative, density); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + } - private static native void nPlotHeatmap(String labelId, short[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - */ + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols) { - nPlotHeatmap(labelId, values, rows, cols); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + public static double plotHistogram(final String labelId, final double[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + public static double plotHistogram(final String labelId, final double[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final int[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); } - private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, int[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols) { - nPlotHeatmap(labelId, values, rows, cols); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins) { + return nPlotHistogram(labelId, values, count, bins); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, count, bins, cumulative); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final long[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final short[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, barScale); } - private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, long[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols) { - nPlotHeatmap(labelId, values, rows, cols); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins) { + return nPlotHistogram(labelId, values, count, bins); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, count, bins, cumulative); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final float[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, outliers, barScale); } - private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols); /*MANUAL + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, barScale); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final int[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, barScale); + } + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, float[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), outliers, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols) { - nPlotHeatmap(labelId, values, rows, cols); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins) { + return nPlotHistogram(labelId, values, count, bins); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, count, bins, cumulative); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max); + } + + /** + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, outliers, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final String labelFmt, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, labelFmt, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final ImPlotPoint boundsMin, final ImPlotPoint boundsMax) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMin.x, boundsMin.y, boundsMax.x, boundsMax.y); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, barScale); } /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static void plotHeatmap(final String labelId, final double[] values, final int rows, final int cols, final double scaleMin, final double scaleMax, final double boundsMinX, final double boundsMinY, final double boundsMaxX, final double boundsMaxY) { - nPlotHeatmap(labelId, values, rows, cols, scaleMin, scaleMax, boundsMinX, boundsMinY, boundsMaxX, boundsMaxY); + public static double plotHistogram(final String labelId, final long[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, barScale); } - private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, String labelFmt, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto labelFmt = obj_labelFmt == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelFmt, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, labelFmt, ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - if (labelFmt != NULL) env->ReleaseStringUTFChars(obj_labelFmt, labelFmt); + return _result; */ - private static native void nPlotHeatmap(String labelId, double[] values, int rows, int cols, double scaleMin, double scaleMax, double boundsMinX, double boundsMinY, double boundsMaxX, double boundsMaxY); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - ImPlot::PlotHeatmap(labelId, &values[0], rows, cols, scaleMin, scaleMax, "%.1f", ImPlotPoint(boundsMinX, boundsMinY), ImPlotPoint(boundsMaxX, boundsMaxY)); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; */ - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final short[] values) { - return nPlotHistogram(labelId, values); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final short[] values, final int bins) { - return nPlotHistogram(labelId, values, bins); - } + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative) { - return nPlotHistogram(labelId, values, bins, cumulative); - } + private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + return _result; + */ /** * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density) { - return nPlotHistogram(labelId, values, bins, cumulative, density); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins) { + return nPlotHistogram(labelId, values, count, bins); } /** @@ -8083,8 +13870,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, count, bins, cumulative); } /** @@ -8092,8 +13879,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density); } /** @@ -8101,8 +13888,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max); } /** @@ -8110,8 +13897,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax); } /** @@ -8119,8 +13906,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers); } /** @@ -8128,8 +13915,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers); } /** @@ -8137,8 +13924,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** @@ -8146,8 +13933,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** @@ -8155,8 +13942,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, outliers, barScale); } /** @@ -8164,8 +13951,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, barScale); } /** @@ -8173,8 +13960,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, barScale); } /** @@ -8182,104 +13969,86 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final short[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + public static double plotHistogram(final String labelId, final float[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, barScale); } - private static native double nPlotHistogram(String obj_labelId, short[] obj_values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), true, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, short[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; @@ -8290,35 +14059,8 @@ public static double plotHistogram(final String labelId, final short[] values, f * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values) { - return nPlotHistogram(labelId, values); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final int[] values, final int bins) { - return nPlotHistogram(labelId, values, bins); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative) { - return nPlotHistogram(labelId, values, bins, cumulative); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density) { - return nPlotHistogram(labelId, values, bins, cumulative, density); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins) { + return nPlotHistogram(labelId, values, count, bins); } /** @@ -8326,8 +14068,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative) { + return nPlotHistogram(labelId, values, count, bins, cumulative); } /** @@ -8335,8 +14077,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density); } /** @@ -8344,8 +14086,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max); } /** @@ -8353,8 +14095,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax); } /** @@ -8362,8 +14104,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers); } /** @@ -8371,8 +14113,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers); } /** @@ -8380,8 +14122,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, outliers, barScale); } /** @@ -8389,17 +14131,17 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); } /** * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); + */ + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, outliers, barScale); } /** @@ -8407,8 +14149,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, barScale); } /** @@ -8416,8 +14158,8 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, range.min, range.max, barScale); } /** @@ -8425,835 +14167,836 @@ public static double plotHistogram(final String labelId, final int[] values, fin * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final int[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + public static double plotHistogram(final String labelId, final double[] values, final int count, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { + return nPlotHistogram(labelId, values, count, bins, cumulative, density, rangeMin, rangeMax, barScale); } - private static native double nPlotHistogram(String obj_labelId, int[] obj_values); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), outliers, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(), true, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int count, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); + auto _result = ImPlot::PlotHistogram(labelId, &values[0], count, bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys) { + return nPlotHistogram2D(labelId, xs, ys); + } - private static native double nPlotHistogram(String obj_labelId, int[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins); + } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values) { - return nPlotHistogram(labelId, values); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins) { - return nPlotHistogram(labelId, values, bins); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative) { - return nPlotHistogram(labelId, values, bins, cumulative); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density) { - return nPlotHistogram(labelId, values, bins, cumulative, density); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); + } + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys) { + return nPlotHistogram2D(labelId, xs, ys); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final long[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); } - private static native double nPlotHistogram(String obj_labelId, long[] obj_values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, long[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final float[] values) { - return nPlotHistogram(labelId, values); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final float[] values, final int bins) { - return nPlotHistogram(labelId, values, bins); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative) { - return nPlotHistogram(labelId, values, bins, cumulative); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density) { - return nPlotHistogram(labelId, values, bins, cumulative, density); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); - } + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys) { + return nPlotHistogram2D(labelId, xs, ys); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final float[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); } - private static native double nPlotHistogram(String obj_labelId, float[] obj_values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, float[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; - */ - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final double[] values) { - return nPlotHistogram(labelId, values); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final double[] values, final int bins) { - return nPlotHistogram(labelId, values, bins); - } - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative) { - return nPlotHistogram(labelId, values, bins, cumulative); - } + */ - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density) { - return nPlotHistogram(labelId, values, bins, cumulative, density); - } + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max); - } + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys) { + return nPlotHistogram2D(labelId, xs, ys); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final boolean cumulative, final boolean density, final ImPlotRange range, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, range.min, range.max, outliers, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, cumulative, density, rangeMin, rangeMax, outliers, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final boolean outliers, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, outliers, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final ImPlotRange range, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, range.min, range.max, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram(final String labelId, final double[] values, final int bins, final boolean cumulative, final boolean density, final double rangeMin, final double rangeMax, final double barScale) { - return nPlotHistogram(labelId, values, bins, cumulative, density, rangeMin, rangeMax, barScale); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); } - private static native double nPlotHistogram(String obj_labelId, double[] obj_values); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax)); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, boolean cumulative, boolean density, double rangeMin, double rangeMax, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), ImPlotBin_Sturges, cumulative, density, ImPlotRange(rangeMin, rangeMax), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, boolean outliers, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), outliers, barScale); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(), true, barScale); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram(String obj_labelId, double[] obj_values, int bins, boolean cumulative, boolean density, double rangeMin, double rangeMax, double barScale); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto values = obj_values == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_values, JNI_FALSE); - auto _result = ImPlot::PlotHistogram(labelId, &values[0], LEN(values), bins, cumulative, density, ImPlotRange(rangeMin, rangeMax), true, barScale); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (values != NULL) env->ReleasePrimitiveArrayCritical(obj_values, values, JNI_FALSE); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ @@ -9262,7 +15005,7 @@ public static double plotHistogram(final String labelId, final double[] values, * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys) { return nPlotHistogram2D(labelId, xs, ys); } @@ -9271,7 +15014,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins) { return nPlotHistogram2D(labelId, xs, ys, xBins); } @@ -9280,7 +15023,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); } @@ -9289,7 +15032,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); } @@ -9298,7 +15041,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } @@ -9307,7 +15050,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } @@ -9316,7 +15059,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } @@ -9325,7 +15068,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } @@ -9334,7 +15077,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } @@ -9343,7 +15086,7 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } @@ -9352,14 +15095,14 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); } - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9367,10 +15110,10 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9378,10 +15121,10 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9389,10 +15132,10 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9400,10 +15143,10 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9411,10 +15154,10 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9422,10 +15165,10 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9433,10 +15176,10 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); @@ -9449,8 +15192,8 @@ public static double plotHistogram2D(final String labelId, final short[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys) { - return nPlotHistogram2D(labelId, xs, ys); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins); } /** @@ -9458,8 +15201,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density); } /** @@ -9467,8 +15210,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** @@ -9476,8 +15219,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** @@ -9485,8 +15228,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -9494,8 +15237,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** @@ -9503,8 +15246,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -9512,8 +15255,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** @@ -9521,110 +15264,217 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + public static double plotHistogram2D(final String labelId, final short[] xs, final short[] ys, final int count, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, outliers); } - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); - } + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int count, int xBins, int yBins); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); - } + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int count, int xBins, int yBins, boolean density); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int count, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + private static native double nPlotHistogram2D(String obj_labelId, short[] obj_xs, short[] obj_ys, int count, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(), outliers); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + return _result; + */ + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + } + + /** + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + */ + public static double plotHistogram2D(final String labelId, final int[] xs, final int[] ys, final int count, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, outliers); + } + + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int count, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int count, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int count, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, int[] obj_xs, int[] obj_ys, int count, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -9636,26 +15486,8 @@ public static double plotHistogram2D(final String labelId, final int[] xs, final * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys) { - return nPlotHistogram2D(labelId, xs, ys); - } - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins); - } - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins); } /** @@ -9663,8 +15495,8 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density); } /** @@ -9672,8 +15504,8 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** @@ -9681,8 +15513,8 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** @@ -9690,8 +15522,8 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -9699,17 +15531,17 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + */ + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -9717,8 +15549,8 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** @@ -9726,92 +15558,70 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); + public static double plotHistogram2D(final String labelId, final long[] xs, final long[] ys, final int count, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, outliers); } - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int count, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int count, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int count, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, long[] obj_xs, long[] obj_ys, int count, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -9823,26 +15633,8 @@ public static double plotHistogram2D(final String labelId, final long[] xs, fina * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys) { - return nPlotHistogram2D(labelId, xs, ys); - } - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins); - } - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins); } /** @@ -9850,8 +15642,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density); } /** @@ -9859,8 +15651,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** @@ -9868,8 +15660,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** @@ -9877,8 +15669,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -9886,8 +15678,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** @@ -9895,8 +15687,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -9904,8 +15696,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** @@ -9913,92 +15705,70 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); + public static double plotHistogram2D(final String labelId, final float[] xs, final float[] ys, final int count, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, outliers); } - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins); /*MANUAL - auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); - if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); - if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); - if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - return _result; - */ - - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int count, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int count, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int count, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, float[] obj_xs, float[] obj_ys, int count, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -10010,26 +15780,8 @@ public static double plotHistogram2D(final String labelId, final float[] xs, fin * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys) { - return nPlotHistogram2D(labelId, xs, ys); - } - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins); - } - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins); } /** @@ -10037,8 +15789,8 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final boolean density) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density); } /** @@ -10046,8 +15798,8 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max); } /** @@ -10055,8 +15807,8 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY); } /** @@ -10064,8 +15816,8 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final boolean density, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -10073,8 +15825,8 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final boolean density, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** @@ -10082,8 +15834,8 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final ImPlotRect range, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, range.x.min, range.y.min, range.x.max, range.y.max, outliers); } /** @@ -10091,8 +15843,8 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final double rangeMinX, final double rangeMinY, final double rangeMaxX, final double rangeMaxY, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, rangeMinX, rangeMinY, rangeMaxX, rangeMaxY, outliers); } /** @@ -10100,127 +15852,190 @@ public static double plotHistogram2D(final String labelId, final double[] xs, fi * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ - public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int xBins, final int yBins, final boolean density, final boolean outliers) { - return nPlotHistogram2D(labelId, xs, ys, xBins, yBins, density, outliers); + public static double plotHistogram2D(final String labelId, final double[] xs, final double[] ys, final int count, final int xBins, final int yBins, final boolean density, final boolean outliers) { + return nPlotHistogram2D(labelId, xs, ys, count, xBins, yBins, density, outliers); } - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int count, int xBins, int yBins); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs)); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int count, int xBins, int yBins, boolean density); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int count, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int count, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY)); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int count, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], count, xBins, yBins, density, ImPlotRect(), outliers); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, double rangeMinX, double rangeMinY, double rangeMaxX, double rangeMaxY, boolean outliers); /*MANUAL + /** + * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. + */ + public static void plotDigital(final String labelId, final short[] xs, final short[] ys) { + nPlotDigital(labelId, xs, ys); + } + + private static native void nPlotDigital(String labelId, short[] xs, short[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); - auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); - auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, false, ImPlotRect(rangeMinX, rangeMinY, rangeMaxX, rangeMaxY), outliers); + auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - return _result; */ - private static native double nPlotHistogram2D(String obj_labelId, double[] obj_xs, double[] obj_ys, int xBins, int yBins, boolean density, boolean outliers); /*MANUAL + /** + * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. + */ + public static void plotDigital(final String labelId, final int[] xs, final int[] ys) { + nPlotDigital(labelId, xs, ys); + } + + private static native void nPlotDigital(String labelId, int[] xs, int[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. + */ + public static void plotDigital(final String labelId, final long[] xs, final long[] ys) { + nPlotDigital(labelId, xs, ys); + } + + private static native void nPlotDigital(String labelId, long[] xs, long[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. + */ + public static void plotDigital(final String labelId, final float[] xs, final float[] ys) { + nPlotDigital(labelId, xs, ys); + } + + private static native void nPlotDigital(String labelId, float[] xs, float[] ys); /*MANUAL + auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); + auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); + auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); + if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); + if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); + */ + + /** + * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. + */ + public static void plotDigital(final String labelId, final double[] xs, final double[] ys) { + nPlotDigital(labelId, xs, ys); + } + + private static native void nPlotDigital(String labelId, double[] xs, double[] ys); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - auto _result = ImPlot::PlotHistogram2D(labelId, &xs[0], &ys[0], LEN(xs), xBins, yBins, density, ImPlotRect(), outliers); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); - return _result; */ /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final short[] xs, final short[] ys) { - nPlotDigital(labelId, xs, ys); + public static void plotDigital(final String labelId, final short[] xs, final short[] ys, final int count) { + nPlotDigital(labelId, xs, ys, count); } /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final short[] xs, final short[] ys, final int offset) { - nPlotDigital(labelId, xs, ys, offset); + public static void plotDigital(final String labelId, final short[] xs, final short[] ys, final int count, final int offset) { + nPlotDigital(labelId, xs, ys, count, offset); } - private static native void nPlotDigital(String labelId, short[] xs, short[] ys); /*MANUAL + private static native void nPlotDigital(String labelId, short[] xs, short[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotDigital(String labelId, short[] xs, short[] ys, int offset); /*MANUAL + private static native void nPlotDigital(String labelId, short[] xs, short[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (short*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -10229,32 +16044,32 @@ public static void plotDigital(final String labelId, final short[] xs, final sho /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final int[] xs, final int[] ys) { - nPlotDigital(labelId, xs, ys); + public static void plotDigital(final String labelId, final int[] xs, final int[] ys, final int count) { + nPlotDigital(labelId, xs, ys, count); } /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final int[] xs, final int[] ys, final int offset) { - nPlotDigital(labelId, xs, ys, offset); + public static void plotDigital(final String labelId, final int[] xs, final int[] ys, final int count, final int offset) { + nPlotDigital(labelId, xs, ys, count, offset); } - private static native void nPlotDigital(String labelId, int[] xs, int[] ys); /*MANUAL + private static native void nPlotDigital(String labelId, int[] xs, int[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotDigital(String labelId, int[] xs, int[] ys, int offset); /*MANUAL + private static native void nPlotDigital(String labelId, int[] xs, int[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (int*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -10263,32 +16078,32 @@ public static void plotDigital(final String labelId, final int[] xs, final int[] /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final long[] xs, final long[] ys) { - nPlotDigital(labelId, xs, ys); + public static void plotDigital(final String labelId, final long[] xs, final long[] ys, final int count) { + nPlotDigital(labelId, xs, ys, count); } /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final long[] xs, final long[] ys, final int offset) { - nPlotDigital(labelId, xs, ys, offset); + public static void plotDigital(final String labelId, final long[] xs, final long[] ys, final int count, final int offset) { + nPlotDigital(labelId, xs, ys, count, offset); } - private static native void nPlotDigital(String labelId, long[] xs, long[] ys); /*MANUAL + private static native void nPlotDigital(String labelId, long[] xs, long[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotDigital(String labelId, long[] xs, long[] ys, int offset); /*MANUAL + private static native void nPlotDigital(String labelId, long[] xs, long[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (long*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -10297,32 +16112,32 @@ public static void plotDigital(final String labelId, final long[] xs, final long /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final float[] xs, final float[] ys) { - nPlotDigital(labelId, xs, ys); + public static void plotDigital(final String labelId, final float[] xs, final float[] ys, final int count) { + nPlotDigital(labelId, xs, ys, count); } /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final float[] xs, final float[] ys, final int offset) { - nPlotDigital(labelId, xs, ys, offset); + public static void plotDigital(final String labelId, final float[] xs, final float[] ys, final int count, final int offset) { + nPlotDigital(labelId, xs, ys, count, offset); } - private static native void nPlotDigital(String labelId, float[] xs, float[] ys); /*MANUAL + private static native void nPlotDigital(String labelId, float[] xs, float[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotDigital(String labelId, float[] xs, float[] ys, int offset); /*MANUAL + private static native void nPlotDigital(String labelId, float[] xs, float[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (float*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); @@ -10331,32 +16146,32 @@ public static void plotDigital(final String labelId, final float[] xs, final flo /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final double[] xs, final double[] ys) { - nPlotDigital(labelId, xs, ys); + public static void plotDigital(final String labelId, final double[] xs, final double[] ys, final int count) { + nPlotDigital(labelId, xs, ys, count); } /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ - public static void plotDigital(final String labelId, final double[] xs, final double[] ys, final int offset) { - nPlotDigital(labelId, xs, ys, offset); + public static void plotDigital(final String labelId, final double[] xs, final double[] ys, final int count, final int offset) { + nPlotDigital(labelId, xs, ys, count, offset); } - private static native void nPlotDigital(String labelId, double[] xs, double[] ys); /*MANUAL + private static native void nPlotDigital(String labelId, double[] xs, double[] ys, int count); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs)); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); */ - private static native void nPlotDigital(String labelId, double[] xs, double[] ys, int offset); /*MANUAL + private static native void nPlotDigital(String labelId, double[] xs, double[] ys, int count, int offset); /*MANUAL auto labelId = obj_labelId == NULL ? NULL : (char*)env->GetStringUTFChars(obj_labelId, JNI_FALSE); auto xs = obj_xs == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_xs, JNI_FALSE); auto ys = obj_ys == NULL ? NULL : (double*)env->GetPrimitiveArrayCritical(obj_ys, JNI_FALSE); - ImPlot::PlotDigital(labelId, &xs[0], &ys[0], LEN(xs), offset); + ImPlot::PlotDigital(labelId, &xs[0], &ys[0], count, offset); if (labelId != NULL) env->ReleaseStringUTFChars(obj_labelId, labelId); if (xs != NULL) env->ReleasePrimitiveArrayCritical(obj_xs, xs, JNI_FALSE); if (ys != NULL) env->ReleasePrimitiveArrayCritical(obj_ys, ys, JNI_FALSE); diff --git a/imgui-binding/src/main/java/imgui/extension/implot/ImPlot.java b/imgui-binding/src/main/java/imgui/extension/implot/ImPlot.java index ee86823c..fdd07f9a 100644 --- a/imgui-binding/src/main/java/imgui/extension/implot/ImPlot.java +++ b/imgui-binding/src/main/java/imgui/extension/implot/ImPlot.java @@ -402,8 +402,7 @@ public static native void PlotLine(String labelId, public static native void PlotLine(String labelId, @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, - @ArgValue(callValue = "LEN(xs)") Void count, - @OptArg int offset); + @ArgValue(callValue = "LEN(xs)") Void count); /** * Plots a standard 2D line plot. @@ -413,7 +412,7 @@ public static native void PlotLine(String labelId, @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, int count, - int offset); + @OptArg int offset); // values @@ -421,31 +420,23 @@ public static native void PlotLine(String labelId, * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ @BindingMethod - public static native void PlotScatter(String labelId, short[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - @BindingMethod - public static native void PlotScatter(String labelId, int[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - @BindingMethod - public static native void PlotScatter(String labelId, long[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - @BindingMethod - public static native void PlotScatter(String labelId, float[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); + public static native void PlotScatter(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ @BindingMethod - public static native void PlotScatter(String labelId, double[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); + public static native void PlotScatter(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); // xs,ys @@ -453,31 +444,20 @@ public static native void PlotLine(String labelId, * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ @BindingMethod - public static native void PlotScatter(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - @BindingMethod - public static native void PlotScatter(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - @BindingMethod - public static native void PlotScatter(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. - */ - @BindingMethod - public static native void PlotScatter(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotScatter(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count); /** * Plots a standard 2D scatter plot. Default marker is ImPlotMarker_Circle. */ @BindingMethod - public static native void PlotScatter(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotScatter(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + @OptArg int offset); // values @@ -485,31 +465,23 @@ public static native void PlotLine(String labelId, * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ @BindingMethod - public static native void PlotStairs(String labelId, short[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - @BindingMethod - public static native void PlotStairs(String labelId, int[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - @BindingMethod - public static native void PlotStairs(String labelId, long[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - @BindingMethod - public static native void PlotStairs(String labelId, float[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); + public static native void PlotStairs(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); /** * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ @BindingMethod - public static native void PlotStairs(String labelId, double[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double xscale, @OptArg double x0, @OptArg int offset); + public static native void PlotStairs(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); // xs,ys @@ -517,31 +489,20 @@ public static native void PlotLine(String labelId, * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ @BindingMethod - public static native void PlotStairs(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotStairs(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count); /** * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. */ @BindingMethod - public static native void PlotStairs(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - @BindingMethod - public static native void PlotStairs(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - @BindingMethod - public static native void PlotStairs(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a stairstep graph. The y value is continued constantly from every x position, i.e. the interval [x[i], x[i+1]) has the value y[i]. - */ - @BindingMethod - public static native void PlotStairs(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotStairs(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + @OptArg int offset); // values @@ -549,31 +510,25 @@ public static native void PlotLine(String labelId, * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ @BindingMethod - public static native void PlotShaded(String labelId, short[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, int[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, long[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, float[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); + public static native void PlotShaded(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + @OptArg double yRef, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); /** * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ @BindingMethod - public static native void PlotShaded(String labelId, double[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); + public static native void PlotShaded(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + @OptArg double yRef, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); // xs,ys @@ -581,31 +536,23 @@ public static native void PlotLine(String labelId, * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ @BindingMethod - public static native void PlotShaded(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); + public static native void PlotShaded(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count, + @OptArg double yRef, + @OptArg int offset); /** * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ @BindingMethod - public static native void PlotShaded(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); + public static native void PlotShaded(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + @OptArg double yRef, + @OptArg int offset); // xs,ys1,ys2 @@ -613,31 +560,22 @@ public static native void PlotLine(String labelId, * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ @BindingMethod - public static native void PlotShaded(String labelId, short[] xs, short[] ys1, short[] ys2, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, int[] xs, int[] ys1, int[] ys2, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, long[] xs, long[] ys1, long[] ys2, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. - */ - @BindingMethod - public static native void PlotShaded(String labelId, float[] xs, float[] ys1, float[] ys2, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotShaded(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys1, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys2, + @ArgValue(callValue = "LEN(xs)") Void count); /** * Plots a shaded (filled) region between two lines, or a line and a horizontal reference. Set y_ref to +/-INFINITY for infinite fill extents. */ @BindingMethod - public static native void PlotShaded(String labelId, double[] xs, double[] ys1, double[] ys2, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotShaded(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys1, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys2, + int count, + @OptArg int offset); // values @@ -645,773 +583,412 @@ public static native void PlotLine(String labelId, * Plots a vertical bar graph. #width and #shift are in X units. */ @BindingMethod - public static native void PlotBars(String labelId, short[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double width, @OptArg double shift, @OptArg int offset); + public static native void PlotBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + @OptArg double width, + @OptArg double shift, + @OptArg int offset); /** * Plots a vertical bar graph. #width and #shift are in X units. */ @BindingMethod - public static native void PlotBars(String labelId, int[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double width, @OptArg double shift, @OptArg int offset); + public static native void PlotBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + @OptArg double width, + @OptArg double shift, + @OptArg int offset); - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - @BindingMethod - public static native void PlotBars(String labelId, long[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double width, @OptArg double shift, @OptArg int offset); + // xs,ys /** * Plots a vertical bar graph. #width and #shift are in X units. */ @BindingMethod - public static native void PlotBars(String labelId, float[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double width, @OptArg double shift, @OptArg int offset); + public static native void PlotBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count, + double width); /** * Plots a vertical bar graph. #width and #shift are in X units. */ @BindingMethod - public static native void PlotBars(String labelId, double[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double width, @OptArg double shift, @OptArg int offset); + public static native void PlotBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + double width, + @OptArg int offset); - // xs,ys + // values /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ @BindingMethod - public static native void PlotBars(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double width, @OptArg int offset); + public static native void PlotBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + @OptArg double height, + @OptArg double shift, + @OptArg int offset); /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ @BindingMethod - public static native void PlotBars(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double width, @OptArg int offset); + public static native void PlotBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + @OptArg double height, + @OptArg double shift, + @OptArg int offset); - /** - * Plots a vertical bar graph. #width and #shift are in X units. - */ - @BindingMethod - public static native void PlotBars(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double width, @OptArg int offset); + // xs,ys /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ @BindingMethod - public static native void PlotBars(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double width, @OptArg int offset); + public static native void PlotBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count, + double height); /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ @BindingMethod - public static native void PlotBars(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double width, @OptArg int offset); + public static native void PlotBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + double height, + @OptArg int offset); /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots a horizontal bar graph. #height and #shift are in Y units. */ @BindingMethod - public static native void PlotBars(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void width, @OptArg int offset); + public static native void PlotBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count, + @ArgValue(callValue = "0.67") Void height, + @OptArg int offset); /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. */ @BindingMethod - public static native void PlotBars(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void width, @OptArg int offset); + public static native void PlotErrorBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void err, + @ArgValue(callValue = "LEN(xs)") Void count); /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. */ @BindingMethod - public static native void PlotBars(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void width, @OptArg int offset); + public static native void PlotErrorBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void err, + int count, + @OptArg int offset); /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. */ @BindingMethod - public static native void PlotBars(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void width, @OptArg int offset); + public static native void PlotErrorBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void neg, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void pos, + @ArgValue(callValue = "LEN(xs)") Void count); /** - * Plots a vertical bar graph. #width and #shift are in X units. + * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. */ @BindingMethod - public static native void PlotBars(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void width, @OptArg int offset); - - // values + public static native void PlotErrorBars(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void neg, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void pos, + int count, + @OptArg int offset); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. */ @BindingMethod - public static native void PlotBarsH(String labelId, short[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double height, @OptArg double shift, @OptArg int offset); + public static native void PlotErrorBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void err, + @ArgValue(callValue = "LEN(xs)") Void count); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. */ @BindingMethod - public static native void PlotBarsH(String labelId, int[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double height, @OptArg double shift, @OptArg int offset); + public static native void PlotErrorBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void err, + int count, + @OptArg int offset); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. */ @BindingMethod - public static native void PlotBarsH(String labelId, long[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double height, @OptArg double shift, @OptArg int offset); + public static native void PlotErrorBarsH(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void neg, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void pos, + int count, + @OptArg int offset); - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - @BindingMethod - public static native void PlotBarsH(String labelId, float[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double height, @OptArg double shift, @OptArg int offset); + // values /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots vertical stems. */ @BindingMethod - public static native void PlotBarsH(String labelId, double[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double height, @OptArg double shift, @OptArg int offset); - - // xs,ys + public static native void PlotStems(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + @OptArg double yRef, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots vertical stems. */ @BindingMethod - public static native void PlotBarsH(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double height, @OptArg int offset); + public static native void PlotStems(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + @OptArg double yRef, + @OptArg double xscale, + @OptArg double x0, + @OptArg int offset); - /** - * Plots a horizontal bar graph. #height and #shift are in Y units. - */ - @BindingMethod - public static native void PlotBarsH(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double height, @OptArg int offset); + // xs,ys /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots vertical stems. */ @BindingMethod - public static native void PlotBarsH(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double height, @OptArg int offset); + public static native void PlotStems(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count, + @OptArg double yRef, + @OptArg int offset); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots vertical stems. */ @BindingMethod - public static native void PlotBarsH(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double height, @OptArg int offset); + public static native void PlotStems(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + @OptArg double yRef, + @OptArg int offset); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). */ @BindingMethod - public static native void PlotBarsH(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, double height, @OptArg int offset); + public static native void PlotVLines(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgValue(callValue = "LEN(xs)") Void count); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). */ @BindingMethod - public static native void PlotBarsH(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void height, @OptArg int offset); + public static native void PlotVLines(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + int count, + @OptArg int offset); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). */ @BindingMethod - public static native void PlotBarsH(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void height, @OptArg int offset); + public static native void PlotHLines(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(ys)") Void count); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). */ @BindingMethod - public static native void PlotBarsH(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void height, @OptArg int offset); + public static native void PlotHLines(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + @OptArg int offset); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. */ @BindingMethod - public static native void PlotBarsH(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void height, @OptArg int offset); + public static native void PlotPieChart(String[] labelIds, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + double x, + double y, + double radius, + @OptArg(callValue = "false") boolean normalize, + @OptArg(callValue = "\"%.1f\"") String labelFmt, + @OptArg double angle0); /** - * Plots a horizontal bar graph. #height and #shift are in Y units. + * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. */ @BindingMethod - public static native void PlotBarsH(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @ArgValue(callValue = "0.67") Void height, @OptArg int offset); + public static native void PlotPieChart(String[] labelIds, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + double x, + double y, + double radius, + @OptArg(callValue = "false") boolean normalize, + @OptArg(callValue = "\"%.1f\"") String labelFmt, + @OptArg double angle0); /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. */ @BindingMethod - public static native void PlotErrorBars(String labelId, short[] xs, short[] ys, short[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotHeatmap(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int rows, + int cols, + @OptArg double scaleMin, + @OptArg double scaleMax, + @OptArg(callValue = "\"%.1f\"") String labelFmt, + @OptArg ImPlotPoint boundsMin, + @OptArg ImPlotPoint boundsMax); /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ @BindingMethod - public static native void PlotErrorBars(String labelId, int[] xs, int[] ys, int[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native double PlotHistogram(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + @ArgValue(callValue = "LEN(values)") Void count, + @OptArg(callValue = "ImPlotBin_Sturges") int bins, + @OptArg boolean cumulative, + @OptArg boolean density, + @OptArg(callValue = "ImPlotRange()") ImPlotRange range, + @OptArg(callValue = "true") boolean outliers, + @OptArg double barScale); /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. + * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. + * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. */ @BindingMethod - public static native void PlotErrorBars(String labelId, long[] xs, long[] ys, long[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native double PlotHistogram(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void values, + int count, + int bins, + @OptArg boolean cumulative, + @OptArg boolean density, + @OptArg(callValue = "ImPlotRange()") ImPlotRange range, + @OptArg(callValue = "true") boolean outliers, + @OptArg double barScale); /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ @BindingMethod - public static native void PlotErrorBars(String labelId, float[] xs, float[] ys, float[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native double PlotHistogram2D(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count, + @OptArg int xBins, + @OptArg int yBins, + @OptArg(callValue = "false") boolean density, + @OptArg(callValue = "ImPlotRect()") ImPlotRect range, + @OptArg boolean outliers); /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBars(String labelId, double[] xs, double[] ys, double[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBars(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBars(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBars(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBars(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots vertical error bar. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBars(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] err, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, short[] xs, short[] ys, short[] neg, short[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, int[] xs, int[] ys, int[] neg, int[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, long[] xs, long[] ys, long[] neg, long[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, float[] xs, float[] ys, float[] neg, float[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots horizontal error bars. The label_id should be the same as the label_id of the associated line or bar plot. - */ - @BindingMethod - public static native void PlotErrorBarsH(String labelId, double[] xs, double[] ys, double[] neg, double[] pos, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - // values - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, short[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, int[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, long[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, float[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, double[] values, @ArgValue(callValue = "LEN(values)") Void count, @OptArg double yRef, @OptArg double xscale, @OptArg double x0, @OptArg int offset); - - // xs,ys - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots vertical stems. - */ - @BindingMethod - public static native void PlotStems(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg double yRef, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotVLines(String labelId, short[] xs, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotVLines(String labelId, int[] xs, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotVLines(String labelId, long[] xs, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotVLines(String labelId, float[] xs, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotVLines(String labelId, double[] xs, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotHLines(String labelId, short[] ys, @ArgValue(callValue = "LEN(ys)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotHLines(String labelId, int[] ys, @ArgValue(callValue = "LEN(ys)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotHLines(String labelId, long[] ys, @ArgValue(callValue = "LEN(ys)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotHLines(String labelId, float[] ys, @ArgValue(callValue = "LEN(ys)") Void count, @OptArg int offset); - - /** - * Plots infinite vertical or horizontal lines (e.g. for references or asymptotes). - */ - @BindingMethod - public static native void PlotHLines(String labelId, double[] ys, @ArgValue(callValue = "LEN(ys)") Void count, @OptArg int offset); - - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotPieChart(String[] labelIds, - short[] values, - @ArgValue(callValue = "LEN(values)") Void count, - double x, - double y, - double radius, - @OptArg(callValue = "false") boolean normalize, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg double angle0); - - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotPieChart(String[] labelIds, - int[] values, - @ArgValue(callValue = "LEN(values)") Void count, - double x, - double y, - double radius, - @OptArg(callValue = "false") boolean normalize, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg double angle0); - - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotPieChart(String[] labelIds, - long[] values, - @ArgValue(callValue = "LEN(values)") Void count, - double x, - double y, - double radius, - @OptArg(callValue = "false") boolean normalize, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg double angle0); - - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotPieChart(String[] labelIds, - float[] values, - @ArgValue(callValue = "LEN(values)") Void count, - double x, - double y, - double radius, - @OptArg(callValue = "false") boolean normalize, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg double angle0); - - /** - * Plots a pie chart. If the sum of values{@code >}1 or normalize is true, each value will be normalized. Center and radius are in plot units. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotPieChart(String[] labelIds, - double[] values, - @ArgValue(callValue = "LEN(values)") Void count, - double x, - double y, - double radius, - @OptArg(callValue = "false") boolean normalize, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg double angle0); - - /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotHeatmap(String labelId, - short[] values, - int rows, - int cols, - @OptArg double scaleMin, - @OptArg double scaleMax, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg ImPlotPoint boundsMin, - @OptArg ImPlotPoint boundsMax); - - /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotHeatmap(String labelId, - int[] values, - int rows, - int cols, - @OptArg double scaleMin, - @OptArg double scaleMax, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg ImPlotPoint boundsMin, - @OptArg ImPlotPoint boundsMax); - - /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotHeatmap(String labelId, - long[] values, - int rows, - int cols, - @OptArg double scaleMin, - @OptArg double scaleMax, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg ImPlotPoint boundsMin, - @OptArg ImPlotPoint boundsMax); - - /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotHeatmap(String labelId, - float[] values, - int rows, - int cols, - @OptArg double scaleMin, - @OptArg double scaleMax, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg ImPlotPoint boundsMin, - @OptArg ImPlotPoint boundsMax); - - /** - * Plots a 2D heatmap chart. Values are expected to be in row-major order. Leave #scale_min and scale_max both at 0 for automatic color scaling, or set them to a predefined range. #label_fmt can be set to NULL for no labels. - */ - @BindingMethod - public static native void PlotHeatmap(String labelId, - double[] values, - int rows, - int cols, - @OptArg double scaleMin, - @OptArg double scaleMax, - @OptArg(callValue = "\"%.1f\"") String labelFmt, - @OptArg ImPlotPoint boundsMin, - @OptArg ImPlotPoint boundsMax); - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram(String labelId, - short[] values, - @ArgValue(callValue = "LEN(values)") Void count, - @OptArg(callValue = "ImPlotBin_Sturges") int bins, - @OptArg boolean cumulative, - @OptArg boolean density, - @OptArg(callValue = "ImPlotRange()") ImPlotRange range, - @OptArg(callValue = "true") boolean outliers, - @OptArg double barScale); - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram(String labelId, - int[] values, - @ArgValue(callValue = "LEN(values)") Void count, - @OptArg(callValue = "ImPlotBin_Sturges") int bins, - @OptArg boolean cumulative, - @OptArg boolean density, - @OptArg(callValue = "ImPlotRange()") ImPlotRange range, - @OptArg(callValue = "true") boolean outliers, - @OptArg double barScale); - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram(String labelId, - long[] values, - @ArgValue(callValue = "LEN(values)") Void count, - @OptArg(callValue = "ImPlotBin_Sturges") int bins, - @OptArg boolean cumulative, - @OptArg boolean density, - @OptArg(callValue = "ImPlotRange()") ImPlotRange range, - @OptArg(callValue = "true") boolean outliers, - @OptArg double barScale); - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram(String labelId, - float[] values, - @ArgValue(callValue = "LEN(values)") Void count, - @OptArg(callValue = "ImPlotBin_Sturges") int bins, - @OptArg boolean cumulative, - @OptArg boolean density, - @OptArg(callValue = "ImPlotRange()") ImPlotRange range, - @OptArg(callValue = "true") boolean outliers, - @OptArg double barScale); - - /** - * Plots a horizontal histogram. #bins can be a positive integer or an ImPlotBin_ method. If #cumulative is true, each bin contains its count plus the counts of all previous bins. - * If #density is true, the PDF is visualized. If both are true, the CDF is visualized. If #range is left unspecified, the min/max of #values will be used as the range. - * If #range is specified, outlier values outside of the range are not binned. However, outliers still count toward normalizing and cumulative counts unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram(String labelId, - double[] values, - @ArgValue(callValue = "LEN(values)") Void count, - @OptArg(callValue = "ImPlotBin_Sturges") int bins, - @OptArg boolean cumulative, - @OptArg boolean density, - @OptArg(callValue = "ImPlotRange()") ImPlotRange range, - @OptArg(callValue = "true") boolean outliers, - @OptArg double barScale); - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. + * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. + * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. + * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. */ @BindingMethod public static native double PlotHistogram2D(String labelId, - short[] xs, - short[] ys, - @ArgValue(callValue = "LEN(xs)") Void count, - @OptArg int xBins, - @OptArg int yBins, - @OptArg(callValue = "false") boolean density, - @OptArg(callValue = "ImPlotRect()") ImPlotRect range, - @OptArg boolean outliers); - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram2D(String labelId, - int[] xs, - int[] ys, - @ArgValue(callValue = "LEN(xs)") Void count, - @OptArg int xBins, - @OptArg int yBins, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + int xBins, + int yBins, @OptArg(callValue = "false") boolean density, @OptArg(callValue = "ImPlotRect()") ImPlotRect range, @OptArg boolean outliers); - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram2D(String labelId, - long[] xs, - long[] ys, - @ArgValue(callValue = "LEN(xs)") Void count, - @OptArg int xBins, - @OptArg int yBins, - @OptArg(callValue = "false") boolean density, - @OptArg(callValue = "ImPlotRect()") ImPlotRect range, - @OptArg boolean outliers); - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram2D(String labelId, - float[] xs, - float[] ys, - @ArgValue(callValue = "LEN(xs)") Void count, - @OptArg int xBins, - @OptArg int yBins, - @OptArg(callValue = "false") boolean density, - @OptArg(callValue = "ImPlotRect()") ImPlotRect range, - @OptArg boolean outliers); - - /** - * Plots two dimensional, bivariate histogram as a heatmap. #x_bins and #y_bins can be a positive integer or an ImPlotBin. If #density is true, the PDF is visualized. - * If #range is left unspecified, the min/max of #xs an #ys will be used as the ranges. If #range is specified, outlier values outside of range are not binned. - * However, outliers still count toward the normalizing count for density plots unless #outliers is false. The largest bin count or density is returned. - */ - @BindingMethod - public static native double PlotHistogram2D(String labelId, - double[] xs, - double[] ys, - @ArgValue(callValue = "LEN(xs)") Void count, - @OptArg int xBins, - @OptArg int yBins, - @OptArg(callValue = "false") boolean density, - @OptArg(callValue = "ImPlotRect()") ImPlotRect range, - @OptArg boolean outliers); - - /** - * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. - */ - @BindingMethod - public static native void PlotDigital(String labelId, short[] xs, short[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. - */ - @BindingMethod - public static native void PlotDigital(String labelId, int[] xs, int[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - - /** - * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. - */ - @BindingMethod - public static native void PlotDigital(String labelId, long[] xs, long[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); - /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ @BindingMethod - public static native void PlotDigital(String labelId, float[] xs, float[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotDigital(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + @ArgValue(callValue = "LEN(xs)") Void count); /** * Plots digital data. Digital plots do not respond to y drag or zoom, and are always referenced to the bottom of the plot. */ @BindingMethod - public static native void PlotDigital(String labelId, double[] xs, double[] ys, @ArgValue(callValue = "LEN(xs)") Void count, @OptArg int offset); + public static native void PlotDigital(String labelId, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void xs, + @ArgVariant(type = {"short[]", "int[]", "long[]", "float[]", "double[]"}) Void ys, + int count, + @OptArg int offset); /** * Plots an axis-aligned image. #bounds_min/bounds_max are in plot coordinates (y-up) and #uv0/uv1 are in texture coordinates (y-down). */ @BindingMethod - public static native void PlotImage(String labelId, @ArgValue(callPrefix = "(ImTextureID)(intptr_t)") int userTextureId, ImPlotPoint boundsMin, ImPlotPoint boundsMax, @OptArg ImVec2 uv0, @OptArg ImVec2 uv1, @OptArg ImVec4 tintCol); + public static native void PlotImage(String labelId, + @ArgValue(callPrefix = "(ImTextureID)(intptr_t)") int userTextureId, + ImPlotPoint boundsMin, + ImPlotPoint boundsMax, + @OptArg ImVec2 uv0, + @OptArg ImVec2 uv1, + @OptArg ImVec4 tintCol); /** * Plots a centered text label at point x,y with an optional pixel offset. Text color can be changed with ImPlot::PushStyleColor(ImPlotCol_InlayText, ...). */ @BindingMethod - public static native void PlotText(String text, double x, double y, @OptArg(callValue = "false") boolean vertical, @OptArg ImVec2 pixOffset); + public static native void PlotText(String text, + double x, + double y, + @OptArg(callValue = "false") boolean vertical, + @OptArg ImVec2 pixOffset); /** * Plots a dummy item (i.e. adds a legend entry colored by ImPlotCol_Line)