![]() |
![]() |
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 |