@@ -6,7 +6,7 @@ import { MPPointF } from '../utils/MPPointF';
6
6
import { Transformer } from '../utils/Transformer' ;
7
7
import { Utils } from '../utils/Utils' ;
8
8
import { ViewPortHandler } from '../utils/ViewPortHandler' ;
9
- import { AxisRenderer , CustomRendererGridLineFunction , CustomRendererLimitLineFunction } from './AxisRenderer' ;
9
+ import { AxisRenderer , CustomRendererGridLineFunction , CustomRendererLabelFunction , CustomRendererLimitLineFunction } from './AxisRenderer' ;
10
10
11
11
export class XAxisRenderer extends AxisRenderer {
12
12
protected mXAxis : XAxis ;
@@ -162,6 +162,9 @@ export class XAxisRenderer extends AxisRenderer {
162
162
if ( entryCount === 0 ) {
163
163
return ;
164
164
}
165
+
166
+ const customRender = axis . getCustomRenderer ( ) ;
167
+ const customRenderFunction = customRender && customRender . drawLabel ;
165
168
const length = entryCount * 2 ;
166
169
if ( ! this . mLabelsPositionsBuffer || this . mLabelsPositionsBuffer . length !== length ) {
167
170
this . mLabelsPositionsBuffer = Utils . createArrayBuffer ( length ) ;
@@ -216,13 +219,17 @@ export class XAxisRenderer extends AxisRenderer {
216
219
}
217
220
}
218
221
}
219
- this . drawLabel ( c , label , x , pos , anchor , labelRotationAngleDegrees , paint ) ;
222
+ this . drawLabel ( c , label , x , pos , anchor , labelRotationAngleDegrees , paint , customRenderFunction ) ;
220
223
}
221
224
}
222
225
}
223
226
224
- protected drawLabel ( c : Canvas , formattedLabel , x , y , anchor : MPPointF , angleDegrees , paint ) {
225
- Utils . drawXAxisValue ( c , formattedLabel , x , y , paint , anchor , angleDegrees ) ;
227
+ protected drawLabel ( c : Canvas , formattedLabel , x , y , anchor : MPPointF , angleDegrees , paint , customRenderFunction ?: CustomRendererLabelFunction ) {
228
+ if ( customRenderFunction ) {
229
+ customRenderFunction ( c , this , formattedLabel , x , y , paint , anchor , angleDegrees ) ;
230
+ } else {
231
+ Utils . drawXAxisValue ( c , formattedLabel , x , y , paint , anchor , angleDegrees ) ;
232
+ }
226
233
}
227
234
228
235
/**
@@ -232,15 +239,18 @@ export class XAxisRenderer extends AxisRenderer {
232
239
* @param length
233
240
*/
234
241
protected drawMarkTicket ( c : Canvas , pos , ticklength ) {
235
- if ( ! this . mXAxis . isDrawMarkTicksEnabled ( ) ) return ;
242
+ const axis = this . mXAxis ;
243
+ if ( ! axis . isDrawMarkTicksEnabled ( ) ) return ;
236
244
245
+ const customRender = axis . getCustomRenderer ( ) ;
246
+ const customRenderFunction = customRender && customRender . drawMarkTicket ;
237
247
const length = this . mAxis . mEntryCount * 2 ;
238
248
if ( ! this . mRenderGridLinesBuffer || this . mRenderGridLinesBuffer . length !== length ) {
239
249
this . mRenderGridLinesBuffer = Utils . createArrayBuffer ( length ) ;
240
250
}
241
251
const positionsBuffer = this . mRenderGridLinesBuffer ;
242
252
for ( let i = 0 ; i < length ; i += 2 ) {
243
- positionsBuffer [ i ] = this . mXAxis . mEntries [ i / 2 ] ;
253
+ positionsBuffer [ i ] = axis . mEntries [ i / 2 ] ;
244
254
if ( i + 1 < length ) {
245
255
positionsBuffer [ i + 1 ] = 0 ;
246
256
}
@@ -251,7 +261,11 @@ export class XAxisRenderer extends AxisRenderer {
251
261
const paint = this . axisLinePaint ;
252
262
for ( let i = 0 ; i < length ; i += 2 ) {
253
263
const x = points [ i ] ;
254
- c . drawLine ( x , pos , x , pos + ticklength , paint ) ;
264
+ if ( customRenderFunction ) {
265
+ customRenderFunction ( c , this , x , pos , x , pos + ticklength , paint ) ;
266
+ } else {
267
+ c . drawLine ( x , pos , x , pos + ticklength , paint ) ;
268
+ }
255
269
}
256
270
}
257
271
@@ -288,7 +302,6 @@ export class XAxisRenderer extends AxisRenderer {
288
302
const customRenderFunction = customRender && customRender . drawGridLine ;
289
303
const rect = this . mAxis . isIgnoringOffsets ( ) ? this . mViewPortHandler . getChartRect ( ) : this . mViewPortHandler . getContentRect ( ) ;
290
304
for ( let i = 0 ; i < positions . length ; i += 2 ) {
291
- const x = positions [ i ] ;
292
305
this . drawGridLine ( c , rect , positions [ i ] , positions [ i + 1 ] , axis . mEntries [ i / 2 ] , paint , customRenderFunction ) ;
293
306
}
294
307
0 commit comments