LittlevGL  3.20.00.19
lv_obj.h
Go to the documentation of this file.
1 
6 #ifndef LV_OBJ_H
7 #define LV_OBJ_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  * INCLUDES
15  *********************/
16 #ifdef LV_CONF_INCLUDE_SIMPLE
17 #include "lv_conf.h"
18 #else
19 #include "../../../lv_conf.h"
20 #endif
21 
22 #include <stddef.h>
23 #include <stdbool.h>
24 #include "lv_style.h"
25 #include "../lv_misc/lv_types.h"
26 #include "../lv_misc/lv_area.h"
27 #include "../lv_misc/lv_mem.h"
28 #include "../lv_misc/lv_ll.h"
29 #include "../lv_misc/lv_color.h"
30 #include "../lv_misc/lv_log.h"
31 #include "../lv_hal/lv_hal.h"
32 
33 /*********************
34  * DEFINES
35  *********************/
36 
37 /*Error check of lv_conf.h*/
38 #if LV_HOR_RES_MAX == 0 || LV_VER_RES_MAX == 0
39 #error "LittlevGL: LV_HOR_RES_MAX and LV_VER_RES_MAX must be greater than 0"
40 #endif
41 
42 #if LV_ANTIALIAS > 1
43 #error "LittlevGL: LV_ANTIALIAS can be only 0 or 1"
44 #endif
45 
46 #define LV_MAX_ANCESTOR_NUM 8
47 
48 #define LV_EXT_CLICK_AREA_OFF 0
49 #define LV_EXT_CLICK_AREA_TINY 1
50 #define LV_EXT_CLICK_AREA_FULL 2
51 
52 /**********************
53  * TYPEDEFS
54  **********************/
55 
56 struct _lv_obj_t;
57 
58 
60 enum {
64 };
65 typedef uint8_t lv_design_mode_t;
66 
71 typedef bool (*lv_design_cb_t)(struct _lv_obj_t * obj, const lv_area_t * mask_p, lv_design_mode_t mode);
72 
73 enum {
95 };
96 typedef uint8_t lv_event_t;
103 typedef void (*lv_event_cb_t)(struct _lv_obj_t * obj, lv_event_t event);
104 
108 enum {
109  /*General signals*/
118  /*Input device related*/
127  /*Group related*/
132 };
133 typedef uint8_t lv_signal_t;
134 
135 typedef lv_res_t (*lv_signal_cb_t)(struct _lv_obj_t * obj, lv_signal_t sign, void * param);
136 
138 enum {
160 };
161 typedef uint8_t lv_align_t;
162 
163 #if LV_USE_OBJ_REALIGN
164 typedef struct
165 {
166  const struct _lv_obj_t * base;
167  lv_coord_t xofs;
168  lv_coord_t yofs;
169  lv_align_t align;
170  uint8_t auto_realign : 1;
171  uint8_t origo_align : 1;
173 } lv_reailgn_t;
174 #endif
175 
176 enum {
180 };
181 
182 typedef uint8_t lv_drag_dir_t;
183 
184 typedef struct _lv_obj_t
185 {
186  struct _lv_obj_t * par;
195  void * ext_attr;
196  const lv_style_t * style_p;
198 #if LV_USE_GROUP != 0
199  void * group_p;
200 #endif
201 
202 #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_TINY
203  uint8_t ext_click_pad_hor;
204  uint8_t ext_click_pad_ver;
205 #endif
206 
207 #if LV_USE_EXT_CLICK_AREA == LV_EXT_CLICK_AREA_FULL
208  lv_area_t ext_click_pad;
209 #endif
210 
211  /*Attributes and states*/
212  uint8_t click : 1;
213  uint8_t drag : 1;
214  uint8_t drag_throw : 1;
215  uint8_t drag_parent : 1;
216  uint8_t hidden : 1;
217  uint8_t top : 1;
218  uint8_t opa_scale_en : 1;
219  uint8_t parent_event : 1;
220  lv_drag_dir_t drag_dir : 2;
221  uint8_t reserved : 6;
222  uint8_t protect;
226  lv_coord_t ext_draw_pad;
228 #if LV_USE_OBJ_REALIGN
229  lv_reailgn_t realign;
230 #endif
231 
232 #if LV_USE_USER_DATA
233  lv_obj_user_data_t user_data;
234 #endif
235 
236 } lv_obj_t;
237 
238 /*Protect some attributes (max. 8 bit)*/
239 enum {
243  LV_PROTECT_POS = 0x04,
249 };
250 typedef uint8_t lv_protect_t;
251 
253 typedef struct
254 {
255  const char * type[LV_MAX_ANCESTOR_NUM];
257 } lv_obj_type_t;
258 
259 /**********************
260  * GLOBAL PROTOTYPES
261  **********************/
262 
266 void lv_init(void);
267 
268 /*--------------------
269  * Create and delete
270  *-------------------*/
271 
279 lv_obj_t * lv_obj_create(lv_obj_t * parent, const lv_obj_t * copy);
280 
287 
294 void lv_obj_del_async(struct _lv_obj_t *obj);
295 
300 void lv_obj_clean(lv_obj_t * obj);
301 
306 void lv_obj_invalidate(const lv_obj_t * obj);
307 
308 /*=====================
309  * Setter functions
310  *====================*/
311 
312 /*--------------------
313  * Parent/children set
314  *--------------------*/
315 
321 void lv_obj_set_parent(lv_obj_t * obj, lv_obj_t * parent);
322 
327 void lv_obj_move_foreground(lv_obj_t * obj);
328 
333 void lv_obj_move_background(lv_obj_t * obj);
334 
335 /*--------------------
336  * Coordinate set
337  * ------------------*/
338 
345 void lv_obj_set_pos(lv_obj_t * obj, lv_coord_t x, lv_coord_t y);
346 
352 void lv_obj_set_x(lv_obj_t * obj, lv_coord_t x);
353 
359 void lv_obj_set_y(lv_obj_t * obj, lv_coord_t y);
360 
367 void lv_obj_set_size(lv_obj_t * obj, lv_coord_t w, lv_coord_t h);
368 
374 void lv_obj_set_width(lv_obj_t * obj, lv_coord_t w);
375 
381 void lv_obj_set_height(lv_obj_t * obj, lv_coord_t h);
382 
391 void lv_obj_align(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_coord_t x_mod, lv_coord_t y_mod);
392 
401 void lv_obj_align_origo(lv_obj_t * obj, const lv_obj_t * base, lv_align_t align, lv_coord_t x_mod, lv_coord_t y_mod);
402 
407 void lv_obj_realign(lv_obj_t * obj);
408 
415 void lv_obj_set_auto_realign(lv_obj_t * obj, bool en);
416 
425 void lv_obj_set_ext_click_area(lv_obj_t * obj, lv_coord_t left, lv_coord_t right, lv_coord_t top, lv_coord_t bottom);
426 
427 /*---------------------
428  * Appearance set
429  *--------------------*/
430 
436 void lv_obj_set_style(lv_obj_t * obj, const lv_style_t * style);
437 
442 void lv_obj_refresh_style(lv_obj_t * obj);
443 
449 void lv_obj_report_style_mod(lv_style_t * style);
450 
451 /*-----------------
452  * Attribute set
453  *----------------*/
454 
460 void lv_obj_set_hidden(lv_obj_t * obj, bool en);
461 
467 void lv_obj_set_click(lv_obj_t * obj, bool en);
468 
475 void lv_obj_set_top(lv_obj_t * obj, bool en);
476 
482 void lv_obj_set_drag(lv_obj_t * obj, bool en);
483 
489 void lv_obj_set_drag_dir(lv_obj_t * obj, lv_drag_dir_t drag_dir);
490 
496 void lv_obj_set_drag_throw(lv_obj_t * obj, bool en);
497 
504 void lv_obj_set_drag_parent(lv_obj_t * obj, bool en);
505 
511 void lv_obj_set_parent_event(lv_obj_t * obj, bool en);
512 
518 void lv_obj_set_opa_scale_enable(lv_obj_t * obj, bool en);
519 
529 
535 void lv_obj_set_protect(lv_obj_t * obj, uint8_t prot);
536 
542 void lv_obj_clear_protect(lv_obj_t * obj, uint8_t prot);
543 
551 
559 lv_res_t lv_event_send(lv_obj_t * obj, lv_event_t event, const void * data);
560 
571 lv_res_t lv_event_send_func(lv_event_cb_t event_xcb, lv_obj_t * obj, lv_event_t event, const void * data);
572 
577 const void * lv_event_get_data(void);
578 
586 
592 void lv_signal_send(lv_obj_t * obj, lv_signal_t signal, void * param);
593 
600 
601 /*----------------
602  * Other set
603  *--------------*/
604 
611 void * lv_obj_allocate_ext_attr(lv_obj_t * obj, uint16_t ext_size);
612 
618 
619 /*=======================
620  * Getter functions
621  *======================*/
622 
628 lv_obj_t * lv_obj_get_screen(const lv_obj_t * obj);
629 
635 lv_disp_t * lv_obj_get_disp(const lv_obj_t * obj);
636 
637 /*---------------------
638  * Parent/children get
639  *--------------------*/
640 
646 lv_obj_t * lv_obj_get_parent(const lv_obj_t * obj);
647 
655 lv_obj_t * lv_obj_get_child(const lv_obj_t * obj, const lv_obj_t * child);
656 
664 lv_obj_t * lv_obj_get_child_back(const lv_obj_t * obj, const lv_obj_t * child);
665 
671 uint16_t lv_obj_count_children(const lv_obj_t * obj);
672 
677 uint16_t lv_obj_count_children_recursive(const lv_obj_t * obj);
678 
679 /*---------------------
680  * Coordinate get
681  *--------------------*/
682 
688 void lv_obj_get_coords(const lv_obj_t * obj, lv_area_t * cords_p);
689 
695 void lv_obj_get_inner_coords(const lv_obj_t * obj, lv_area_t * coords_p);
696 
702 lv_coord_t lv_obj_get_x(const lv_obj_t * obj);
703 
709 lv_coord_t lv_obj_get_y(const lv_obj_t * obj);
710 
716 lv_coord_t lv_obj_get_width(const lv_obj_t * obj);
717 
723 lv_coord_t lv_obj_get_height(const lv_obj_t * obj);
724 
730 lv_coord_t lv_obj_get_width_fit(lv_obj_t * obj);
731 
737 lv_coord_t lv_obj_get_height_fit(lv_obj_t * obj);
738 
745 
751 lv_coord_t lv_obj_get_ext_click_pad_left(const lv_obj_t * obj);
752 
758 lv_coord_t lv_obj_get_ext_click_pad_right(const lv_obj_t * obj);
759 
765 lv_coord_t lv_obj_get_ext_click_pad_top(const lv_obj_t * obj);
766 
772 lv_coord_t lv_obj_get_ext_click_pad_bottom(const lv_obj_t * obj);
773 
779 lv_coord_t lv_obj_get_ext_draw_pad(const lv_obj_t * obj);
780 
781 /*-----------------
782  * Appearance get
783  *---------------*/
784 
790 const lv_style_t * lv_obj_get_style(const lv_obj_t * obj);
791 
792 /*-----------------
793  * Attribute get
794  *----------------*/
795 
801 bool lv_obj_get_hidden(const lv_obj_t * obj);
802 
808 bool lv_obj_get_click(const lv_obj_t * obj);
809 
815 bool lv_obj_get_top(const lv_obj_t * obj);
816 
822 bool lv_obj_get_drag(const lv_obj_t * obj);
823 
829 lv_drag_dir_t lv_obj_get_drag_dir(const lv_obj_t * obj);
830 
836 bool lv_obj_get_drag_throw(const lv_obj_t * obj);
837 
843 bool lv_obj_get_drag_parent(const lv_obj_t * obj);
844 
850 bool lv_obj_get_parent_event(const lv_obj_t * obj);
851 
858 
865 
871 uint8_t lv_obj_get_protect(const lv_obj_t * obj);
872 
879 bool lv_obj_is_protected(const lv_obj_t * obj, uint8_t prot);
880 
887 
894 
901 
902 /*------------------
903  * Other get
904  *-----------------*/
905 
912 void * lv_obj_get_ext_attr(const lv_obj_t * obj);
913 
920 void lv_obj_get_type(lv_obj_t * obj, lv_obj_type_t * buf);
921 
922 #if LV_USE_USER_DATA
923 
928 lv_obj_user_data_t lv_obj_get_user_data(lv_obj_t * obj);
929 
935 lv_obj_user_data_t * lv_obj_get_user_data_ptr(lv_obj_t * obj);
936 
942 void lv_obj_set_user_data(lv_obj_t * obj, lv_obj_user_data_t data);
943 
944 #endif
945 
946 #if LV_USE_GROUP
947 
952 void * lv_obj_get_group(const lv_obj_t * obj);
953 
959 bool lv_obj_is_focused(const lv_obj_t * obj);
960 
961 #endif
962 
963 /**********************
964  * MACROS
965  **********************/
966 
981 #define LV_EVENT_CB_DECLARE(name) void name(lv_obj_t * obj, lv_event_t e)
982 
983 #ifdef __cplusplus
984 } /* extern "C" */
985 #endif
986 
987 #endif /*LV_OBJ_H*/
void lv_init(void)
void lv_obj_set_auto_realign(lv_obj_t *obj, bool en)
uint8_t hidden
Definition: lv_obj.h:216
Definition: lv_obj.h:93
void lv_obj_set_height(lv_obj_t *obj, lv_coord_t h)
lv_res_t lv_event_send(lv_obj_t *obj, lv_event_t event, const void *data)
Definition: lv_obj.h:63
lv_obj_t * lv_obj_get_child_back(const lv_obj_t *obj, const lv_obj_t *child)
Definition: lv_obj.h:143
Definition: lv_obj.h:119
lv_obj_t * lv_obj_get_child(const lv_obj_t *obj, const lv_obj_t *child)
Definition: lv_obj.h:146
bool lv_obj_is_protected(const lv_obj_t *obj, uint8_t prot)
Definition: lv_obj.h:75
lv_design_cb_t design_cb
Definition: lv_obj.h:193
lv_coord_t lv_obj_get_width_fit(lv_obj_t *obj)
Definition: lv_obj.h:123
Definition: lv_obj.h:243
lv_coord_t lv_obj_get_ext_click_pad_left(const lv_obj_t *obj)
void lv_obj_set_x(lv_obj_t *obj, lv_coord_t x)
uint8_t lv_design_mode_t
Definition: lv_obj.h:65
void lv_obj_set_drag_throw(lv_obj_t *obj, bool en)
Definition: lv_obj.h:157
Definition: lv_obj.h:184
Definition: lv_obj.h:82
lv_obj_t * lv_obj_create(lv_obj_t *parent, const lv_obj_t *copy)
lv_area_t coords
Definition: lv_obj.h:189
Definition: lv_obj.h:115
Definition: lv_obj.h:149
Definition: lv_obj.h:148
void lv_obj_align(lv_obj_t *obj, const lv_obj_t *base, lv_align_t align, lv_coord_t x_mod, lv_coord_t y_mod)
void lv_obj_clear_protect(lv_obj_t *obj, uint8_t prot)
void lv_obj_set_pos(lv_obj_t *obj, lv_coord_t x, lv_coord_t y)
Definition: lv_obj.h:179
lv_res_t(* lv_signal_cb_t)(struct _lv_obj_t *obj, lv_signal_t sign, void *param)
Definition: lv_obj.h:135
uint8_t opa_scale_en
Definition: lv_obj.h:218
lv_opa_t lv_obj_get_opa_scale(const lv_obj_t *obj)
lv_coord_t lv_obj_get_ext_click_pad_right(const lv_obj_t *obj)
void lv_obj_set_y(lv_obj_t *obj, lv_coord_t y)
lv_event_cb_t event_cb
Definition: lv_obj.h:191
lv_coord_t lv_obj_get_width(const lv_obj_t *obj)
Definition: lv_obj.h:129
Definition: lv_obj.h:111
void lv_obj_report_style_mod(lv_style_t *style)
Definition: lv_obj.h:159
void lv_obj_refresh_style(lv_obj_t *obj)
void lv_obj_set_click(lv_obj_t *obj, bool en)
lv_res_t lv_obj_del(lv_obj_t *obj)
Definition: lv_obj.h:151
Definition: lv_obj.h:242
const void * lv_event_get_data(void)
Definition: lv_hal_disp.h:127
bool lv_obj_get_top(const lv_obj_t *obj)
Definition: lv_obj.h:150
lv_drag_dir_t lv_obj_get_drag_dir(const lv_obj_t *obj)
lv_opa_t lv_obj_get_opa_scale_enable(const lv_obj_t *obj)
lv_coord_t lv_obj_get_ext_draw_pad(const lv_obj_t *obj)
Definition: lv_obj.h:113
Definition: lv_obj.h:112
const lv_style_t * lv_obj_get_style(const lv_obj_t *obj)
uint8_t parent_event
Definition: lv_obj.h:219
lv_disp_t * lv_obj_get_disp(const lv_obj_t *obj)
uint8_t top
Definition: lv_obj.h:217
void lv_obj_align_origo(lv_obj_t *obj, const lv_obj_t *base, lv_align_t align, lv_coord_t x_mod, lv_coord_t y_mod)
Definition: lv_obj.h:145
Definition: lv_obj.h:158
Definition: lv_obj.h:94
lv_coord_t lv_obj_get_ext_click_pad_bottom(const lv_obj_t *obj)
lv_coord_t lv_obj_get_height(const lv_obj_t *obj)
bool lv_obj_get_drag(const lv_obj_t *obj)
uint16_t lv_obj_count_children(const lv_obj_t *obj)
void lv_obj_set_drag_parent(lv_obj_t *obj, bool en)
Definition: lv_obj.h:92
void lv_obj_set_protect(lv_obj_t *obj, uint8_t prot)
void lv_obj_clean(lv_obj_t *obj)
void * lv_obj_get_ext_attr(const lv_obj_t *obj)
void lv_obj_set_design_cb(lv_obj_t *obj, lv_design_cb_t design_cb)
Definition: lv_obj.h:62
lv_signal_cb_t lv_obj_get_signal_cb(const lv_obj_t *obj)
Definition: lv_obj.h:126
Definition: lv_obj.h:140
void(* lv_event_cb_t)(struct _lv_obj_t *obj, lv_event_t event)
Event callback. Events are used to notify the user of some action being taken on the object...
Definition: lv_obj.h:103
Definition: lv_obj.h:147
Definition: lv_obj.h:77
Definition: lv_obj.h:125
bool lv_obj_get_auto_realign(lv_obj_t *obj)
lv_design_cb_t lv_obj_get_design_cb(const lv_obj_t *obj)
void * ext_attr
Definition: lv_obj.h:195
uint8_t drag_parent
Definition: lv_obj.h:215
Definition: lv_obj.h:90
struct _lv_obj_t * par
Definition: lv_obj.h:186
void lv_obj_set_size(lv_obj_t *obj, lv_coord_t w, lv_coord_t h)
uint8_t drag
Definition: lv_obj.h:213
Definition: lv_obj.h:177
void lv_signal_send(lv_obj_t *obj, lv_signal_t signal, void *param)
void lv_obj_move_background(lv_obj_t *obj)
bool lv_obj_get_drag_parent(const lv_obj_t *obj)
uint8_t lv_signal_t
Definition: lv_obj.h:133
Definition: lv_obj.h:144
Definition: lv_obj.h:124
const lv_style_t * style_p
Definition: lv_obj.h:196
uint16_t lv_obj_count_children_recursive(const lv_obj_t *obj)
Definition: lv_obj.h:120
void lv_obj_set_ext_click_area(lv_obj_t *obj, lv_coord_t left, lv_coord_t right, lv_coord_t top, lv_coord_t bottom)
Definition: lv_obj.h:240
Definition: lv_obj.h:154
bool lv_obj_get_drag_throw(const lv_obj_t *obj)
uint8_t lv_opa_t
Definition: lv_color.h:162
Definition: lv_obj.h:116
void lv_obj_del_async(struct _lv_obj_t *obj)
Definition: lv_obj.h:121
lv_obj_t * lv_obj_get_parent(const lv_obj_t *obj)
Definition: lv_obj.h:141
Definition: lv_obj.h:246
Definition: lv_obj.h:130
Definition: lv_obj.h:153
Definition: lv_obj.h:91
Definition: lv_obj.h:142
Definition: lv_obj.h:244
lv_coord_t ext_draw_pad
Definition: lv_obj.h:226
bool lv_obj_get_hidden(const lv_obj_t *obj)
void lv_obj_move_foreground(lv_obj_t *obj)
Definition: lv_obj.h:83
Definition: lv_obj.h:86
void lv_obj_set_top(lv_obj_t *obj, bool en)
Definition: lv_obj.h:178
Definition: lv_obj.h:128
void lv_obj_realign(lv_obj_t *obj)
lv_drag_dir_t drag_dir
Definition: lv_obj.h:220
Definition: lv_obj.h:253
Definition: lv_obj.h:76
uint8_t lv_protect_t
Definition: lv_obj.h:250
void lv_obj_set_width(lv_obj_t *obj, lv_coord_t w)
Definition: lv_obj.h:122
void lv_obj_set_event_cb(lv_obj_t *obj, lv_event_cb_t event_cb)
Definition: lv_obj.h:248
Definition: lv_obj.h:152
Definition: lv_obj.h:88
Definition: lv_obj.h:74
Definition: lv_obj.h:78
Definition: lv_obj.h:155
uint8_t lv_drag_dir_t
Definition: lv_obj.h:182
uint8_t drag_throw
Definition: lv_obj.h:214
void lv_obj_get_coords(const lv_obj_t *obj, lv_area_t *cords_p)
lv_coord_t lv_obj_get_height_fit(lv_obj_t *obj)
bool(* lv_design_cb_t)(struct _lv_obj_t *obj, const lv_area_t *mask_p, lv_design_mode_t mode)
Definition: lv_obj.h:71
lv_event_cb_t lv_obj_get_event_cb(const lv_obj_t *obj)
uint8_t lv_res_t
Definition: lv_types.h:33
uint8_t protect
Definition: lv_obj.h:222
void lv_obj_set_parent_event(lv_obj_t *obj, bool en)
void lv_obj_set_opa_scale_enable(lv_obj_t *obj, bool en)
lv_res_t lv_event_send_func(lv_event_cb_t event_xcb, lv_obj_t *obj, lv_event_t event, const void *data)
void lv_obj_set_parent(lv_obj_t *obj, lv_obj_t *parent)
bool lv_obj_get_click(const lv_obj_t *obj)
lv_coord_t lv_obj_get_x(const lv_obj_t *obj)
#define LV_MAX_ANCESTOR_NUM
Definition: lv_obj.h:46
void lv_obj_set_opa_scale(lv_obj_t *obj, lv_opa_t opa_scale)
uint8_t reserved
Definition: lv_obj.h:221
Definition: lv_obj.h:110
lv_opa_t opa_scale
Definition: lv_obj.h:224
void lv_obj_set_style(lv_obj_t *obj, const lv_style_t *style)
void lv_obj_set_drag(lv_obj_t *obj, bool en)
void lv_obj_get_type(lv_obj_t *obj, lv_obj_type_t *buf)
void lv_obj_set_drag_dir(lv_obj_t *obj, lv_drag_dir_t drag_dir)
void lv_obj_refresh_ext_draw_pad(lv_obj_t *obj)
void lv_obj_invalidate(const lv_obj_t *obj)
Definition: lv_obj.h:87
Definition: lv_obj.h:139
void * lv_obj_allocate_ext_attr(lv_obj_t *obj, uint16_t ext_size)
Definition: lv_obj.h:89
lv_ll_t child_ll
Definition: lv_obj.h:187
Definition: lv_obj.h:156
uint8_t click
Definition: lv_obj.h:212
uint8_t lv_obj_get_protect(const lv_obj_t *obj)
Definition: lv_obj.h:241
Definition: lv_area.h:46
lv_coord_t lv_obj_get_y(const lv_obj_t *obj)
Definition: lv_obj.h:84
bool lv_obj_get_parent_event(const lv_obj_t *obj)
Definition: lv_obj.h:79
Definition: lv_obj.h:85
Definition: lv_obj.h:61
lv_obj_t * lv_obj_get_screen(const lv_obj_t *obj)
void lv_obj_set_hidden(lv_obj_t *obj, bool en)
Definition: lv_style.h:57
Definition: lv_obj.h:131
uint8_t lv_event_t
Definition: lv_obj.h:96
uint8_t lv_align_t
Definition: lv_obj.h:161
lv_signal_cb_t signal_cb
Definition: lv_obj.h:192
Definition: lv_ll.h:33
Definition: lv_obj.h:114
struct _lv_obj_t lv_obj_t
lv_coord_t lv_obj_get_ext_click_pad_top(const lv_obj_t *obj)
Definition: lv_obj.h:81
void lv_obj_get_inner_coords(const lv_obj_t *obj, lv_area_t *coords_p)
void lv_obj_set_signal_cb(lv_obj_t *obj, lv_signal_cb_t signal_cb)
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale