Phil Howard
f533177731
PNG/JPEGDEC: Use MP_ROM_QSTR.
2025-04-25 17:33:53 +01:00
Phil Howard
9bf5562d24
Hub75: Remove 128x128 panel rotation hack.
2025-04-25 17:33:53 +01:00
Phil Howard
d0f2a8b1a2
CI: Bump MicroPython to v1.24.1.
2025-04-25 17:33:53 +01:00
Phil Howard
5e114e97c4
PicoVector: AF: Support for 16bit point count.
...
Somewhere in the conversion from C++ to C we lost support for 16-bit point counts.
Raise the internal point count to 16-bit, and check for a flag in the font.
If the flag is set, treat the point count as 16-bits, otherwise fallback to 8 for back compatibility.
2025-04-25 17:33:53 +01:00
Phil Howard
0d96ec051b
PicoVector: Fix fonts not rendering with no transform set.
2025-04-25 17:33:53 +01:00
Phil Howard
2f5ac9b2db
PicoVector: Fix bug in polygon iterator.
...
list(Polygon) should return a list of points, but crashed with non-empty polygons.
We were advancing to the next path and then retriving an invalid point count for building the tuple.
Save the point count before advancing to the next path.
2025-04-25 17:33:53 +01:00
Phil Howard
6efe234139
ST7789: Add RAMCTRL mentioned in #1040 .
2025-04-25 17:33:53 +01:00
Mike Bell
807d4ba7ef
PicoVector: Fix ppp arc memory corruption.
2025-04-25 17:33:52 +01:00
Mike Bell
9e7c2640d4
Hub75: Fix LED ghosting.
2025-04-25 17:33:52 +01:00
Mike Bell
82c3b73655
PicoVector: Fully initialise text metrics.
2025-04-25 17:33:52 +01:00
Phil Howard
27bd5eecde
PicoVector: Initialise pp_transform().
...
For some reason this was unset causing drawing to fail.
Reset it to a known good state in the constructor.
2025-04-25 17:33:52 +01:00
Phil Howard
660a19952b
PicoVector: Add arbitrary matrix transform.
2025-04-25 17:33:52 +01:00
Phil Howard
4c55038f94
PicoVector: Fix bug in Polygon.rectangle.
...
Fix spurious point in top-left corner causing a broken triangular
rectangle when any permutation of corners other than the bottom-left
is rounded.
2025-04-25 17:33:52 +01:00
Phil Howard
e1143e80f3
PicoVector: Fix bug in Polygon.regular.
2025-04-25 17:33:52 +01:00
Phil Howard
70a241ebd4
PicoGraphics: Check for out of range layers.
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
f900761280
PicoVector: Tweak for C++ compatibility.
2025-04-25 17:33:52 +01:00
Mike Bell
bebadbba72
PicoVector: Avoid clipping bottom right AA edges.
2025-04-25 17:33:52 +01:00
Jonathan Williamson
a0f35a6834
PicoVector: Add star and line primitives.
2025-04-25 17:33:52 +01:00
Phil Howard
54ecb2318c
PicoGraphics: Implement RGB888 alpha blending.
2025-04-25 17:33:52 +01:00
Mike Bell
23860d4315
Hub75: Reformat loop for performance.
...
~3.09ms to ~2.87ms per frame without overclock.
2025-04-25 17:33:52 +01:00
Phil Howard
73824a0219
Hub75: Performance improvements and stacked mode.
...
Inline and simplify the pixel flip for a 13.2ms -> 3.8ms speedup at 128x128 on RP2350 stock.
Drop RGB565 mode.
Add the ability to stack some panels, eg: 2x128x64 in a 128x127 configuration.
2025-04-25 17:33:52 +01:00
Phil Howard
d2728d4b06
PicoVector: Avoid MicroPython GC.
...
Since we're not using tracked allocation, any memory we don't explicitly
hold a reference to will be assumed unused by MicroPython's GC.
Pass up the pp_nodes and pp_node_counts points (hackily) to fix this.
2025-04-25 17:33:52 +01:00
Phil Howard
78eb6da31b
PicoVector: Remove * 4 from pp_nodes lookup.
2025-04-25 17:33:52 +01:00
Phil Howard
950789e7fe
PicoGraphics/Hub75: Add support for 128x128.
2025-04-25 17:33:52 +01:00
Phil Howard
15b0b69a28
PicoVector: Update example with text bounds.
2025-04-25 17:33:52 +01:00
Phil Howard
9359f679d7
PicoGraphics: Don't force Presto to RGB565.
2025-04-25 17:33:52 +01:00
Mike Bell
61b3e0e65f
PicoGraphics: Presto full res option.
2025-04-25 17:33:52 +01:00
Mike Bell
d1ec50bc3f
PicoVector: Apply overall transform to text rendering.
2025-04-25 17:33:52 +01:00
Mike Bell
650fcf6697
PicoVector: Add optional text max width and max height.
2025-04-25 17:33:52 +01:00
Phil Howard
8d8b950308
PicoVector: Revert the tile buffer to be fixed.
...
Ensure that MicroPython doesn't ever place the tile buffer into PSRAM
and trash performance.
2025-04-25 17:33:52 +01:00
Phil Howard
8f7c1b3c70
PicoVector: Runtime buffer allocation.
2025-04-25 17:33:52 +01:00
Phil Howard
859a9d8b61
PicoVector: Prefix some pretty-poly variables.
2025-04-25 17:33:52 +01:00
Phil Howard
9d7ada75a6
PicoGraphics: Non-blocking Inky update for #936 .
2025-04-25 17:33:52 +01:00
Phil Howard
a27118e446
Plasma: Add support for GPIOs >=32.
...
For both APA102 and WS2812 the pins used on the same PIO must be in the same range.
The GPIO base offset applies to the whole PIO and not individual state machines.
This means that for APA102 both data and clock must be in the same pin range,
ie: either 16-48 inclusive or 0-31 inclusive.
2025-04-25 17:33:52 +01:00
Phil Howard
0ea83622d0
PicoGraphics: Add Presto.
2025-04-25 17:33:52 +01:00
Phil Howard
85dee30657
PicoVector: Remove (ifdef guard) debug functions.
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
48ee9fde66
PicoGraphics: RGB565 skip layers if not enabled.
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
0f0c1ab8a2
PicoGraphics: Add layer support to PicoVector tile renderer.
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
eae591ae3c
PicoVector: Update C++ examples.
2025-04-25 17:33:52 +01:00
Phil Howard
1115900443
PicoVector: Rewrite around new linked-lists poly.
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
be5315dab3
PicoVector: Support float types in MicroPython bindings.
2025-04-25 17:33:52 +01:00
Phil Howard
ede2bad4f3
PicoVector: Remove malloc from MicroPython bindings.
2025-04-25 17:33:52 +01:00
Phil Howard
d188afcb11
PicoGraphics: Add get_clip.
2025-04-25 17:33:52 +01:00
Phil Howard
ed494ecf20
PicoVector: Fix x16 anti-aliasing.
2025-04-25 17:33:52 +01:00
Phil Howard
9642cdf2cd
PicoGraphics: Add RGB565 alpha blending support.
2025-04-25 17:33:52 +01:00