@@ -107,7 +107,7 @@ public override void Render(DrawingContext context)
107107 var sampleW = hasUserSamples ? Math . Min ( step * 0.5 - 2.5 , 14.0 ) : Math . Min ( step - 3 , 28.0 ) ;
108108 var maxSampleH = h - 24.0 ;
109109 var maxLabelEndX = w - 4.0 ;
110- var labelsToDraw = new List < ( FormattedText Text , Point Position , Point TickStart , Point TickEnd ) > ( ) ;
110+ var labelsToDraw = new List < XLabel > ( ) ;
111111
112112 using ( context . PushClip ( new Rect ( leftMargin , 0 , w - leftMargin , h ) ) )
113113 {
@@ -165,11 +165,7 @@ public override void Render(DrawingContext context)
165165 if ( labelEndX <= maxLabelEndX )
166166 {
167167 var labelStartX = labelCenterX - formattedLabel . Width * 0.5 ;
168- var labelStartY = h - formattedLabel . Height - 2.0 ;
169- labelsToDraw . Add ( ( formattedLabel ,
170- new Point ( labelStartX , labelStartY ) ,
171- new Point ( labelCenterX , maxSampleH + 4 ) ,
172- new Point ( labelCenterX , maxSampleH ) ) ) ;
168+ labelsToDraw . Add ( new ( formattedLabel , labelStartX , labelCenterX ) ) ;
173169 maxLabelEndX = labelStartX - 16.0 ;
174170 }
175171 }
@@ -185,10 +181,10 @@ public override void Render(DrawingContext context)
185181 } while ( true ) ;
186182 }
187183
188- foreach ( var ( text , position , tickStart , tickEnd ) in labelsToDraw )
184+ foreach ( var label in labelsToDraw )
189185 {
190- context . DrawLine ( tickPen , tickStart , tickEnd ) ;
191- context . DrawText ( text , position ) ;
186+ context . DrawLine ( tickPen , new Point ( label . TickPosition , maxSampleH + 4 ) , new Point ( label . TickPosition , maxSampleH ) ) ;
187+ context . DrawText ( label . Text , new Point ( label . TextPosition , maxSampleH + 6 ) ) ;
192188 }
193189 }
194190
@@ -288,6 +284,7 @@ protected override void OnPointerWheelChanged(PointerWheelEventArgs e)
288284 }
289285
290286 private record HitBox ( Rect Rect , ChartToolTip ToolTip ) ;
287+ private record XLabel ( FormattedText Text , double TextPosition , double TickPosition ) ;
291288
292289 private Models . StatisticsSamples _samples = null ;
293290 private double _offsetX = 0 ;
0 commit comments