multi-disp: minor updates

This commit is contained in:
Gabor Kiss-Vamosi
2019-02-12 16:20:59 +01:00
parent b15ffa3d89
commit 7571bedc46
4 changed files with 23 additions and 6 deletions

View File

@@ -52,6 +52,18 @@ void lv_disp_pop_from_inv_buf(lv_disp_t * disp, uint16_t num)
else disp->inv_p -= num;
}
void lv_disp_assign_screen(lv_disp_t * disp, lv_obj_t * scr)
{
lv_disp_t * old_disp = lv_scr_get_disp(scr);
if(old_disp == disp) {
LV_LOG_WARN("lv_disp_assign_screen: tried to assign to the same screen")
return;
}
lv_ll_chg_list(&old_disp->scr_ll, &disp->scr_ll, scr);
}
/**********************
* STATIC FUNCTIONS
**********************/

View File

@@ -14,6 +14,7 @@ extern "C" {
* INCLUDES
*********************/
#include "../lv_hal/lv_hal.h"
#include "lv_obj.h"
/*********************
* DEFINES
@@ -26,6 +27,7 @@ extern "C" {
/**********************
* GLOBAL PROTOTYPES
**********************/
void lv_disp_assign_screen(lv_disp_t * disp, lv_obj_t * scr);
/**
* Get the number of areas in the buffer

View File

@@ -111,7 +111,7 @@ void lv_vdb_flush(void)
/*Flush the rendered content to the display*/
lv_disp_t * disp = lv_refr_get_disp_refreshing();
if(disp->driver.disp_flush) disp->driver.disp_flush(vdb_act->area.x1, vdb_act->area.y1, vdb_act->area.x2, vdb_act->area.y2, vdb_act->buf);
if(disp->driver.disp_flush) disp->driver.disp_flush(disp, &vdb_act->area, vdb_act->buf);
#if LV_VDB_DOUBLE