blob: df5b49f77026ceab8f00df595b6b7a7f39356766 [file] [log] [blame]
package com.github.mikephil.charting.renderer;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import com.github.mikephil.charting.utils.Transformer;
import com.github.mikephil.charting.utils.ViewPortHandler;
/**
* Baseclass of all axis renderers.
*
* @author Philipp Jahoda
*/
public abstract class AxisRenderer extends Renderer {
protected Transformer mTrans;
/** paint object for the grid lines */
protected Paint mGridPaint;
/** paint for the x-label values */
protected Paint mAxisLabelPaint;
/** paint for the line surrounding the chart */
protected Paint mAxisLinePaint;
public AxisRenderer(ViewPortHandler viewPortHandler, Transformer trans) {
super(viewPortHandler);
this.mTrans = trans;
mAxisLabelPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mGridPaint = new Paint();
mGridPaint.setColor(Color.GRAY);
mGridPaint.setStrokeWidth(1f);
mGridPaint.setStyle(Style.STROKE);
mGridPaint.setAlpha(90);
mAxisLinePaint = new Paint();
mAxisLinePaint.setColor(Color.BLACK);
mAxisLinePaint.setStrokeWidth(1f);
mAxisLinePaint.setStyle(Style.STROKE);
}
/**
* Returns the Paint object used for drawing the axis (labels).
*
* @return
*/
public Paint getPaintAxisLabels() {
return mAxisLabelPaint;
}
/**
* Returns the Paint object that is used for drawing the grid-lines of the
* axis.
*
* @return
*/
public Paint getPaintGrid() {
return mGridPaint;
}
/**
* Returns the Paint object that is used for drawing the axis-line that goes
* alongside the axis.
*
* @return
*/
public Paint getPaintAxisLine() {
return mAxisLinePaint;
}
/**
* Returns the Transformer object used for transforming the axis values.
*
* @return
*/
public Transformer getTransformer() {
return mTrans;
}
/**
* Draws the axis labels to the screen.
*
* @param c
*/
public abstract void renderAxisLabels(Canvas c);
/**
* Draws the grid lines belonging to the axis.
*
* @param c
*/
public abstract void renderGridLines(Canvas c);
/**
* Draws the line that goes alongside the axis.
*
* @param c
*/
public abstract void renderAxisLine(Canvas c);
}