• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package com.github.mikephil.charting.formatter;
2 
3 
4 import com.github.mikephil.charting.data.LineData;
5 import com.github.mikephil.charting.interfaces.dataprovider.LineDataProvider;
6 import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;
7 
8 /**
9  * Default formatter that calculates the position of the filled line.
10  *
11  * @author Philipp Jahoda
12  */
13 public class DefaultFillFormatter implements IFillFormatter
14 {
15 
16     @Override
getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider)17     public float getFillLinePosition(ILineDataSet dataSet, LineDataProvider dataProvider) {
18 
19         float fillMin = 0f;
20         float chartMaxY = dataProvider.getYChartMax();
21         float chartMinY = dataProvider.getYChartMin();
22 
23         LineData data = dataProvider.getLineData();
24 
25         if (dataSet.getYMax() > 0 && dataSet.getYMin() < 0) {
26             fillMin = 0f;
27         } else {
28 
29             float max, min;
30 
31             if (data.getYMax() > 0)
32                 max = 0f;
33             else
34                 max = chartMaxY;
35             if (data.getYMin() < 0)
36                 min = 0f;
37             else
38                 min = chartMinY;
39 
40             fillMin = dataSet.getYMin() >= 0 ? min : max;
41         }
42 
43         return fillMin;
44     }
45 }