package com.github.mikephil.charting.data;
import com.github.mikephil.charting.utils.Utils;
import java.util.ArrayList;
import java.util.List;
public class PieDataSet extends DataSet<Entry> {
/** the space in degrees between the chart-slices, default 0f */
private float mSliceSpace = 0f;
/** indicates the selection distance of a pie slice */
private float mShift = 18f;
public PieDataSet(List<Entry> yVals, String label) {
super(yVals, label);
// mShift = Utils.convertDpToPixel(12f);
}
@Override
public DataSet<Entry> copy() {
List<Entry> yVals = new ArrayList<Entry>();
for (int i = 0; i < mYVals.size(); i++) {
yVals.add(mYVals.get(i).copy());
}
PieDataSet copied = new PieDataSet(yVals, getLabel());
copied.mColors = mColors;
copied.mSliceSpace = mSliceSpace;
copied.mShift = mShift;
return copied;
}
/**
* sets the space that is left out between the piechart-slices, default: 0°
* --> no space, maximum 45, minimum 0 (no space)
*
* @param degrees
*/
public void setSliceSpace(float degrees) {
if (degrees > 45)
degrees = 45f;
if (degrees < 0)
degrees = 0f;
mSliceSpace = degrees;
}
/**
* returns the space that is set to be between the piechart-slices of this
* DataSet, in degrees
*
* @return
*/
public float getSliceSpace() {
return mSliceSpace;
}
/**
* sets the distance the highlighted piechart-slice of this DataSet is
* "shifted" away from the center of the chart, default 12f
*
* @param shift
*/
public void setSelectionShift(float shift) {
mShift = Utils.convertDpToPixel(shift);
}
/**
* returns the distance a highlighted piechart slice is "shifted" away from
* the chart-center
*
* @return
*/
public float getSelectionShift() {
return mShift;
}
}