lv_display_private.h

Defines

LV_INV_BUF_SIZE

Buffer size for invalid areas

struct _lv_display_t

Public Members

int32_t hor_res

Horizontal resolution.

int32_t ver_res

Vertical resolution.

int32_t physical_hor_res

Horizontal resolution of the full / physical display. Set to -1 for fullscreen mode.

int32_t physical_ver_res

Vertical resolution of the full / physical display. Set to -1 for fullscreen mode.

int32_t offset_x

Horizontal offset from the full / physical display. Set to 0 for fullscreen mode.

int32_t offset_y

Vertical offset from the full / physical display. Set to 0 for fullscreen mode.

uint32_t dpi

DPI (dot per inch) of the display. Default value is LV_DPI_DEF.

lv_draw_buf_t *buf_1
lv_draw_buf_t *buf_2
lv_draw_buf_t *buf_act

Internal, used by the library

lv_display_flush_cb_t flush_cb

MANDATORY: Write the internal buffer (draw_buf) to the display. 'lv_display_flush_ready()' has to be called when finished

lv_display_flush_wait_cb_t flush_wait_cb

Used to wait while flushing is ready. It can do any complex logic to wait, including semaphores, mutexes, polling flags, etc. If not set flushing flag is used which can be cleared with lv_display_flush_ready()

volatile int flushing

1: flushing is in progress. (It can't be a bit field because when it's cleared from IRQ Read-Modify-Write issue might occur)

volatile int flushing_last

1: It was the last chunk to flush. (It can't be a bit field because when it's cleared from IRQ Read-Modify-Write issue might occur)

volatile uint32_t last_area

1: last area is being rendered

volatile uint32_t last_part

1: last part of the current area is being rendered

lv_display_render_mode_t render_mode
uint32_t antialiasing

1: anti-aliasing is enabled on this display.

uint32_t tile_cnt

Divide the display buffer into these number of tiles

uint32_t rendering_in_progress

1: The current screen rendering is in progress

lv_color_format_t color_format
lv_area_t inv_areas[32]

Invalidated (marked to redraw) areas

uint8_t inv_area_joined[32]
uint32_t inv_p
int32_t inv_en_cnt
lv_ll_t sync_areas

Double buffer sync areas (redrawn during last refresh)

lv_draw_buf_t _static_buf1

Used when user pass in a raw buffer as display draw buffer

lv_draw_buf_t _static_buf2
lv_layer_t *layer_head
void (*layer_init)(lv_display_t *disp, lv_layer_t *layer)
void (*layer_deinit)(lv_display_t *disp, lv_layer_t *layer)
lv_obj_t **screens

Screens of the display Array of screen objects.

lv_obj_t *sys_layer

lv_obj_t *top_layer

lv_obj_t *act_scr

Currently active screen on this display

lv_obj_t *bottom_layer

lv_obj_t *prev_scr

Previous screen. Used during screen animations

lv_obj_t *scr_to_load

The screen prepared to load in lv_screen_load_anim

uint32_t screen_cnt
uint8_t draw_prev_over_act
uint8_t del_prev

1: Draw previous screen over active screen

void *driver_data

1: Automatically delete the previous screen when the screen load animation is ready Custom user data

void *user_data

Custom user data

lv_event_list_t event_list
uint32_t rotation

Element of lv_display_rotation_t

lv_theme_t *theme

The theme assigned to the screen

lv_timer_t *refr_timer

A timer which periodically checks the dirty areas and refreshes them

uint32_t last_activity_time

Last time when there was activity on this display

lv_area_t refreshed_area

The area being refreshed

lv_obj_t *perf_label
lv_sysmon_backend_data_t perf_sysmon_backend
lv_sysmon_perf_info_t perf_sysmon_info
lv_obj_t *mem_label