LVGL does not display the button correctly

hello ] want show a button in lcd 800*480 and lvgl v7.11 my code is:

static lv_disp_buf_t disp_buf;
static lv_disp_drv_t disp_drv;
static lv_color_t buf[LV_HOR_RES_MAX * LV_VER_RES_MAX / 10];

uint16_t* LCD_FB=(uint16_t*)0xC0000000; // LCD FRAME Buffer

//**********************************************************************

lv_init();     

lv_disp_buf_init(&disp_buf, buf, NULL, LV_HOR_RES_MAX*10);
lv_disp_drv_init(&disp_drv);

disp_drv.flush_cb = my_disp_flush;
disp_drv.buffer = &disp_buf;

disp_drv.hor_res = LV_HOR_RES_MAX; /Set the horizontal resolution of the display/
disp_drv.ver_res = LV_VER_RES_MAX; /Set the vertical resolution of the display/
lv_disp_drv_register(&disp_drv);

lv_obj_t * btn = lv_btn_create(lv_scr_act(), NULL); /Add a button the current screen/
lv_obj_set_pos(btn, 10, 10); /Set its position/
lv_obj_set_size(btn, 120, 50);

//*************************************************************

void my_disp_flush(lv_disp_drv_t * disp, const lv_area_t * area, lv_color_t * color_p)
{
int32_t x, y;
for(y = area->y1; y <= area->y2; y++) {
for(x = area->x1; x <= area->x2; x++) {
//set_pixel(x, y, color_p); / Put a pixel to the display.*/
LCD_FB[x+(y * LV_HOR_RES_MAX)]=(color_p->full);
color_p++;
}
}

lv_disp_flush_ready(disp);         /* Indicate you are ready with the flushing*/

}

//*************************************************************

but my lcd show it :

What do you think is the problem?