Description
CircuitPython version
Adafruit CircuitPython 7.0.0-alpha.5 on 2021-07-21; Adafruit PyPortal with samd51j20
### Code/REPL
```python
import board
import displayio
import vectorio
main_group = displayio.Group()
board.DISPLAY.rotation = 0
#board.DISPLAY.rotation = 90
#board.DISPLAY.rotation = 180
#board.DISPLAY.rotation = 270
board.DISPLAY.show(main_group)
rect = vectorio.Rectangle(width=50, height=1)
rect_palette = displayio.Palette(2)
rect_palette[0] = 0xFFFFFF
rect_palette[1] = 0xFFFFFF
vector_shape = vectorio.VectorShape(shape=rect, x=50, y=50, pixel_shader=rect_palette)
main_group.append(vector_shape)
while True:
pass
Behavior
When the display is at rotation 0
the rectangle gets drawn as expected a 50px wide, 1px tall line:
When the display rotation is 90
we get a filled in rectangle, looks like 50px tall and over 100px wide, not sure of exact size:
When the display rotation is 180
we get a bigger filled rectangle, not sure of exact size:
When the display rotation is 270
we get a similar rectangle as the 90
degree one, but rotated 90 degrees:
Description
I'm not sure how to describe the exact relation, but I believe the x,y location that the tilegrid is placed at is determining the size and shape of the incorrectly drawn larger rectangles on all of the rotations except for 0
Additional information
These images depict a PyPortal but this issue has been seen on the MacroPad as well. I believe it would be affecting all devices that support displayio. I suspect there is something inside the core implementation of vectorio
that is not handling the rotation properly