Mike Bell
94ee06e01b
PicoVector: Fix ppp arc memory corruption.
2025-03-28 10:31:01 +00:00
Mike Bell
37083a6952
Hub75: Fix LED ghosting.
2025-03-28 10:31:01 +00:00
Mike Bell
a08395ca84
PicoVector: Fully initialise text metrics.
2025-03-28 10:31:01 +00:00
Phil Howard
ba767b5217
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-03-28 10:31:01 +00:00
Phil Howard
17785d9299
PicoVector: Add arbitrary matrix transform.
2025-03-28 10:31:01 +00:00
Phil Howard
c3680857ba
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-03-28 10:31:01 +00:00
Phil Howard
ad7833e45a
PicoVector: Fix bug in Polygon.regular.
2025-03-28 10:31:01 +00:00
Phil Howard
3e7baf6906
PicoGraphics: Check for out of range layers.
2025-03-28 10:31:01 +00:00
Phil Howard
9162120b90
PicoVector: MPY bindings for line and arc.
2025-03-28 10:31:01 +00:00
Phil Howard
e6ae12e65a
PicoVector: Tweak for C++ compatibility.
2025-03-28 10:31:01 +00:00
Mike Bell
4986537f5d
PicoVector: Avoid clipping bottom right AA edges.
2025-03-28 10:31:01 +00:00
Jonathan Williamson
610b4e8e4b
PicoVector: Add star and line primitives.
2025-03-28 10:31:01 +00:00
Phil Howard
df5bda7363
PicoGraphics: Implement RGB888 alpha blending.
2025-03-28 10:31:01 +00:00
Mike Bell
545ea81e53
Hub75: Reformat loop for performance.
...
~3.09ms to ~2.87ms per frame without overclock.
2025-03-28 10:31:01 +00:00
Phil Howard
cb6bf89a33
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-03-28 10:31:01 +00:00
Phil Howard
8b32174fc9
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-03-28 10:31:01 +00:00
Phil Howard
8f87e1c75f
PicoVector: Remove * 4 from pp_nodes lookup.
2025-03-28 10:31:01 +00:00
Phil Howard
405cd490ea
PicoGraphics/Hub75: Add support for 128x128.
2025-03-28 10:31:01 +00:00
Phil Howard
d7f55fa3c7
PicoVector: Update example with text bounds.
2025-03-28 10:31:01 +00:00
Phil Howard
9a43f5f371
PicoGraphics: Don't force Presto to RGB565.
2025-03-28 10:31:01 +00:00
Mike Bell
2811350c50
PicoGraphics: Presto full res option.
2025-03-28 10:31:01 +00:00
Mike Bell
00bfbddaf0
PicoVector: Apply overall transform to text rendering.
2025-03-28 10:31:01 +00:00
Mike Bell
c94f4607de
PicoVector: Add optional text max width and max height.
2025-03-28 10:31:01 +00:00
Phil Howard
074570f99c
PicoVector: Revert the tile buffer to be fixed.
...
Ensure that MicroPython doesn't ever place the tile buffer into PSRAM
and trash performance.
2025-03-28 10:31:01 +00:00
Phil Howard
1bf73a20cd
PicoVector: Runtime buffer allocation.
2025-03-28 10:31:01 +00:00
Phil Howard
aa9d03f0cb
PicoVector: Prefix some pretty-poly variables.
2025-03-28 10:31:01 +00:00
Phil Howard
24eee10895
PicoGraphics: Non-blocking Inky update for #936 .
2025-03-28 10:31:01 +00:00
Phil Howard
64136cdb83
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-03-28 10:31:01 +00:00
Phil Howard
878af7c31f
PicoGraphics: Add Presto.
2025-03-28 10:31:01 +00:00
Phil Howard
95b6c213dd
PicoVector: Remove (ifdef guard) debug functions.
2025-03-28 10:31:01 +00:00
Phil Howard
089e5df243
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-03-28 10:31:01 +00:00
Phil Howard
983370f916
PicoGraphics: RGB565 skip layers if not enabled.
2025-03-28 10:31:01 +00:00
Phil Howard
09dbfa1e64
PicoVector: Improve text rendering and control.
2025-03-28 10:31:01 +00:00
Phil Howard
086b9d0135
PicoGraphics: Add layer support to PicoVector tile renderer.
2025-03-28 10:31:01 +00:00
Phil Howard
daa6603d1b
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-03-28 10:31:01 +00:00
Phil Howard
f0a09659f5
PicoVector: Update C++ examples.
2025-03-28 10:31:01 +00:00
Phil Howard
71bcc9d62c
PicoVector: Rewrite around new linked-lists poly.
2025-03-28 10:31:01 +00:00
Phil Howard
dd7d6262df
PicoVector: Use tile renderer for all pens.
2025-03-28 10:31:01 +00:00
Phil Howard
d39516f9e1
PicoVector: Support float types in MicroPython bindings.
2025-03-28 10:31:01 +00:00
Phil Howard
fa20fec507
PicoVector: Remove malloc from MicroPython bindings.
2025-03-28 10:31:01 +00:00
Phil Howard
177e5e8762
PicoGraphics: Add get_clip.
2025-03-28 10:31:01 +00:00
Phil Howard
79a33d5a42
PicoVector: Fix x16 anti-aliasing.
2025-03-28 10:31:01 +00:00
Phil Howard
7bc6956dd8
PicoGraphics: Add RGB565 alpha blending support.
2025-03-28 10:31:01 +00:00
Phil Howard
df9aeb8abb
PicoVector: Remove alright_fonts.cpp from cmake.
2025-03-28 10:31:01 +00:00
Phil Howard
3add0024f6
PicoVector: C++ basic bringup.
2025-03-28 10:31:01 +00:00
Phil Howard
0da5eda410
PicoVector: render text that doesn't end with a linebreak.
2025-03-28 10:31:01 +00:00
Phil Howard
9879e6d602
PicoVector: Fix out of bounds drawing.
...
pretty-poly.h is not giving us fully clipped rectangles, so revert to the
slower bounds checked pixel for now.
2025-03-28 10:31:01 +00:00
Phil Howard
2fc45d0737
PicoVector: fix pointer arithmatic in af_load_font_file.
...
Pointers were being incremented as if they were bytes, rather than larger
containers.
2025-03-28 10:31:01 +00:00
Phil Howard
a415261cc9
PicoVector: Break things until they work.
2025-03-28 10:31:01 +00:00
Phil Howard
3d6ac818a1
PicoVector: alright-fonts bringup.
2025-03-28 10:31:01 +00:00