Skip to content

Commit d2e8bdd

Browse files
committed
feat: setDrawLabelsBehindData
1 parent 1c440c2 commit d2e8bdd

File tree

2 files changed

+24
-12
lines changed

2 files changed

+24
-12
lines changed

src/charting/charts/BarLineChartBase.ts

+7-12
Original file line numberDiff line numberDiff line change
@@ -199,17 +199,17 @@ export abstract class BarLineChartBase<U extends Entry, D extends IBarLineScatte
199199
this.mAxisRendererRight.renderAxisLine(canvas);
200200

201201
if (this.mXAxis.isDrawGridLinesBehindDataEnabled()) this.mXAxisRenderer.renderGridLines(canvas);
202-
203202
if (this.mAxisLeft.isDrawGridLinesBehindDataEnabled()) this.mAxisRendererLeft.renderGridLines(canvas);
204-
205203
if (this.mAxisRight.isDrawGridLinesBehindDataEnabled()) this.mAxisRendererRight.renderGridLines(canvas);
206204

207205
if (xLimitEnabled && this.mXAxis.isDrawLimitLinesBehindDataEnabled()) this.mXAxisRenderer.renderLimitLines(canvas);
208-
209206
if (leftLimitEnabled && this.mAxisLeft.isDrawLimitLinesBehindDataEnabled()) this.mAxisRendererLeft.renderLimitLines(canvas);
210-
211207
if (rightLimitEnabled && this.mAxisRight.isDrawLimitLinesBehindDataEnabled()) this.mAxisRendererRight.renderLimitLines(canvas);
212208

209+
if (this.mXAxis.isDrawLabelsBehindDataEnabled()) this.mXAxisRenderer.renderAxisLabels(canvas);
210+
if (this.mAxisLeft.isDrawLabelsBehindDataEnabled()) this.mAxisRendererLeft.renderAxisLabels(canvas);
211+
if (this.mAxisRight.isDrawLabelsBehindDataEnabled()) this.mAxisRendererRight.renderAxisLabels(canvas);
212+
213213
// make sure the data cannot be drawn outside the content-rect
214214
if (this.isClipDataToContentEnabled()) {
215215
canvas.save();
@@ -220,12 +220,9 @@ export abstract class BarLineChartBase<U extends Entry, D extends IBarLineScatte
220220
}
221221

222222
if (!this.mXAxis.isDrawGridLinesBehindDataEnabled()) this.mXAxisRenderer.renderGridLines(canvas);
223-
224223
if (!this.mAxisLeft.isDrawGridLinesBehindDataEnabled()) this.mAxisRendererLeft.renderGridLines(canvas);
225-
226224
if (!this.mAxisRight.isDrawGridLinesBehindDataEnabled()) this.mAxisRendererRight.renderGridLines(canvas);
227225

228-
// if highlighting is enabled
229226
if (this.valuesToHighlight()) {
230227
this.mRenderer.drawHighlighted(canvas, this.mIndicesToHighlight, this.isDrawHighlightEnabled());
231228
}
@@ -238,14 +235,12 @@ export abstract class BarLineChartBase<U extends Entry, D extends IBarLineScatte
238235
this.mRenderer.drawExtras(canvas);
239236

240237
if (xLimitEnabled && !this.mXAxis.isDrawLimitLinesBehindDataEnabled()) this.mXAxisRenderer.renderLimitLines(canvas);
241-
242238
if (leftLimitEnabled && !this.mAxisLeft.isDrawLimitLinesBehindDataEnabled()) this.mAxisRendererLeft.renderLimitLines(canvas);
243-
244239
if (rightLimitEnabled && !this.mAxisRight.isDrawLimitLinesBehindDataEnabled()) this.mAxisRendererRight.renderLimitLines(canvas);
245240

246-
this.mXAxisRenderer.renderAxisLabels(canvas);
247-
this.mAxisRendererLeft.renderAxisLabels(canvas);
248-
this.mAxisRendererRight.renderAxisLabels(canvas);
241+
if (!this.mXAxis.isDrawLabelsBehindDataEnabled()) this.mXAxisRenderer.renderAxisLabels(canvas);
242+
if (!this.mAxisLeft.isDrawLabelsBehindDataEnabled()) this.mAxisRendererLeft.renderAxisLabels(canvas);
243+
if (!this.mAxisRight.isDrawLabelsBehindDataEnabled()) this.mAxisRendererRight.renderAxisLabels(canvas);
249244

250245
if (this.isClipValuesToContentEnabled()) {
251246
canvas.save();

src/charting/components/AxisBase.ts

+17
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ export abstract class AxisBase extends ComponentBase {
112112
* flag indicating the limit lines layer depth
113113
*/
114114
protected mDrawLimitLineBehindData = false;
115+
/**
116+
* flag indicating the labels layer depth
117+
*/
118+
protected mDrawLabelsBehindData = false;
115119

116120
/**
117121
* flag indicating the grid lines layer depth
@@ -438,6 +442,19 @@ export abstract class AxisBase extends ComponentBase {
438442
return this.mLimitLines;
439443
}
440444

445+
/**
446+
* If this is set to true, the labels are drawn behind the actual data,
447+
* otherwise on top. Default: false
448+
*
449+
* @param enabled
450+
*/
451+
public setDrawLabelsBehindData(enabled) {
452+
this.mDrawLabelsBehindData = enabled;
453+
}
454+
455+
public isDrawLabelsBehindDataEnabled() {
456+
return this.mDrawLabelsBehindData;
457+
}
441458
/**
442459
* If this is set to true, the LimitLines are drawn behind the actual data,
443460
* otherwise on top. Default: false

0 commit comments

Comments
 (0)