2929from adafruit_display_text import bitmap_label
3030import vectorio
3131from adafruit_displayio_layout .widgets .widget import Widget
32- from adafruit_displayio_layout .widgets import rectangle_helper
3332
3433try :
3534 import bitmaptools
@@ -138,7 +137,7 @@ class Cartesian(Widget):
138137
139138 - **range**: ``xrange`` and ``yrange`` This is the range in absolute units.
140139 For example, when using (20-90), the X axis will start at 20 finishing at 90.
141- However the height of the graph is given by the height parameter. The scale
140+ However, the height of the graph is given by the height parameter. The scale
142141 is handled internal to provide a 1:1 experience when you update the graph.
143142
144143
@@ -269,14 +268,14 @@ def __init__(
269268 self ._screen_palette [5 ] = self ._background_color
270269
271270 self ._corner_bitmap = displayio .Bitmap (10 , 10 , 5 )
272- rectangle_helper (
271+
272+ bitmaptools .fill_region (
273+ self ._corner_bitmap ,
273274 0 ,
274275 0 ,
275276 self ._axes_line_thickness ,
276277 self ._axes_line_thickness ,
277- self ._corner_bitmap ,
278278 2 ,
279- self ._screen_palette ,
280279 )
281280
282281 self ._corner_tilegrid = displayio .TileGrid (
@@ -336,28 +335,23 @@ def _get_font_height(font, scale: int) -> Tuple[int, int]:
336335 return font_width , font_height
337336
338337 def _draw_axes (self ) -> None :
339- # Draw x axes line
340- rectangle_helper (
338+
339+ bitmaptools .fill_region (
340+ self ._axesx_bitmap ,
341341 0 ,
342342 0 ,
343- self ._axes_line_thickness ,
344343 self .width ,
345- self ._axesx_bitmap ,
344+ self ._axes_line_thickness ,
346345 2 ,
347- self ._screen_palette ,
348- True ,
349346 )
350347
351- # Draw y axes line
352- rectangle_helper (
348+ bitmaptools . fill_region (
349+ self . _axesy_bitmap ,
353350 self ._axesy_width - self ._axes_line_thickness ,
354351 0 ,
352+ self ._axesy_width ,
355353 self .height ,
356- self ._axes_line_thickness ,
357- self ._axesy_bitmap ,
358354 2 ,
359- self ._screen_palette ,
360- True ,
361355 )
362356
363357 def _draw_ticks (self ) -> None :
@@ -382,30 +376,28 @@ def _draw_ticks(self) -> None:
382376 + 1 ,
383377 )
384378 self .append (tick_text )
385- rectangle_helper (
379+
380+ bitmaptools .fill_region (
381+ self ._axesx_bitmap ,
386382 text_dist ,
387383 self ._axes_line_thickness ,
388- self ._tick_line_height ,
389- self ._tick_line_thickness ,
390- self ._axesx_bitmap ,
384+ text_dist + self ._tick_line_thickness ,
385+ self ._axes_line_thickness + self ._tick_line_height ,
391386 1 ,
392- self ._screen_palette ,
393- True ,
394387 )
395388
396389 if self ._subticks :
397390 if i in subticks :
398391 # calc subtick_line_height; force min lineheigt to 1.
399392 subtick_line_height = max (1 , self ._tick_line_height // 2 )
400- rectangle_helper (
393+
394+ bitmaptools .fill_region (
395+ self ._axesx_bitmap ,
401396 text_dist ,
402397 self ._axes_line_thickness ,
403- subtick_line_height ,
398+ text_dist + 1 ,
399+ self ._axes_line_thickness + subtick_line_height ,
404400 1 ,
405- self ._axesx_bitmap ,
406- 1 ,
407- self ._screen_palette ,
408- True ,
409401 )
410402
411403 # Y axes ticks
@@ -425,34 +417,32 @@ def _draw_ticks(self) -> None:
425417 y = 0 + self .height - text_dist ,
426418 )
427419 self .append (tick_text )
428- rectangle_helper (
420+
421+ bitmaptools .fill_region (
422+ self ._axesy_bitmap ,
429423 self ._axesy_width
430424 - self ._axes_line_thickness
431425 - self ._tick_line_height
432426 - 1 ,
433427 text_dist ,
434- self ._tick_line_thickness ,
435- self ._tick_line_height ,
436- self ._axesy_bitmap ,
428+ self ._axesy_width - self ._axes_line_thickness - 1 ,
429+ text_dist + self ._tick_line_thickness ,
437430 1 ,
438- self ._screen_palette ,
439- True ,
440431 )
441432
442433 if self ._subticks :
443434 if i in subticks :
444- rectangle_helper (
435+
436+ bitmaptools .fill_region (
437+ self ._axesy_bitmap ,
445438 self ._axesy_width
446439 - self ._axes_line_thickness
447440 - self ._tick_line_height // 2
448441 - 1 ,
449442 text_dist ,
443+ self ._axesy_width - self ._axes_line_thickness - 1 ,
444+ text_dist + 1 ,
450445 1 ,
451- self ._tick_line_height // 2 ,
452- self ._axesy_bitmap ,
453- 1 ,
454- self ._screen_palette ,
455- True ,
456446 )
457447
458448 def _draw_pointers (self , x : int , y : int ) -> None :
0 commit comments