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
Phil Howard
568f329efc
PicoVector: Remove alright_fonts.cpp from cmake.
2025-04-25 17:33:52 +01:00
Phil Howard
db4670bb8e
PicoVector: C++ basic bringup.
2025-04-25 17:33:52 +01:00
Phil Howard
e2ce6eb416
PicoVector: render text that doesn't end with a linebreak.
2025-04-25 17:33:52 +01:00
Phil Howard
e48c798bdb
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-04-25 17:33:52 +01:00
Phil Howard
56d430b862
PicoVector: fix pointer arithmatic in af_load_font_file.
...
Pointers were being incremented as if they were bytes, rather than larger
containers.
2025-04-25 17:33:52 +01:00
Phil Howard
116df431fb
PicoVector: Break things until they work.
2025-04-25 17:33:52 +01:00
Phil Howard
9c0e696230
PicoVector: alright-fonts bringup.
2025-04-25 17:33:52 +01:00
Phil Howard
9250e129db
PicoVector: Swap rotate translation order.
2025-04-25 17:33:52 +01:00
Phil Howard
116268b6f5
PicoVector: Vendor pretty-poly and tweak rotation.
2025-04-25 17:33:52 +01:00
Phil Howard
a7a98ae3aa
PicoVector: Suppress errors.
...
Ignore sign compare and narrowing conversion errors in pretty-poly.h.
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
9f1d68dbec
PicoVector: Rewrite around new C pretty-poly.h.
2025-04-25 17:33:52 +01:00
Phil Howard
1a8f8e9aae
PicoGraphics: Support multiple layers in more types.
2025-04-25 17:33:52 +01:00
Phil Howard
354c95ca61
PicoGraphics: Layers.
...
Add preliminary support for multiple layered drawing surfaces.
Allows, for example, static content to be loaded into one layer and
remain unmodified while the above layer contains animations.
Particularly useful for drawing PNG or JPEG UI elements which are
then overdrawn with text or animated elements, without paying the
cost of loading/decoding every frame.
2025-04-25 17:33:52 +01:00
Philip Howard
a3811b8330
Merge pull request #1075 from pimoroni/feature/python-linting-update
...
QA/CI: Update and apply Python and MicroPython linting rules.
2025-04-25 17:33:11 +01:00
Phil Howard
4ebdff414e
QA: Lint Python tools.
2025-04-25 17:04:26 +01:00