summaryrefslogtreecommitdiff
path: root/shared-bindings/vectorio/Polygon.c
AgeCommit message (Collapse)Author
2021-03-15run code formatting scriptmicroDev
2020-07-27Fix several type hintsTaku Fukada
2020-07-24Add and correct some type hintsTaku Fukada
2020-07-21Merge branch 'main' into type_hintsdherrada
2020-07-19fix 3169: Polygon.points propertyKenny
The getter for vectorio.Polygon#points was not updated with the data type change of the stored points list. This moves the implementation to shared_module and updates the data type to reflect the actual state.
2020-07-03Made every init return Nonedherrada
2020-06-03Fix up end of file and trailing whitespace.Diego Elio Pettenò
This can be enforced by pre-commit, but correct it separately to make it easier to review.
2020-05-18remove a duplication in polygon.cwarriorofwire
2020-05-18vectorio: speed up polygonwarriorofwire
This change takes polygon from 126k pixels per second fill to 240k pps fill on a reference 5 point star 50x66px polygon, updating both location and shape at 10hz. Tested on an m4 express feather. As a curiosity, the flat-out fill rate of a shape whose get_pixel is `return 0;` fills just shy of 375k pixels per second.
2020-05-12Move vectorio to stubsScott Shawcroft
2020-05-09Add vectorio: for drawing shapeswarriorofwire
vectorio builds on m4 express feather Concrete shapes are composed into a VectorShape which is put into a displayio Group for display. VectorShape provides transpose and x/y positioning for shape implementations. Included Shapes: * Circle - A radius; Circle is positioned at its axis in the VectorShape. - You can freely modify the radius to grow and shrink the circle in-place. * Polygon - An ordered list of points. - Beteween each successive point an edge is inferred. A final edge closing the shape is inferred between the last point and the first point. - You can modify the points in a Polygon. The points' coordinate system is relative to (0, 0) so if you'd like a top-center justified 10x20 rectangle you can do points [(-5, 0), (5, 0), (5, 20), (0, 20)] and your VectorShape x and y properties will position the rectangle relative to its top center point * Rectangle A width and a height.