Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.highlight.ChartHighlighter;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider;
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider;
import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet;
import com.github.mikephil.charting.jobs.AnimatedMoveViewJob;
import com.github.mikephil.charting.jobs.AnimatedZoomJob;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import com.github.mikephil.charting.highlight.ChartHighlighter;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.highlight.IHighlighter;
import com.github.mikephil.charting.interfaces.dataprovider.ChartInterface;
import com.github.mikephil.charting.interfaces.dataprovider.base.IBaseProvider;
import com.github.mikephil.charting.interfaces.datasets.IDataSet;
import com.github.mikephil.charting.listener.ChartTouchListener;
import com.github.mikephil.charting.listener.OnChartGestureListener;
Expand All @@ -55,7 +55,7 @@
* @author Philipp Jahoda
*/
@SuppressWarnings("unused")
public abstract class Chart<T extends ChartData<? extends IDataSet<? extends Entry>>> extends ViewGroup implements ChartInterface {
public abstract class Chart<T extends ChartData<? extends IDataSet<? extends Entry>>> extends ViewGroup implements IBaseProvider {

public static final String LOG_TAG = "AndroidChart";

Expand Down Expand Up @@ -667,7 +667,7 @@ public void highlightValue(Highlight highlight) {
*/
public void highlightValue(Highlight high, boolean callListener) {

Entry e = null;
Entry entry = null;

if (high == null) {
mIndicesToHighlight = null;
Expand All @@ -677,8 +677,8 @@ public void highlightValue(Highlight high, boolean callListener) {
Log.i(LOG_TAG, "Highlighted: " + high);
}

e = mData.getEntryForHighlight(high);
if (e == null) {
entry = mData.getEntryForHighlight(high);
if (entry == null) {
mIndicesToHighlight = null;
high = null;
} else {
Expand All @@ -696,7 +696,7 @@ public void highlightValue(Highlight high, boolean callListener) {
mSelectionListener.onNothingSelected();
} else {
// notify the listener
mSelectionListener.onValueSelected(e, high);
mSelectionListener.onValueSelected(entry, high);
}
}

Expand All @@ -723,8 +723,8 @@ public Highlight getHighlightByTouchPoint(float x, float y) {
* Set a new (e.g. custom) ChartTouchListener NOTE: make sure to
* setTouchEnabled(true); if you need touch gestures on the chart
*/
public void setOnTouchListener(ChartTouchListener l) {
this.mChartTouchListener = l;
public void setOnTouchListener(ChartTouchListener touchListener) {
this.mChartTouchListener = touchListener;
}

/**
Expand Down Expand Up @@ -985,6 +985,16 @@ public float getYMin() {
return mData.getYMin();
}

@Override
public float getYChartMin() {
return mData.getYMin();
}

@Override
public float getYChartMax() {
return mData.getYMax();
}

@Override
public float getXChartMax() {
return mXAxis.mAxisMaximum;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import com.github.mikephil.charting.interfaces.datasets.ILineDataSet
*/
open class DefaultFillFormatter : IFillFormatter {

override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float {
val fillMin: Float
val chartMaxY = dataProvider!!.yChartMax
val chartMaxY = dataProvider.yChartMax
val chartMinY = dataProvider.yChartMin
val data = dataProvider.lineData
fillMin = if (dataSet!!.yMax > 0 && dataSet.yMin < 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ interface IFillFormatter {
* @param dataSet the ILineDataSet that is currently drawn
* @param dataProvider
*/
fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float
fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.github.mikephil.charting.utils.MPPointD
import kotlin.math.abs
import kotlin.math.max

open class BarHighlighter(barDataProvider: BarDataProvider?) : ChartHighlighter<BarDataProvider>(barDataProvider) {
open class BarHighlighter(barDataProvider: BarDataProvider) : ChartHighlighter<BarDataProvider>(barDataProvider) {
override fun getHighlight(x: Float, y: Float): Highlight? {
val high = super.getHighlight(x, y) ?: return null

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import com.github.mikephil.charting.components.YAxis.AxisDependency
import com.github.mikephil.charting.data.BarLineScatterCandleBubbleData
import com.github.mikephil.charting.data.DataSet
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider
import com.github.mikephil.charting.interfaces.datasets.IDataSet
import com.github.mikephil.charting.utils.MPPointD
import kotlin.math.abs
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.github.mikephil.charting.interfaces.dataprovider.BarDataProvider
import com.github.mikephil.charting.interfaces.dataprovider.CombinedDataProvider
import com.github.mikephil.charting.interfaces.datasets.IDataSet

open class CombinedHighlighter(dataProvider: CombinedDataProvider?, barChart: BarDataProvider) : ChartHighlighter<CombinedDataProvider>(dataProvider), IHighlighter {
open class CombinedHighlighter(dataProvider: CombinedDataProvider, barChart: BarDataProvider) : ChartHighlighter<CombinedDataProvider>(dataProvider), IHighlighter {
/**
* bar highlighter for supporting stacked highlighting
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.github.mikephil.charting.interfaces.datasets.IDataSet
import com.github.mikephil.charting.utils.MPPointD
import kotlin.math.abs

class HorizontalBarHighlighter(dataProvider: BarDataProvider?) : BarHighlighter(dataProvider) {
class HorizontalBarHighlighter(dataProvider: BarDataProvider) : BarHighlighter(dataProvider) {
override fun getHighlight(x: Float, y: Float): Highlight? {
val barData = provider!!.barData

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.mikephil.charting.interfaces.dataprovider

import com.github.mikephil.charting.data.BarData
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider

interface BarDataProvider : BarLineScatterCandleBubbleDataProvider {
val barData: BarData
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.mikephil.charting.interfaces.dataprovider

import com.github.mikephil.charting.data.BubbleData
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider

interface BubbleDataProvider : BarLineScatterCandleBubbleDataProvider {
val bubbleData: BubbleData?
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.mikephil.charting.interfaces.dataprovider

import com.github.mikephil.charting.data.CandleData
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider

interface CandleDataProvider : BarLineScatterCandleBubbleDataProvider {
val candleData: CandleData?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.github.mikephil.charting.interfaces.dataprovider
import com.github.mikephil.charting.components.YAxis
import com.github.mikephil.charting.components.YAxis.AxisDependency
import com.github.mikephil.charting.data.LineData
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider

interface LineDataProvider : BarLineScatterCandleBubbleDataProvider {
val lineData: LineData
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.mikephil.charting.interfaces.dataprovider

import com.github.mikephil.charting.data.ScatterData
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider

interface ScatterDataProvider : BarLineScatterCandleBubbleDataProvider {
val scatterData: ScatterData?
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.github.mikephil.charting.interfaces.dataprovider.base

import com.github.mikephil.charting.components.YAxis
import com.github.mikephil.charting.data.BarLineScatterCandleBubbleData
import com.github.mikephil.charting.utils.Transformer

interface BarLineScatterCandleBubbleDataProvider : IBaseProvider {
fun getTransformer(axis: YAxis.AxisDependency?): Transformer?
fun isInverted(axis: YAxis.AxisDependency?): Boolean
val lowestVisibleX: Float
val highestVisibleX: Float
override fun getData(): BarLineScatterCandleBubbleData<*>
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.github.mikephil.charting.interfaces.dataprovider;
package com.github.mikephil.charting.interfaces.dataprovider.base;

import android.graphics.RectF;

Expand All @@ -14,7 +14,7 @@
*
* @author Philipp Jahoda
*/
public interface ChartInterface {
public interface IBaseProvider {

/**
* Returns the minimum x value of the chart, regardless of zoom or translation.
Expand Down Expand Up @@ -56,7 +56,7 @@ public interface ChartInterface {
IValueFormatter getDefaultValueFormatter();

@Nullable
ChartData getData();
ChartData<?> getData();

int getMaxVisibleCount();
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.github.mikephil.charting.renderer
import com.github.mikephil.charting.animation.ChartAnimator
import com.github.mikephil.charting.data.DataSet
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.interfaces.dataprovider.BarLineScatterCandleBubbleDataProvider
import com.github.mikephil.charting.interfaces.dataprovider.base.BarLineScatterCandleBubbleDataProvider
import com.github.mikephil.charting.interfaces.datasets.IBarLineScatterCandleBubbleDataSet
import com.github.mikephil.charting.interfaces.datasets.IDataSet
import com.github.mikephil.charting.utils.ViewPortHandler
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import com.github.mikephil.charting.animation.ChartAnimator
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.formatter.IValueFormatter
import com.github.mikephil.charting.highlight.Highlight
import com.github.mikephil.charting.interfaces.dataprovider.ChartInterface
import com.github.mikephil.charting.interfaces.dataprovider.base.IBaseProvider
import com.github.mikephil.charting.interfaces.datasets.IDataSet
import com.github.mikephil.charting.utils.ViewPortHandler
import com.github.mikephil.charting.utils.convertDpToPixel
Expand Down Expand Up @@ -58,7 +58,7 @@ abstract class DataRenderer(
paintHighlight.color = Color.rgb(255, 187, 115)
}

protected open fun isDrawingValuesAllowed(chart: ChartInterface): Boolean {
protected open fun isDrawingValuesAllowed(chart: IBaseProvider): Boolean {
return chart.data!!.entryCount < chart.maxVisibleCount * viewPortHandler.scaleX
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import com.github.mikephil.charting.animation.ChartAnimator
import com.github.mikephil.charting.buffer.HorizontalBarBuffer
import com.github.mikephil.charting.highlight.Highlight
import com.github.mikephil.charting.interfaces.dataprovider.BarDataProvider
import com.github.mikephil.charting.interfaces.dataprovider.ChartInterface
import com.github.mikephil.charting.interfaces.dataprovider.base.IBaseProvider
import com.github.mikephil.charting.interfaces.datasets.IBarDataSet
import com.github.mikephil.charting.utils.Fill
import com.github.mikephil.charting.utils.MPPointF
Expand Down Expand Up @@ -457,7 +457,7 @@ open class HorizontalBarChartRenderer(
high.setDraw(bar.centerY(), bar.right)
}

override fun isDrawingValuesAllowed(chart: ChartInterface): Boolean {
override fun isDrawingValuesAllowed(chart: IBaseProvider): Boolean {
return (chart.data!!.entryCount < chart.maxVisibleCount
* viewPortHandler.scaleY)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ class CubicLineChartActivity : DemoBase(), OnSeekBarChangeListener {
set1.fillAlpha = 100
set1.setDrawHorizontalHighlightIndicator(false)
set1.fillFormatter = object : IFillFormatter {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float {
return binding.chart1.axisLeft.axisMinimum
}
}
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/kotlin/info/appdev/chartexample/DataTools.kt
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ class DataTools {
// set the filled area
lineDataSet01.setDrawFilled(true)
lineDataSet01.fillFormatter = object : IFillFormatter {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float {
return lineChart.axisLeft.axisMinimum
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ class FilledLineActivity : DemoBase() {
set1.highLightColor = Color.rgb(244, 117, 117)
set1.isDrawCircleHoleEnabled = false
set1.fillFormatter = object : IFillFormatter {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float {
// change the return value here to better understand the effect
// return 0;
return binding.chart1.axisLeft.axisMinimum
Expand All @@ -131,7 +131,7 @@ class FilledLineActivity : DemoBase() {
set2.isDrawCircleHoleEnabled = false
set2.highLightColor = Color.rgb(244, 117, 117)
set2.fillFormatter = object : IFillFormatter {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float {
// change the return value here to better understand the effect
// return 600;
return binding.chart1.axisLeft.axisMaximum
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import com.github.mikephil.charting.interfaces.datasets.ILineDataSet

@Suppress("unused")
class MyFillFormatter(private val fillPos: Float) : IFillFormatter {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider?): Float {
override fun getFillLinePosition(dataSet: ILineDataSet?, dataProvider: LineDataProvider): Float {
// your logic could be here
return fillPos
}
Expand Down
Loading