mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
add USE_LV_USER_DATA_SINGLE/MULTI
This commit is contained in:
parent
663b8d6c89
commit
eb33596d02
@ -161,6 +161,12 @@
|
||||
#ifndef USE_LV_I18N
|
||||
#define USE_LV_I18N 1 /*1: Enable InternationalizatioN (multi-language) support*/
|
||||
#endif
|
||||
#ifndef USE_LV_USER_DATA_SINGLE
|
||||
#define USE_LV_USER_DATA_SINGLE 1 /*1: Add a `user_data` to drivers and objects*/
|
||||
#endif
|
||||
#ifndef USE_LV_USER_DATA_MULTI
|
||||
#define USE_LV_USER_DATA_MULTI 0 /*1: Add separate `user_data` for every callback*/
|
||||
#endif
|
||||
|
||||
/*Compiler settings*/
|
||||
#ifndef LV_ATTRIBUTE_TICK_INC
|
||||
|
@ -90,11 +90,9 @@
|
||||
#define USE_LV_GROUP 1 /*1: Enable object groups (for keyboards)*/
|
||||
#define USE_LV_GPU 1 /*1: Enable GPU interface*/
|
||||
#define USE_LV_FILESYSTEM 1 /*1: Enable file system (might be required for images*/
|
||||
<<<<<<< HEAD
|
||||
#define USE_LV_I18N 1 /*1: Enable InternationalizatioN (multi-language) support*/
|
||||
=======
|
||||
#define USE_LV_I18N 0 /*1: Enable InternationalizatioN (multi-language) support*/
|
||||
>>>>>>> i18n
|
||||
#define USE_LV_USER_DATA_SINGLE 1 /*1: Add a `user_data` to drivers and objects*/
|
||||
#define USE_LV_USER_DATA_MULTI 0 /*1: Add separate `user_data` for every callback*/
|
||||
|
||||
/*Compiler settings*/
|
||||
#define LV_ATTRIBUTE_TICK_INC /* Define a custom attribute to `lv_tick_inc` function */
|
||||
|
@ -69,22 +69,30 @@ typedef struct _disp_drv_t {
|
||||
|
||||
/* MANDATORY: Write the internal buffer (VDB) to the display. 'lv_flush_ready()' has to be called when finished */
|
||||
void (*flush_cb)(struct _disp_drv_t * disp_drv, const lv_area_t * area, lv_color_t * color_p);
|
||||
lv_disp_drv_user_data_t flush_user_data;
|
||||
|
||||
/* OPTIONAL: Extend the invalidated areas to match with the display drivers requirements
|
||||
* E.g. round `y` to, 8, 16 ..) on a monochrome display*/
|
||||
void (*rounder_cb)(struct _disp_drv_t * disp_drv, lv_area_t * area);
|
||||
lv_disp_drv_user_data_t rounder_user_data;
|
||||
|
||||
/* OPTIONAL: Set a pixel in a buffer according to the special requirements of the display
|
||||
* Can be used for color format not supported in LittelvGL. E.g. 2 bit -> 4 gray scales
|
||||
* Note: Much slower then drawing with supported color formats. */
|
||||
void (*set_px_cb)(struct _disp_drv_t * disp_drv, uint8_t * buf, lv_coord_t buf_w, lv_coord_t x, lv_coord_t y, lv_color_t color, lv_opa_t opa);
|
||||
lv_disp_drv_user_data_t set_px_user_data;
|
||||
|
||||
/* OPTIONAL: Called after every refresh cycle to tell the rendering and flushing time + the number of flushed pixels */
|
||||
void (*monitor_cb)(struct _disp_drv_t * disp_drv, uint32_t time, uint32_t px);
|
||||
|
||||
|
||||
#if USE_LV_USER_DATA_SINGLE
|
||||
lv_disp_drv_user_data_t user_data;
|
||||
#endif
|
||||
|
||||
#if USE_LV_USER_DATA_MULTI
|
||||
lv_disp_drv_user_data_t flush_user_data;
|
||||
lv_disp_drv_user_data_t rounder_user_data;
|
||||
lv_disp_drv_user_data_t set_px_user_data;
|
||||
lv_disp_drv_user_data_t monitor_user_data;
|
||||
#endif
|
||||
|
||||
#if USE_LV_GPU
|
||||
/*OPTIONAL: Blend two memories using opacity (GPU only)*/
|
||||
|
@ -72,7 +72,14 @@ typedef struct {
|
||||
typedef struct _lv_indev_drv_t {
|
||||
lv_hal_indev_type_t type; /*Input device type*/
|
||||
bool (*read_cb)(struct _lv_indev_drv_t * indev_drv, lv_indev_data_t *data); /*Function pointer to read_cb data. Return 'true' if there is still data to be read_cb (buffered)*/
|
||||
|
||||
#if USE_LV_USER_DATA_MULTI
|
||||
lv_indev_drv_user_data_t read_user_data; /*Pointer to user defined data, passed in 'lv_indev_data_t' on read*/
|
||||
#endif
|
||||
|
||||
#if USE_LV_USER_DATA_SINGLE
|
||||
lv_indev_drv_user_data_t user_data;
|
||||
#endif
|
||||
struct _disp_t * disp; /*Pointer to the assigned display*/
|
||||
} lv_indev_drv_t;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user