Skip to content

Commit 968d47d

Browse files
authored
Merge pull request #88 from FoamyGuy/remove_shape_usage
remove displayio.Shape usage and replace with vectorio.Rectangle
2 parents e6ceb6c + 09d52ea commit 968d47d

File tree

1 file changed

+19
-32
lines changed

1 file changed

+19
-32
lines changed

adafruit_displayio_layout/layouts/grid_layout.py

+19-32
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
import math
3232
import displayio
33+
from vectorio import Rectangle
3334

3435
__version__ = "0.0.0+auto.0"
3536
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_Layout.git"
@@ -264,50 +265,40 @@ def _layout_cells(self) -> None:
264265
- int(cell["cell_anchor_point"][0] * _measured_width)
265266
)
266267

267-
_horizontal_divider_line = displayio.Shape(
268-
_measured_width + (2 * self.cell_padding),
269-
1,
270-
mirror_x=False,
271-
mirror_y=False,
272-
)
273-
274-
_bottom_divider_tilegrid = displayio.TileGrid(
275-
_horizontal_divider_line,
268+
_bottom_divider_rect = Rectangle(
276269
pixel_shader=palette,
270+
width=_measured_width + (2 * self.cell_padding),
271+
height=1,
277272
y=_bottom_line_loc_y,
278273
x=_bottom_line_loc_x,
279274
)
280275

281-
_top_divider_tilegrid = displayio.TileGrid(
282-
_horizontal_divider_line,
276+
_top_divider_rect = Rectangle(
277+
width=_measured_width + (2 * self.cell_padding),
278+
height=1,
283279
pixel_shader=palette,
284280
y=_top_line_loc_y,
285281
x=_top_line_loc_x,
286282
)
287283

288-
_vertical_divider_line = displayio.Shape(
289-
1,
290-
_measured_height + (2 * self.cell_padding),
291-
mirror_x=False,
292-
mirror_y=False,
293-
)
294-
295-
_left_divider_tilegrid = displayio.TileGrid(
296-
_vertical_divider_line,
284+
_left_divider_rect = Rectangle(
297285
pixel_shader=palette,
286+
width=1,
287+
height=_measured_height + (2 * self.cell_padding),
298288
y=_top_line_loc_y,
299289
x=_top_line_loc_x,
300290
)
301291

302-
_right_divider_tilegrid = displayio.TileGrid(
303-
_vertical_divider_line,
292+
_right_divider_rect = Rectangle(
304293
pixel_shader=palette,
294+
width=1,
295+
height=_measured_height + (2 * self.cell_padding),
305296
y=_right_line_loc_y,
306297
x=_right_line_loc_x,
307298
)
308299

309300
for line_obj in self._divider_lines:
310-
self.remove(line_obj["tilegrid"])
301+
self.remove(line_obj["rect"])
311302

312303
"""
313304
Only use bottom divider lines on the bottom row. All
@@ -324,8 +315,7 @@ def _layout_cells(self) -> None:
324315
):
325316
self._divider_lines.append(
326317
{
327-
"shape": _horizontal_divider_line,
328-
"tilegrid": _bottom_divider_tilegrid,
318+
"rect": _bottom_divider_rect,
329319
}
330320
)
331321

@@ -336,8 +326,7 @@ def _layout_cells(self) -> None:
336326
if grid_position_y in self.h_divider_line_rows:
337327
self._divider_lines.append(
338328
{
339-
"shape": _horizontal_divider_line,
340-
"tilegrid": _top_divider_tilegrid,
329+
"rect": _top_divider_rect,
341330
}
342331
)
343332

@@ -348,8 +337,7 @@ def _layout_cells(self) -> None:
348337
if grid_position_x in self.v_divider_line_cols:
349338
self._divider_lines.append(
350339
{
351-
"shape": _horizontal_divider_line,
352-
"tilegrid": _left_divider_tilegrid,
340+
"rect": _left_divider_rect,
353341
}
354342
)
355343
"""
@@ -367,13 +355,12 @@ def _layout_cells(self) -> None:
367355
):
368356
self._divider_lines.append(
369357
{
370-
"shape": _vertical_divider_line,
371-
"tilegrid": _right_divider_tilegrid,
358+
"rect": _right_divider_rect,
372359
}
373360
)
374361

375362
for line_obj in self._divider_lines:
376-
self.append(line_obj["tilegrid"])
363+
self.append(line_obj["rect"])
377364

378365
def add_content(
379366
self,

0 commit comments

Comments
 (0)