package com.algobase.share.chart;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;

public class BarChartView extends ChartView {

   public BarChartView(Context context) 
   { super(context);
     isBarView = true;
    }

   public BarChartView(Context context, AttributeSet attr) 
   { super(context,attr);
     isBarView = true;
    }

   public BarChartView(Context context, AttributeSet attr, int defStyle) 
   { super(context,attr,defStyle);
     isBarView = true;
    }

  public void drawChart(Canvas canvas, int s)
  {
    ChartViewSeries series = chartList.get(s);

    paint.setStrokeCap(Paint.Cap.ROUND);
    paint.setStrokeWidth(series.line_width); 

    paint.setColor(series.color); 
    //paint.setColor(series.fill_color); 
    paint.setStyle(Paint.Style.FILL);

    int len = series.values.size();

    float colwidth = chartWidth / len;
    //int   space = (int)(0.5 + chartWidth/400);

    float space = 1; 
    if (series.bar_width > 0) space = (colwidth - series.bar_width)/2;

    for (int i = 0; i < len; i++) 
    { ChartViewData data = series.values.get(i);

if (data == null) continue;

      float y = (float)(chartHeight * (data.valueY - yMin) / (yMax - yMin));

      float x1 = marginLeft + i*colwidth + space;
      float x2 = x1 + colwidth - 2*space;

      float y1 = chartHeight + marginTop - y;
      float y2 = chartHeight + marginTop - 1;

      if (data.color != 0) 
        paint.setColor(data.color);
      else
        paint.setColor(series.color);

      canvas.drawRect(x1,y1,x2,y2,paint);
    }
  }

}

