File tree Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -326,11 +326,18 @@ where
326
326
backend : & mut DB ,
327
327
ps : ( u32 , u32 ) ,
328
328
) -> Result < ( ) , DrawingErrorKind < DB :: ErrorType > > {
329
+ let mut shift = self . shift . in_pixels ( & ps) . max ( 0 ) as f32 ;
329
330
let mut start = match points. next ( ) {
330
- Some ( c) => to_f ( c) ,
331
+ Some ( start_i) => {
332
+ // Draw the first marker if no shift
333
+ if shift == 0. {
334
+ let mk = ( self . func ) ( start_i) . into_dyn ( ) ;
335
+ mk. draw ( mk. point_iter ( ) . iter ( ) . copied ( ) , backend, ps) ?;
336
+ }
337
+ to_f ( start_i)
338
+ }
331
339
None => return Ok ( ( ) ) ,
332
340
} ;
333
- let mut shift = self . shift . in_pixels ( & ps) . max ( 0 ) as f32 ;
334
341
let spacing = self . spacing . in_pixels ( & ps) . max ( 0 ) as f32 ;
335
342
let mut dist = 0. ;
336
343
for curr in points {
@@ -352,12 +359,10 @@ where
352
359
}
353
360
// Draw if needed
354
361
if spacing <= dist {
355
- let start_i = to_i ( start) ;
356
- ( self . func ) ( start_i)
357
- . into_dyn ( )
358
- . draw ( std:: iter:: once ( start_i) , backend, ps) ?;
359
- dist = 0. ;
362
+ let mk = ( self . func ) ( to_i ( start) ) . into_dyn ( ) ;
363
+ mk. draw ( mk. point_iter ( ) . iter ( ) . copied ( ) , backend, ps) ?;
360
364
shift = 0. ;
365
+ dist = 0. ;
361
366
}
362
367
}
363
368
}
You can’t perform that action at this time.
0 commit comments