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; /** paint used for the limit lines */ protected Paint mLimitLinePaint; 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); mLimitLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG); mLimitLinePaint.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); /** * Draws the LimitLines associated with this axis to the screen. * * @param c */ public abstract void renderLimitLines(Canvas c); }