I’m working on an embedded system with a real time operating system (RTEMS). I have a simple (double buffered) frame buffer driver for a hardware that can only output the frame in exactly the direction it is in memory. I don’t have a rotation option in the hardware or on the display.
I tried to use the
set_px_cb() in the driver to have the pixels at the right locations. That covered all cases for the
lv_draw_basic.c. But now I noted that there is another file that can update the memory: The
Now I think about a number of possibilities (not sure yet which one will be used). One is to add a display rotation functionality to LittlevGL. As a rough direction I think about the following:
- find all locations in
lv_refr.cthat draw to the buffer
- modify them to allow a rotation of 0, 90, 180 and 270 degree based on
- either a
#ifdef(better efficiency but less universal)
- or a parameter in the display driver (less efficient but nice for multi display setups; although it’s no target for me, it maybe can be extended to support runtime rotation if someone want’s to add that in the future)
- either a
Would such an option be acceptable? If no I’ll strike that possibility from my list.