lv_display_private.h

API reference for lv_display_private.h

Report on GitHub
See Also: Public APIThis is the private implementation. See the public header for the stable interface.lv_display.h

Structs

struct

_lv_display_t

MemberTypeDescription
ext_datalv_ext_data_t
hor_resint32_tHorizontal resolution.
ver_resint32_tVertical resolution.
physical_hor_resint32_tHorizontal resolution of the full / physical display. Set to -1 for fullscreen mode.
physical_ver_resint32_tVertical resolution of the full / physical display. Set to -1 for fullscreen mode.
offset_xint32_tHorizontal offset from the full / physical display. Set to 0 for fullscreen mode.
offset_yint32_tVertical offset from the full / physical display. Set to 0 for fullscreen mode.
dpiuint32_tDPI (dot per inch) of the display. Default value is LV_DPI_DEF.
buf_1lv_draw_buf_t *
buf_2lv_draw_buf_t *
buf_3lv_draw_buf_t *
buf_actlv_draw_buf_t *Internal, used by the library
flush_cblv_display_flush_cb_tMANDATORY: Write the internal buffer (draw_buf) to the display. 'lv_display_flush_ready()' has to be called when finished
flush_wait_cblv_display_flush_wait_cb_tUsed 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()
flushingvolatile int1: flushing is in progress. (It can't be a bit field because when it's cleared from IRQ Read-Modify-Write issue might occur)
flushing_lastvolatile int1: 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)
last_areavolatile uint32_t1: last area is being rendered
last_partvolatile uint32_t1: last part of the current area is being rendered
sync_cblv_display_sync_cb_tUsed to synchronize changes between frame buffers between renders. Called for each area needing to be synchronized before rendering next frame.
sync_wait_cblv_display_sync_wait_cb_tUsed to wait while syncing is ready. It can do any complex logic to wait, including semaphores, mutexes, polling flags, etc. If not set syncing flag is used which can be cleared with lv_display_sync_ready()
syncingvolatile int1: syncing is in progress. (It can't be a bit field because when it's cleared from IRQ Read-Modify-Write issue might occur)
syncing_lastvolatile int1: It was the last chunk to sync. (It can't be a bit field because when it's cleared from IRQ Read-Modify-Write issue might occur)
sync_areaslv_ll_tSync areas (redrawn during last refresh)
render_modelv_display_render_mode_t
antialiasinguint32_t1: anti-aliasing is enabled on this display.
tile_cntuint32_tDivide the display buffer into these number of tiles
stride_is_autouint32_t1: The stride of the buffers was not set explicitly.
rendering_in_progressuint32_t1: The current screen rendering is in progress
color_formatlv_color_format_t
inv_areaslv_area_t[32]Invalidated (marked to redraw) areas
inv_area_joineduint8_t[32]
inv_puint32_t
inv_en_cntint32_t
_static_buf1lv_draw_buf_tUsed when user pass in a raw buffer as display draw buffer
_static_buf2lv_draw_buf_t
layer_headlv_layer_t *
layer_initvoid(*)(lv_display_t *disp, lv_layer_t *layer)
layer_deinitvoid(*)(lv_display_t *disp, lv_layer_t *layer)
screenslv_obj_t **Screens of the display Array of screen objects.
sys_layerlv_obj_t *
top_layerlv_obj_t *
act_scrlv_obj_t *Currently active screen on this display
bottom_layerlv_obj_t *
prev_scrlv_obj_t *Previous screen. Used during screen animations
scr_to_loadlv_obj_t *The screen prepared to load in lv_screen_load_anim
screen_cntuint32_t
draw_prev_over_actuint8_t
del_prevuint8_t1: Draw previous screen over active screen
driver_datavoid *1: Automatically delete the previous screen when the screen load animation is ready Custom user data
user_datavoid *Custom user data
event_listlv_event_list_t
rotationuint32_tElement of lv_display_rotation_t
matrix_rotationuint32_t1: Use matrix for display rotation
themelv_theme_t *The theme assigned to the screen
refr_timerlv_timer_t *A timer which periodically checks the dirty areas and refreshes them
last_activity_timeuint32_tLast time when there was activity on this display
refreshed_arealv_area_tThe area being refreshed
vsync_countuint32_t
perf_labellv_obj_t *
perf_sysmon_backendlv_sysmon_backend_data_t
perf_sysmon_infolv_sysmon_perf_info_t
mem_labellv_obj_t *
Used by 1 function
  • lv_indev_set_display — param disp

Macros

LV_INV_BUF_SIZE

 
#define LV_INV_BUF_SIZE 32

Buffer size for invalid areas

Dependencies

How is this guide?

Last updated on

On this page