![]() |
![]() |
|
LittlevGL
3.20.00.19
|
#include "../../../lv_conf.h"#include <stddef.h>#include <stdbool.h>#include "lv_style.h"#include "../lv_misc/lv_types.h"#include "../lv_misc/lv_area.h"#include "../lv_misc/lv_mem.h"#include "../lv_misc/lv_ll.h"#include "../lv_misc/lv_color.h"#include "../lv_misc/lv_log.h"#include "../lv_hal/lv_hal.h"

Go to the source code of this file.
Data Structures | |
| struct | _lv_obj_t |
| struct | lv_obj_type_t |
Macros | |
| #define | LV_MAX_ANCESTOR_NUM 8 |
| #define | LV_EXT_CLICK_AREA_OFF 0 |
| #define | LV_EXT_CLICK_AREA_TINY 1 |
| #define | LV_EXT_CLICK_AREA_FULL 2 |
| #define | LV_EVENT_CB_DECLARE(name) void name(lv_obj_t * obj, lv_event_t e) |
Typedefs | |
| typedef uint8_t | lv_design_mode_t |
| typedef bool(* | lv_design_cb_t) (struct _lv_obj_t *obj, const lv_area_t *mask_p, lv_design_mode_t mode) |
| typedef uint8_t | lv_event_t |
| typedef 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. For details, see lv_event_t. More... | |
| typedef uint8_t | lv_signal_t |
| typedef lv_res_t(* | lv_signal_cb_t) (struct _lv_obj_t *obj, lv_signal_t sign, void *param) |
| typedef uint8_t | lv_align_t |
| typedef uint8_t | lv_drag_dir_t |
| typedef struct _lv_obj_t | lv_obj_t |
| typedef uint8_t | lv_protect_t |
| #define LV_MAX_ANCESTOR_NUM 8 |
| #define LV_EXT_CLICK_AREA_OFF 0 |
| #define LV_EXT_CLICK_AREA_TINY 1 |
| #define LV_EXT_CLICK_AREA_FULL 2 |
| #define LV_EVENT_CB_DECLARE | ( | name | ) | void name(lv_obj_t * obj, lv_event_t e) |
Helps to quickly declare an event callback function. Will be expanded to: void <name> (lv_obj_t * obj, lv_event_t e)
Examples: static LV_EVENT_CB_DECLARE(my_event1); //Protoype declaration
static LV_EVENT_CB_DECLARE(my_event1) { if(e == LV_EVENT_CLICKED) { lv_obj_set_hidden(obj ,true); } }
| typedef uint8_t lv_design_mode_t |
| typedef bool(* lv_design_cb_t) (struct _lv_obj_t *obj, const lv_area_t *mask_p, lv_design_mode_t mode) |
The design callback is used to draw the object on the screen. It accepts the object, a mask area, and the mode in which to draw the object.
| typedef uint8_t lv_event_t |
Type of event being sent to the object.
| typedef 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. For details, see lv_event_t.
| typedef uint8_t lv_signal_t |
| typedef lv_res_t(* lv_signal_cb_t) (struct _lv_obj_t *obj, lv_signal_t sign, void *param) |
| typedef uint8_t lv_align_t |
| typedef uint8_t lv_drag_dir_t |
| typedef uint8_t lv_protect_t |
| anonymous enum |
| anonymous enum |
| anonymous enum |
Signals are for use by the object itself or to extend the object's functionality. Applications should use lv_obj_set_event_cb to be notified of events that occur on the object.
| anonymous enum |
Object alignment.
| anonymous enum |
| anonymous enum |
| void lv_init | ( | void | ) |
Init. the 'lv' library.
Create a basic object
| parent | pointer to a parent object. If NULL then a screen will be created |
| copy | pointer to a base object, if not NULL then the new object will be copied from it |
Delete 'obj' and all of its children
| obj | pointer to an object to delete |
| void lv_obj_del_async | ( | struct _lv_obj_t * | obj | ) |
Helper function for asynchronously deleting objects. Useful for cases where you can't delete an object directly in an LV_EVENT_DELETE handler (i.e. parent).
| obj | object to delete |
| void lv_obj_clean | ( | lv_obj_t * | obj | ) |
Delete all children of an object
| obj | pointer to an object |
| void lv_obj_invalidate | ( | const lv_obj_t * | obj | ) |
Mark the object as invalid therefore its current position will be redrawn by 'lv_refr_task'
| obj | pointer to an object |
Set a new parent for an object. Its relative position will be the same.
| obj | pointer to an object. Can't be a screen. |
| parent | pointer to the new parent object. (Can't be NULL) |
| void lv_obj_move_foreground | ( | lv_obj_t * | obj | ) |
Move and object to the foreground
| obj | pointer to an object |
| void lv_obj_move_background | ( | lv_obj_t * | obj | ) |
Move and object to the background
| obj | pointer to an object |
| void lv_obj_set_pos | ( | lv_obj_t * | obj, |
| lv_coord_t | x, | ||
| lv_coord_t | y | ||
| ) |
Set relative the position of an object (relative to the parent)
| obj | pointer to an object |
| x | new distance from the left side of the parent |
| y | new distance from the top of the parent |
| void lv_obj_set_x | ( | lv_obj_t * | obj, |
| lv_coord_t | x | ||
| ) |
Set the x coordinate of a object
| obj | pointer to an object |
| x | new distance from the left side from the parent |
| void lv_obj_set_y | ( | lv_obj_t * | obj, |
| lv_coord_t | y | ||
| ) |
Set the y coordinate of a object
| obj | pointer to an object |
| y | new distance from the top of the parent |
| void lv_obj_set_size | ( | lv_obj_t * | obj, |
| lv_coord_t | w, | ||
| lv_coord_t | h | ||
| ) |
Set the size of an object
| obj | pointer to an object |
| w | new width |
| h | new height |
| void lv_obj_set_width | ( | lv_obj_t * | obj, |
| lv_coord_t | w | ||
| ) |
Set the width of an object
| obj | pointer to an object |
| w | new width |
| void lv_obj_set_height | ( | lv_obj_t * | obj, |
| lv_coord_t | h | ||
| ) |
Set the height of an object
| obj | pointer to an object |
| h | new height |
| 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 | ||
| ) |
Align an object to an other object.
| obj | pointer to an object to align |
| base | pointer to an object (if NULL the parent is used). 'obj' will be aligned to it. |
| align | type of alignment (see 'lv_align_t' enum) |
| x_mod | x coordinate shift after alignment |
| y_mod | y coordinate shift after alignment |
| 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 | ||
| ) |
Align an object to an other object.
| obj | pointer to an object to align |
| base | pointer to an object (if NULL the parent is used). 'obj' will be aligned to it. |
| align | type of alignment (see 'lv_align_t' enum) |
| x_mod | x coordinate shift after alignment |
| y_mod | y coordinate shift after alignment |
| void lv_obj_realign | ( | lv_obj_t * | obj | ) |
Realign the object based on the last lv_obj_align parameters.
| obj | pointer to an object |
| void lv_obj_set_auto_realign | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Enable the automatic realign of the object when its size has changed based on the last lv_obj_align parameters.
| obj | pointer to an object |
| en | true: enable auto realign; false: disable auto realign |
| 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 | ||
| ) |
Set the size of an extended clickable area
| obj | pointer to an object |
| left | extended clickable are on the left [px] |
| right | extended clickable are on the right [px] |
| top | extended clickable are on the top [px] |
| bottom | extended clickable are on the bottom [px] |
| void lv_obj_set_style | ( | lv_obj_t * | obj, |
| const lv_style_t * | style | ||
| ) |
Set a new style for an object
| obj | pointer to an object |
| style_p | pointer to the new style |
| void lv_obj_refresh_style | ( | lv_obj_t * | obj | ) |
Notify an object about its style is modified
| obj | pointer to an object |
| void lv_obj_report_style_mod | ( | lv_style_t * | style | ) |
Notify all object if a style is modified
| style | pointer to a style. Only the objects with this style will be notified (NULL to notify all objects) |
| void lv_obj_set_hidden | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Hide an object. It won't be visible and clickable.
| obj | pointer to an object |
| en | true: hide the object |
| void lv_obj_set_click | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Enable or disable the clicking of an object
| obj | pointer to an object |
| en | true: make the object clickable |
| void lv_obj_set_top | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Enable to bring this object to the foreground if it or any of its children is clicked
| obj | pointer to an object |
| en | true: enable the auto top feature |
| void lv_obj_set_drag | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Enable the dragging of an object
| obj | pointer to an object |
| en | true: make the object dragable |
| void lv_obj_set_drag_dir | ( | lv_obj_t * | obj, |
| lv_drag_dir_t | drag_dir | ||
| ) |
Set the directions an object can be dragged in
| obj | pointer to an object |
| drag_dir | bitwise OR of allowed drag directions |
| void lv_obj_set_drag_throw | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Enable the throwing of an object after is is dragged
| obj | pointer to an object |
| en | true: enable the drag throw |
| void lv_obj_set_drag_parent | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Enable to use parent for drag related operations. If trying to drag the object the parent will be moved instead
| obj | pointer to an object |
| en | true: enable the 'drag parent' for the object |
| void lv_obj_set_parent_event | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Propagate the events to the parent too
| obj | pointer to an object |
| en | true: enable the event propagation |
| void lv_obj_set_opa_scale_enable | ( | lv_obj_t * | obj, |
| bool | en | ||
| ) |
Set the opa scale enable parameter (required to set opa_scale with lv_obj_set_opa_scale())
| obj | pointer to an object |
| en | true: opa scaling is enabled for this object and all children; false: no opa scaling |
Set the opa scale of an object. The opacity of this object and all it's children will be scaled down with this factor. lv_obj_set_opa_scale_enable(obj, true) needs to be called to enable it. (not for all children just for the parent where to start the opa scaling)
| obj | pointer to an object |
| opa_scale | a factor to scale down opacity [0..255] |
| void lv_obj_set_protect | ( | lv_obj_t * | obj, |
| uint8_t | prot | ||
| ) |
Set a bit or bits in the protect filed
| obj | pointer to an object |
| prot | 'OR'-ed values from lv_protect_t |
| void lv_obj_clear_protect | ( | lv_obj_t * | obj, |
| uint8_t | prot | ||
| ) |
Clear a bit or bits in the protect filed
| obj | pointer to an object |
| prot | 'OR'-ed values from lv_protect_t |
| void lv_obj_set_event_cb | ( | lv_obj_t * | obj, |
| lv_event_cb_t | event_cb | ||
| ) |
Set a an event handler function for an object. Used by the user to react on event which happens with the object.
| obj | pointer to an object |
| event_cb | the new event function |
| lv_res_t lv_event_send | ( | lv_obj_t * | obj, |
| lv_event_t | event, | ||
| const void * | data | ||
| ) |
Send an event to the object
| obj | pointer to an object |
| event | the type of the event from lv_event_t. |
| data | arbitrary data depending on the object type and the event. (Usually NULL) |
obj was not deleted in the event; LV_RES_INV: obj was deleted in the event | lv_res_t lv_event_send_func | ( | lv_event_cb_t | event_xcb, |
| lv_obj_t * | obj, | ||
| lv_event_t | event, | ||
| const void * | data | ||
| ) |
Call an event function with an object, event, and data.
| event_xcb | an event callback function. If NULL LV_RES_OK will return without any actions. (the 'x' in the argument name indicates that its not a fully generic function because it not follows the func_name(object, callback, ...) convention) |
| obj | pointer to an object to associate with the event (can be NULL to simply call the event_cb) |
| event | an event |
| data | pointer to a custom data |
obj was not deleted in the event; LV_RES_INV: obj was deleted in the event | const void* lv_event_get_data | ( | void | ) |
Get the data parameter of the current event
data parameter | void lv_obj_set_signal_cb | ( | lv_obj_t * | obj, |
| lv_signal_cb_t | signal_cb | ||
| ) |
Set the a signal function of an object. Used internally by the library. Always call the previous signal function in the new.
| obj | pointer to an object |
| signal_cb | the new signal function |
| void lv_signal_send | ( | lv_obj_t * | obj, |
| lv_signal_t | signal, | ||
| void * | param | ||
| ) |
Send an event to the object
| obj | pointer to an object |
| event | the type of the event from lv_event_t. |
| void lv_obj_set_design_cb | ( | lv_obj_t * | obj, |
| lv_design_cb_t | design_cb | ||
| ) |
Set a new design function for an object
| obj | pointer to an object |
| design_cb | the new design function |
| void* lv_obj_allocate_ext_attr | ( | lv_obj_t * | obj, |
| uint16_t | ext_size | ||
| ) |
Allocate a new ext. data for an object
| obj | pointer to an object |
| ext_size | the size of the new ext. data |
| void lv_obj_refresh_ext_draw_pad | ( | lv_obj_t * | obj | ) |
Send a 'LV_SIGNAL_REFR_EXT_SIZE' signal to the object
| obj | pointer to an object |
Return with the screen of an object
| obj | pointer to an object |
Get the display of an object
| scr | pointer to an object |
Returns with the parent of an object
| obj | pointer to an object |
Iterate through the children of an object (start from the "youngest, lastly created")
| obj | pointer to an object |
| child | NULL at first call to get the next children and the previous return value later |
Iterate through the children of an object (start from the "oldest", firstly created)
| obj | pointer to an object |
| child | NULL at first call to get the next children and the previous return value later |
| uint16_t lv_obj_count_children | ( | const lv_obj_t * | obj | ) |
Count the children of an object (only children directly on 'obj')
| obj | pointer to an object |
| uint16_t lv_obj_count_children_recursive | ( | const lv_obj_t * | obj | ) |
Recursively count the children of an object
| obj | pointer to an object |
Copy the coordinates of an object to an area
| obj | pointer to an object |
| cords_p | pointer to an area to store the coordinates |
Reduce area retried by lv_obj_get_coords() the get graphically usable area of an object. (Without the size of the border or other extra graphical elements)
| coords_p | store the result area here |
| lv_coord_t lv_obj_get_x | ( | const lv_obj_t * | obj | ) |
Get the x coordinate of object
| obj | pointer to an object |
| lv_coord_t lv_obj_get_y | ( | const lv_obj_t * | obj | ) |
Get the y coordinate of object
| obj | pointer to an object |
| lv_coord_t lv_obj_get_width | ( | const lv_obj_t * | obj | ) |
Get the width of an object
| obj | pointer to an object |
| lv_coord_t lv_obj_get_height | ( | const lv_obj_t * | obj | ) |
Get the height of an object
| obj | pointer to an object |
| lv_coord_t lv_obj_get_width_fit | ( | lv_obj_t * | obj | ) |
Get that width reduced by the left and right padding.
| obj | pointer to an object |
| lv_coord_t lv_obj_get_height_fit | ( | lv_obj_t * | obj | ) |
Get that height reduced by the top an bottom padding.
| obj | pointer to an object |
| bool lv_obj_get_auto_realign | ( | lv_obj_t * | obj | ) |
Get the automatic realign property of the object.
| obj | pointer to an object |
| lv_coord_t lv_obj_get_ext_click_pad_left | ( | const lv_obj_t * | obj | ) |
Get the left padding of extended clickable area
| obj | pointer to an object |
| lv_coord_t lv_obj_get_ext_click_pad_right | ( | const lv_obj_t * | obj | ) |
Get the right padding of extended clickable area
| obj | pointer to an object |
| lv_coord_t lv_obj_get_ext_click_pad_top | ( | const lv_obj_t * | obj | ) |
Get the top padding of extended clickable area
| obj | pointer to an object |
| lv_coord_t lv_obj_get_ext_click_pad_bottom | ( | const lv_obj_t * | obj | ) |
Get the bottom padding of extended clickable area
| obj | pointer to an object |
| lv_coord_t lv_obj_get_ext_draw_pad | ( | const lv_obj_t * | obj | ) |
Get the extended size attribute of an object
| obj | pointer to an object |
| const lv_style_t* lv_obj_get_style | ( | const lv_obj_t * | obj | ) |
Get the style pointer of an object (if NULL get style of the parent)
| obj | pointer to an object |
| bool lv_obj_get_hidden | ( | const lv_obj_t * | obj | ) |
Get the hidden attribute of an object
| obj | pointer to an object |
| bool lv_obj_get_click | ( | const lv_obj_t * | obj | ) |
Get the click enable attribute of an object
| obj | pointer to an object |
| bool lv_obj_get_top | ( | const lv_obj_t * | obj | ) |
Get the top enable attribute of an object
| obj | pointer to an object |
| bool lv_obj_get_drag | ( | const lv_obj_t * | obj | ) |
Get the drag enable attribute of an object
| obj | pointer to an object |
| lv_drag_dir_t lv_obj_get_drag_dir | ( | const lv_obj_t * | obj | ) |
Get the directions an object can be dragged
| obj | pointer to an object |
| bool lv_obj_get_drag_throw | ( | const lv_obj_t * | obj | ) |
Get the drag throw enable attribute of an object
| obj | pointer to an object |
| bool lv_obj_get_drag_parent | ( | const lv_obj_t * | obj | ) |
Get the drag parent attribute of an object
| obj | pointer to an object |
| bool lv_obj_get_parent_event | ( | const lv_obj_t * | obj | ) |
Get the drag parent attribute of an object
| obj | pointer to an object |
Get the opa scale enable parameter
| obj | pointer to an object |
Get the opa scale parameter of an object
| obj | pointer to an object |
| uint8_t lv_obj_get_protect | ( | const lv_obj_t * | obj | ) |
Get the protect field of an object
| obj | pointer to an object |
lv_protect_t) | bool lv_obj_is_protected | ( | const lv_obj_t * | obj, |
| uint8_t | prot | ||
| ) |
Check at least one bit of a given protect bitfield is set
| obj | pointer to an object |
| prot | protect bits to test ('OR'ed values of lv_protect_t) |
| lv_signal_cb_t lv_obj_get_signal_cb | ( | const lv_obj_t * | obj | ) |
Get the signal function of an object
| obj | pointer to an object |
| lv_design_cb_t lv_obj_get_design_cb | ( | const lv_obj_t * | obj | ) |
Get the design function of an object
| obj | pointer to an object |
| lv_event_cb_t lv_obj_get_event_cb | ( | const lv_obj_t * | obj | ) |
Get the event function of an object
| obj | pointer to an object |
| void* lv_obj_get_ext_attr | ( | const lv_obj_t * | obj | ) |
Get the ext pointer
| obj | pointer to an object |
| void lv_obj_get_type | ( | lv_obj_t * | obj, |
| lv_obj_type_t * | buf | ||
| ) |
Get object's and its ancestors type. Put their name in type_buf starting with the current type. E.g. buf.type[0]="lv_btn", buf.type[1]="lv_cont", buf.type[2]="lv_obj"
| obj | pointer to an object which type should be get |
| buf | pointer to an lv_obj_type_t buffer to store the types |