Version 9 master - error in documentation

I am using MPLAB X IDE for a homemade board with a PIC32MZ1024EFH100 and a 4 inch TFT with an NT35510 controller and a 16-bit parallel interface.

According to the documentation on porting for version 9 master, the function to pass data to the TFT shall have the signature:

void my_flush_cb(lv_disp_t *disp, const lv_area_t * area, lv_color_t *buf)

when I use this in the function registering it:

lv_disp_set_flush_cb(disp, my_flush_cb)

I get an error message that the argument is incompatible. Looking into the source files of lvgl, I found that the signature shall be:

void my_flush_cb(lv_disp_t *disp, const lv_area_t * area, uint8_t *buf)

that is uint8_t in place of lv_color_t for the last argument of the function.

Now, I am missing a definition of the content of the uint8_t buffer:
Are the pixels stored as three consecutive 8-bit colors (RGB)?
Or, are they stored as two consecutive 8-bit data together giving a 16-bits RGB 565?
Or ?
I have set RGB565 as the color format in the lv_conf.h file.


version 9.0 is still in development so the documentation is going to lag behind changes that are made.

The data in the buffer object is going to be sizeof(lv_color_t) which is dependent on what you have your color depth set to in LVGL. if you are using 16 bit color then every 2 bytes is going to make up your RGB values. and if you have the depth set to 32 bit then it’s every 4 bytes makes up RGBA. I do not believe that 24 bit color has been added yet

you can also cast the buffer to lv_color_t

lv_color_t * color_buf = (lv_color_t *) buf;

Dear kdschlosser,
Thank you for your replies.
I look forward to the v9 being complete and stable.