package com.github.mikephil.charting.renderer.scatter; import android.graphics.Canvas; import android.graphics.Paint; import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet; import com.github.mikephil.charting.utils.ColorTemplate; import com.github.mikephil.charting.utils.Utils; import com.github.mikephil.charting.utils.ViewPortHandler; /** * Created by wajdic on 15/06/2016. * Created at Time 09:08 */ public class SquareShapeRenderer implements IShapeRenderer { @Override public void renderShape(Canvas c, IScatterDataSet dataSet, ViewPortHandler viewPortHandler, float posX, float posY, Paint renderPaint) { final float shapeSize = dataSet.getScatterShapeSize(); final float shapeHalf = shapeSize / 2f; final float shapeHoleSizeHalf = Utils.convertDpToPixel(dataSet.getScatterShapeHoleRadius()); final float shapeHoleSize = shapeHoleSizeHalf * 2.f; final float shapeStrokeSize = (shapeSize - shapeHoleSize) / 2.f; final float shapeStrokeSizeHalf = shapeStrokeSize / 2.f; final int shapeHoleColor = dataSet.getScatterShapeHoleColor(); if (shapeSize > 0.0) { renderPaint.setStyle(Paint.Style.STROKE); renderPaint.setStrokeWidth(shapeStrokeSize); c.drawRect(posX - shapeHoleSizeHalf - shapeStrokeSizeHalf, posY - shapeHoleSizeHalf - shapeStrokeSizeHalf, posX + shapeHoleSizeHalf + shapeStrokeSizeHalf, posY + shapeHoleSizeHalf + shapeStrokeSizeHalf, renderPaint); if (shapeHoleColor != ColorTemplate.COLOR_NONE) { renderPaint.setStyle(Paint.Style.FILL); renderPaint.setColor(shapeHoleColor); c.drawRect(posX - shapeHoleSizeHalf, posY - shapeHoleSizeHalf, posX + shapeHoleSizeHalf, posY + shapeHoleSizeHalf, renderPaint); } } else { renderPaint.setStyle(Paint.Style.FILL); c.drawRect(posX - shapeHalf, posY - shapeHalf, posX + shapeHalf, posY + shapeHalf, renderPaint); } } }