// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.kpdus.com/jad.html // Decompiler options: packimports(3) package org.achartengine.chart; import android.graphics.*; import org.achartengine.model.Point; import org.achartengine.model.XYMultipleSeriesDataset; import org.achartengine.renderer.XYMultipleSeriesRenderer; // Referenced classes of package org.achartengine.chart: // LineChart public class CubicLineChart extends LineChart { public CubicLineChart() { p1 = new Point(); p2 = new Point(); p3 = new Point(); firstMultiplier = 0.33F; secondMultiplier = 1.0F - firstMultiplier; } public CubicLineChart(XYMultipleSeriesDataset xymultipleseriesdataset, XYMultipleSeriesRenderer xymultipleseriesrenderer, float f) { super(xymultipleseriesdataset, xymultipleseriesrenderer); p1 = new Point(); p2 = new Point(); p3 = new Point(); firstMultiplier = f; secondMultiplier = 1.0F - firstMultiplier; } private void calc(float af[], Point point, int i, int j, float f) { float f1 = af[i]; float f2 = af[i + 1]; float f3 = af[j]; float f4 = af[j + 1]; float f5 = f3 - f1; float f6 = f4 - f2; point.setX(f1 + f5 * f); point.setY(f2 + f6 * f); } protected void drawPath(Canvas canvas, float af[], Paint paint, boolean flag) { Path path = new Path(); path.moveTo(af[0], af[1]); int i = 0; while(i < af.length) { int j; int k; Point point; float f; if(i + 2 < af.length) j = i + 2; else j = i; if(i + 4 < af.length) k = i + 4; else k = j; calc(af, p1, i, j, secondMultiplier); p2.setX(af[j]); p2.setY(af[j + 1]); point = p3; f = firstMultiplier; calc(af, point, j, k, f); path.cubicTo(p1.getX(), p1.getY(), p2.getX(), p2.getY(), p3.getX(), p3.getY()); i += 2; } canvas.drawPath(path, paint); } public String getChartType() { return "Cubic"; } public static final String TYPE = "Cubic"; private float firstMultiplier; private Point p1; private Point p2; private Point p3; private float secondMultiplier; }