Phil Howard
fba7b53c36
PicoGraphics: Fixed-width bitmap font support.
2023-05-15 11:03:39 +01:00
Phil Howard
375df60ff3
PicoGraphics: Switch to string_view.
...
MicroPython's GET_STR_DATA_LEN macro returns a const byte array and len, which std::string would copy into heap.
Using string_view lets us wrap the existing const values.
2023-03-16 13:25:19 +00:00
Phil Howard
83f88c034d
PicoGraphics: Enable thickness for all pens. Document.
2023-03-08 14:34:28 +00:00
Phil Howard
cacb5749ae
Inky Frame: Add thickness support for Hershey text.
2023-03-08 11:35:07 +00:00
Phil Howard
bfb2f8d2ba
Inky 7.3: Drop unpredictable taupe from dither palette.
2023-02-23 14:37:06 +00:00
Phil Howard
bff2e79a56
Inky 5.7: Dithered drawing ported from 7.3.
2023-02-23 14:17:54 +00:00
Phil Howard
c9f6dfec4f
PicoGraphics: from_hsv to RGB::from_hsv.
2023-02-23 12:59:19 +00:00
Phil Howard
3e0cd28876
Inky 7.3: Support dithering of arbitrary colours.
...
`create_pen` returns an int with the most significant byte set to indicate it is an RGB888 colour.
Pen values without the most significant byte set are treated as palette entries and handled normally.
2023-02-23 12:09:52 +00:00
Phil Howard
bea90dfd60
JPEGDEC: Experimental 3bit/4bit palette no-dither.
2023-02-22 15:40:22 +00:00
Phil Howard
f4b0434229
PicoGraphics: Add create_pen_hsv to p4, p8 and rgb332 pens.
2023-02-21 12:52:46 +00:00
Phil Howard
bbeac41785
Cosmic Unicorn: Implement RGB888 frame convert.
2023-02-21 12:52:46 +00:00
Phil Howard
776383c111
Inky 7.3: Add ordered dither support.
2023-02-20 12:29:59 +00:00
AndrewCapon
0067b101a0
Inky 7.3: Direct pen & PSRAM update.
2023-02-20 12:29:52 +00:00
ZodiusInfuser
5a62a79a93
Renamed thick_line
2023-02-16 10:28:07 +00:00
Phil Howard
c3ad87765d
PicoGraphics: Extremely cursed thickness support for 1bit pens.
...
Experimental. There must be less cursed way to do this.
2023-02-10 22:15:07 +00:00
Philip Howard
c4decc5003
PicoGraphics: HSV Pen ( #665 )
...
Co-authored-by: Gee Bartlett <122281230+ageeandakeyboard@users.noreply.github.com>
2023-02-09 16:13:37 +00:00
Mike Bell
7f330d1a04
Pico Graphics: Use fixed size buffer for frame conversion
2022-08-23 23:07:13 +01:00
jon
2f5e3235e6
Add missing pen type enumeration value
2022-07-26 05:08:12 +01:00
jon
6ab9c8b1c7
Added RGB88 pen type
2022-07-26 04:55:32 +01:00
Phil Howard
f8e751ebff
PicoGraphics: Fix 3Bit mode dithering for Inky Frame.
2022-07-13 14:30:14 +01:00
Phil Howard
f85343012a
PicoGraphics: Power off added for UC8151.
2022-07-06 14:25:42 +01:00
Phil Howard
6c1556a429
PicoGraphics: 1bit/1bitY dither all drawing operations.
...
Note: Pen now ranges from 0 (black) to 15 (white). Values between will be dithered ala Badger 2040.
2022-07-06 11:32:56 +01:00
Phil Howard
12866a0b7b
PicoGraphics/JPEGDEC: Use PicoGraphics dither.
2022-07-06 10:56:56 +01:00
Phil Howard
cb5f8308a0
PicoGraphics/UC8159: 3bit bitplane pen mode.
...
Add a 3bit pen mode to save 1/4th the RAM needed for the 600x448 Inky Frame.
2022-06-30 15:25:02 +01:00
Phil Howard
16aae0b1f2
PicoGraphics: Partial update/speed support. Tidyup.
2022-06-27 17:32:30 +01:00
Phil Howard
04d8d66390
UC8151: New DisplayDriver based UC8151 driver.
...
HACK: Adds PicoGraphics_Pen1BitY to work around the UC8151 weird addressing.
TODO: Replace hack with an in-place transform to UC8151 pixel order from Pen1Bit.
2022-06-23 14:30:36 +01:00
jon
b0a386f240
PicoGraphics: RGB332 use 332->565 flash LUT.
2022-06-17 11:04:09 +01:00
jon
077159adeb
PicoGraphics: Add set_pixel_span and call where appropriate.
2022-06-17 11:04:02 +01:00
Phil Howard
76715e45f8
ST7789: Convert Parallel IO to PIO + DMA.
...
Make display updates around 4x faster. Requires a PIO + SM to run Tufty 2040.
2022-06-17 11:03:55 +01:00
jon
360bf4310c
SH1107: Add driver and example.
...
Add 1bit pen mode to PicoGraphics.
TODO:
* Rotation support
* Sizes other than 128x128 support
2022-06-15 16:57:40 +01:00
Phil Howard
27d571b473
PicoGraphics: Tidy up dithering.
2022-06-14 15:06:44 +01:00
Phil Howard
eb303ae811
PicoGraphics: Integer sprite scaling.
2022-06-14 13:28:27 +01:00
Phil Howard
5d7113e8c9
PicoGraphics: Basic 128x128 RGB332 spritesheet support.
2022-06-13 20:12:03 +01:00
Phil Howard
582c67570a
PicoGraphics: Refactor pen types into their own cpp files.
2022-06-13 20:12:03 +01:00
Phil Howard
2419f0ef45
PicoGraphics/JPEGDEC: RGB332 per channel fast dither.
2022-06-13 20:12:03 +01:00
Phil Howard
602d1b41dd
PicoGraphics: Attempt at dither and scanline interrupts.
...
Currently both unused and both very slow.
Dither may only be feasible for <=8 colour displays.
JPEGDEC will dither to 4-bit greyscale quite happily.
2022-06-13 20:12:03 +01:00
Phil Howard
62818a5f49
PicoGraphics: Palettes as RGB, Scanline convert with callback.
2022-06-13 20:12:03 +01:00
Phil Howard
1a9ebb7b6e
PicoGraphics: More pen conversion, better names.
2022-06-13 20:12:03 +01:00
Phil Howard
a558d35cab
PicoGraphics: Remove last vestiges of template approach.
2022-06-13 20:12:03 +01:00
Phil Howard
49b62515c2
PicoGraphicS: Hershey support, bugfixes, tidyup.
2022-06-13 20:12:03 +01:00
Phil Howard
fc1561e54b
PicoGraphics: Fix set_framebuffer.
2022-06-13 20:12:03 +01:00
Phil Howard
b13470b4fb
PicoGraphics: Add set_palette and set_font.
2022-06-13 20:12:03 +01:00
Phil Howard
4848e7ba59
PicoGraphics/ST7789/ST3375: Fixup C++ examples and libraries.
2022-06-13 20:12:03 +01:00
Phil Howard
67f1331b23
ST7789 -> PicoGraphics
...
* Absorb ST7735 support into the generic ST7789 driver and rename to PicoGraphics
* Delete obsolete MicroPython modules
* Refactor PicoGraphics to inherited class for each pen type
* Refactor ST7789 and ST7735 to derive from DisplayDriver
* Allow user to set pen_type in MicroPython constructor for RGB565, RGB332, P8 and P4 modes
2022-06-13 20:11:49 +01:00
Phil Howard
1a251822f5
ST7735: Update 160x80 LCD to new PicoGraphics<PenRGB565>
2022-06-13 20:11:09 +01:00
Phil Howard
7e4725d1cd
ST7789/PicoGraphics: Templated framebuffer formats.
2022-06-13 20:11:09 +01:00
Phil Howard
65788ae6bf
ST7789/PicoGraphics: Faster RGB332 mode lookups.
...
Replace palette search in RGB332 mode with a simple return of the RGB565 colour packed to RGB332,
since this is identical to its index in the palette.
2022-06-13 20:11:09 +01:00
Phil Howard
9b8d215cd3
ST7789/PicoGraphics: Update C++ libs and examples.
2022-06-13 20:11:09 +01:00
Phil Howard
c13f53092d
ST7789/PicoGraphics: Fix palette bugs, add reserve.
2022-06-13 20:11:09 +01:00
Phil Howard
a483b2aad4
ST7789/PicoGraphics: Refactor for init & rotation.
2022-06-13 20:11:09 +01:00