package com.algobase.share.chart;

import android.content.Context;

import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Color;

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.fill_color); 
    paint.setColor(series.color); 

    paint.setStyle(Paint.Style.FILL);

    int len = series.values.size();

    float colwidth = chartWidth / len;

  //float space = chartWidth/400.0f;
    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 = marginLeft + (i+1)*colwidth - 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);
    }
  }

}

