29
29
from adafruit_display_text import bitmap_label
30
30
import vectorio
31
31
from adafruit_displayio_layout .widgets .widget import Widget
32
- from adafruit_displayio_layout .widgets import rectangle_helper
33
32
34
33
try :
35
34
import bitmaptools
@@ -138,7 +137,7 @@ class Cartesian(Widget):
138
137
139
138
- **range**: ``xrange`` and ``yrange`` This is the range in absolute units.
140
139
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
142
141
is handled internal to provide a 1:1 experience when you update the graph.
143
142
144
143
@@ -269,14 +268,14 @@ def __init__(
269
268
self ._screen_palette [5 ] = self ._background_color
270
269
271
270
self ._corner_bitmap = displayio .Bitmap (10 , 10 , 5 )
272
- rectangle_helper (
271
+
272
+ bitmaptools .fill_region (
273
+ self ._corner_bitmap ,
273
274
0 ,
274
275
0 ,
275
276
self ._axes_line_thickness ,
276
277
self ._axes_line_thickness ,
277
- self ._corner_bitmap ,
278
278
2 ,
279
- self ._screen_palette ,
280
279
)
281
280
282
281
self ._corner_tilegrid = displayio .TileGrid (
@@ -336,28 +335,23 @@ def _get_font_height(font, scale: int) -> Tuple[int, int]:
336
335
return font_width , font_height
337
336
338
337
def _draw_axes (self ) -> None :
339
- # Draw x axes line
340
- rectangle_helper (
338
+
339
+ bitmaptools .fill_region (
340
+ self ._axesx_bitmap ,
341
341
0 ,
342
342
0 ,
343
- self ._axes_line_thickness ,
344
343
self .width ,
345
- self ._axesx_bitmap ,
344
+ self ._axes_line_thickness ,
346
345
2 ,
347
- self ._screen_palette ,
348
- True ,
349
346
)
350
347
351
- # Draw y axes line
352
- rectangle_helper (
348
+ bitmaptools . fill_region (
349
+ self . _axesy_bitmap ,
353
350
self ._axesy_width - self ._axes_line_thickness ,
354
351
0 ,
352
+ self ._axesy_width ,
355
353
self .height ,
356
- self ._axes_line_thickness ,
357
- self ._axesy_bitmap ,
358
354
2 ,
359
- self ._screen_palette ,
360
- True ,
361
355
)
362
356
363
357
def _draw_ticks (self ) -> None :
@@ -382,30 +376,28 @@ def _draw_ticks(self) -> None:
382
376
+ 1 ,
383
377
)
384
378
self .append (tick_text )
385
- rectangle_helper (
379
+
380
+ bitmaptools .fill_region (
381
+ self ._axesx_bitmap ,
386
382
text_dist ,
387
383
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 ,
391
386
1 ,
392
- self ._screen_palette ,
393
- True ,
394
387
)
395
388
396
389
if self ._subticks :
397
390
if i in subticks :
398
391
# calc subtick_line_height; force min lineheigt to 1.
399
392
subtick_line_height = max (1 , self ._tick_line_height // 2 )
400
- rectangle_helper (
393
+
394
+ bitmaptools .fill_region (
395
+ self ._axesx_bitmap ,
401
396
text_dist ,
402
397
self ._axes_line_thickness ,
403
- subtick_line_height ,
398
+ text_dist + 1 ,
399
+ self ._axes_line_thickness + subtick_line_height ,
404
400
1 ,
405
- self ._axesx_bitmap ,
406
- 1 ,
407
- self ._screen_palette ,
408
- True ,
409
401
)
410
402
411
403
# Y axes ticks
@@ -425,34 +417,32 @@ def _draw_ticks(self) -> None:
425
417
y = 0 + self .height - text_dist ,
426
418
)
427
419
self .append (tick_text )
428
- rectangle_helper (
420
+
421
+ bitmaptools .fill_region (
422
+ self ._axesy_bitmap ,
429
423
self ._axesy_width
430
424
- self ._axes_line_thickness
431
425
- self ._tick_line_height
432
426
- 1 ,
433
427
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 ,
437
430
1 ,
438
- self ._screen_palette ,
439
- True ,
440
431
)
441
432
442
433
if self ._subticks :
443
434
if i in subticks :
444
- rectangle_helper (
435
+
436
+ bitmaptools .fill_region (
437
+ self ._axesy_bitmap ,
445
438
self ._axesy_width
446
439
- self ._axes_line_thickness
447
440
- self ._tick_line_height // 2
448
441
- 1 ,
449
442
text_dist ,
443
+ self ._axesy_width - self ._axes_line_thickness - 1 ,
444
+ text_dist + 1 ,
450
445
1 ,
451
- self ._tick_line_height // 2 ,
452
- self ._axesy_bitmap ,
453
- 1 ,
454
- self ._screen_palette ,
455
- True ,
456
446
)
457
447
458
448
def _draw_pointers (self , x : int , y : int ) -> None :
0 commit comments