Wykres commitów

17 Commity (patch-exception-handling)

Autor SHA1 Wiadomość Data
Phil Howard fba0f1c962 PicoVector: Add tracked memory alloc, track the node buffer.
With a low GC threshold the node buffer was being collected (despite guards against this)
and causing further drawing operations to be corrupted.

Add a new tracked malloc method and use it for node buffers and font data.

Tweak pp_poly_add_path to accept a point count, avoiding many successive rellocs when
dealing with a known quantity of points (copying from an af_glyph_t.)
2025-05-09 17:11:27 +01:00
Phil Howard fbe2851eaf PicoVector: Improve transform handling.
* Store a reference to transform, so `set_transform(Transform())` is not GC'd until it is replaced
* Transformations return the transform, allowing chaining: `transform.rotate().scale().translate()`
* A new `get_transform` method for getting the currently set transform.
2025-04-25 17:33:53 +01:00
Phil Howard 660a19952b PicoVector: Add arbitrary matrix transform. 2025-04-25 17:33:52 +01:00
Phil Howard 85c2c659b9 PicoVector: MPY bindings for line and arc. 2025-04-25 17:33:52 +01:00
Phil Howard b40818c900 PicoVector: Refactor text multiline support.
Drop dependence on null terminated strings, and for a final linebreak.

Bound all text processing using the text length.
2025-04-25 17:33:52 +01:00
Phil Howard 8f7e8d4334 PicoVector: Improve text rendering and control. 2025-04-25 17:33:52 +01:00
Phil Howard 75a01b2fb8 PicoVector: Big refactor, ppp primitives.
* Remove Polygon types in favour of primitives .circle, .rectangle etc
* Add a new Transform type for building up transformation matrices
* Add support to set/clear transform on drawing
2025-04-25 17:33:52 +01:00
Phil Howard faf675c9f8 PicoVector: Use tile renderer for all pens. 2025-04-25 17:33:52 +01:00
Phil Howard d19971d7e0 PicoVector: Rewrite MicroPython bindings. 2025-04-25 17:33:52 +01:00
Phil Howard 517f8ae1cd global: Remove the STATIC macro.
Reflect the changes proposed in micropython/micropython#13763.
2024-06-03 13:44:23 +01:00
Phil Howard ae7e6e8c6c PicoVector: Add a bounds method for polygon bounds. 2023-09-12 13:18:33 +01:00
Phil Howard 231ceb70f2 PicoVector: Add basic polygon center of mass function. 2023-09-06 10:12:08 +01:00
Phil Howard 9d0501a43c PicoVector: Polygon iter interface. 2023-08-22 09:32:28 +01:00
Phil Howard 7c5ebfce8c PicoVector: Matrix transforms and polygon type. 2023-08-22 09:32:28 +01:00
Phil Howard c7d9fe411a PicoVector: Bugfixes and font/aa options. 2023-08-22 09:32:28 +01:00
Phil Howard 9e430fd68c PicoVector: Better separation of concerns, add Alright Fonts support. 2023-08-22 09:32:28 +01:00
Phil Howard c9a8d5ef49 PicoVector: Move polygon drawing to a new home. 2023-08-22 09:32:28 +01:00