Yes, graphics32 (main unit = GR32.pas).
Luckily yes, all operation in gr32 uses 8bit per channel with 4 channel.
I may need to double check later, whether it uses ARGB or AGBR byte order.
But gr32 can work with any of both.
During development of my SVG for GR32, I found that we can work progressively :
* implement common shape : rectangle, circle, triangle
* implement advanced shape : basic polygon
* implement additional properties : line-width, line-join-types, known-web-colors-name, ..
* implement advanced properties : gradients
* implement difficult shape : full supported polygon : bezier, cubic-bezier, quad-bezier
my SVG has known bug at drawing a few specific gradients (compared with modern web browser result).
Anything else seem work fine in delphi.
It was a bit old project, I didn't yet use it with Lazarus/FPC.
I think it wouldn't be difficult to use in Lazarus, since GR32 has supported Lazarus since 0.9 already.
For such using SVG in embeded system,
GR32 internally has switchable function to use TFixed 32bit integer to simulate Single float operation;
You know what it mean.
GR32 also able to intensively uses modern processor instruction such SSE2, SSe3, MMX, etc..
GR32 always provide the similar assembler function together with pure pascal.
GR32 support VCL & LCL per widgetset basis.
Another SVG library is from FoembJump game by Benjamin 'BeRo' Rosseaux, the author of FPC for Delphi.
This game was written in Delphi/Lazarus, for desktop (windows/linux) and Android, operate over SDL.
There are SVG.pas shipped with game source code. A little bit messy, but work fine.
Arduino+LCD:
I have both arduino uno and the lcd, and played with them using tutorials.
But I totally idioit: didn't know how to port arduino C code to Pascal. I have no imagination about it.
Would you like to send me the "Hello from Pascal" lazarus project? At least I will have a workable source code to try with AVRDude?
Thanks you