lv_fragment.h
API reference for lv_fragment.h
Public header for Fragment
Functions
lv_fragment_manager_get_stack_size
Get stack size of this fragment manager
size_t lv_fragment_manager_get_stack_size(lv_fragment_manager_t *manager)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
Returns: size_t — Stack size of this fragment manager
lv_fragment_manager_get_top
Get top most fragment instance
lv_fragment_t * lv_fragment_manager_get_top(lv_fragment_manager_t *manager)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
Returns: lv_fragment_t * — Top most fragment instance
lv_fragment_manager_get_parent_fragment
Get parent fragment
lv_fragment_t * lv_fragment_manager_get_parent_fragment(lv_fragment_manager_t *manager)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
Returns: lv_fragment_t * — Parent fragment instance
lv_fragment_get_manager
Get associated manager of this fragment
lv_fragment_manager_t * lv_fragment_get_manager(lv_fragment_t *fragment)| Name | Type | Description |
|---|---|---|
fragment | lv_fragment_t * | Fragment instance |
Returns: lv_fragment_manager_t * — Fragment manager instance
lv_fragment_get_container
Get container object of this fragment
lv_obj_t *const * lv_fragment_get_container(lv_fragment_t *fragment)| Name | Type | Description |
|---|---|---|
fragment | lv_fragment_t * | Fragment instance |
Returns: lv_obj_t *const * — Reference to container object
lv_fragment_get_parent
Get parent fragment of this fragment
lv_fragment_t * lv_fragment_get_parent(lv_fragment_t *fragment)| Name | Type | Description |
|---|---|---|
fragment | lv_fragment_t * | Fragment instance |
Returns: lv_fragment_t * — Parent fragment
lv_fragment_manager_create
Create fragment manager instance
lv_fragment_manager_t * lv_fragment_manager_create(lv_fragment_t *parent)| Name | Type | Description |
|---|---|---|
parent | lv_fragment_t * | Parent fragment if this manager is placed inside another fragment, can be null. |
Returns: lv_fragment_manager_t * — Fragment manager instance
lv_fragment_manager_delete
Destroy fragment manager instance
void lv_fragment_manager_delete(lv_fragment_manager_t *manager)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance May be NULL. |
lv_fragment_manager_create_obj
Create object of all fragments managed by this manager.
void lv_fragment_manager_create_obj(lv_fragment_manager_t *manager)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
lv_fragment_manager_delete_obj
Delete object created by all fragments managed by this manager. Instance of fragments will not be deleted.
void lv_fragment_manager_delete_obj(lv_fragment_manager_t *manager)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
lv_fragment_manager_add
Attach fragment to manager, and add to container.
void lv_fragment_manager_add(lv_fragment_manager_t *manager, lv_fragment_t *fragment, lv_obj_t *const *container)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
fragment | lv_fragment_t * | Fragment instance |
container | lv_obj_t *const * | Pointer to container object for manager to add objects to |
lv_fragment_manager_remove
Detach and destroy fragment. If fragment is in navigation stack, remove from it.
void lv_fragment_manager_remove(lv_fragment_manager_t *manager, lv_fragment_t *fragment)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
fragment | lv_fragment_t * | Fragment instance |
lv_fragment_manager_push
Attach fragment to manager and add to navigation stack.
void lv_fragment_manager_push(lv_fragment_manager_t *manager, lv_fragment_t *fragment, lv_obj_t *const *container)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
fragment | lv_fragment_t * | Fragment instance |
container | lv_obj_t *const * | Pointer to container object for manager to add objects to |
lv_fragment_manager_pop
Remove the top-most fragment for stack
bool lv_fragment_manager_pop(lv_fragment_manager_t *manager)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
Returns: bool — true if there is fragment to pop
lv_fragment_manager_replace
Replace fragment. Old item in the stack will be removed.
void lv_fragment_manager_replace(lv_fragment_manager_t *manager, lv_fragment_t *fragment, lv_obj_t *const *container)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
fragment | lv_fragment_t * | Fragment instance |
container | lv_obj_t *const * | Pointer to container object for manager to add objects to |
lv_fragment_manager_send_event
Send event to top-most fragment
bool lv_fragment_manager_send_event(lv_fragment_manager_t *manager, int code, void *userdata)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
code | int | User-defined ID of event |
userdata | void * | User-defined data |
Returns: bool — true if fragment returned true
lv_fragment_manager_find_by_container
Find first fragment instance in the container
lv_fragment_t * lv_fragment_manager_find_by_container(lv_fragment_manager_t *manager, const lv_obj_t *container)| Name | Type | Description |
|---|---|---|
manager | lv_fragment_manager_t * | Fragment manager instance |
container | const lv_obj_t * | Container which target fragment added to |
Returns: lv_fragment_t * — First fragment instance in the container
lv_fragment_create
Create a fragment instance.
lv_fragment_t * lv_fragment_create(const lv_fragment_class_t *cls, void *args)| Name | Type | Description |
|---|---|---|
cls | const lv_fragment_class_t * | Fragment class. This fragment must return non null object. |
args | void * | Arguments assigned by fragment manager |
Returns: lv_fragment_t * — Fragment instance
lv_fragment_delete
Destroy a fragment.
void lv_fragment_delete(lv_fragment_t *fragment)| Name | Type | Description |
|---|---|---|
fragment | lv_fragment_t * | Fragment instance. May be NULL. |
lv_fragment_create_obj
Create object by fragment.
lv_obj_t * lv_fragment_create_obj(lv_fragment_t *fragment, lv_obj_t *container)| Name | Type | Description |
|---|---|---|
fragment | lv_fragment_t * | Fragment instance. |
container | lv_obj_t * | Container of the objects should be created upon. |
Returns: lv_obj_t * — Created object
lv_fragment_delete_obj
Delete created object of a fragment
void lv_fragment_delete_obj(lv_fragment_t *fragment)| Name | Type | Description |
|---|---|---|
fragment | lv_fragment_t * | Fragment instance. |
lv_fragment_recreate_obj
Destroy obj in fragment, and recreate them.
void lv_fragment_recreate_obj(lv_fragment_t *fragment)| Name | Type | Description |
|---|---|---|
fragment | lv_fragment_t * | Fragment instance |
Structs
_lv_fragment_t
| Member | Type | Description |
|---|---|---|
cls | const lv_fragment_class_t * | Class of this fragment |
managed | lv_fragment_managed_states_t * | Managed fragment states. If not null, then this fragment is managed. |
child_manager | lv_fragment_manager_t * | Child fragment manager |
obj | lv_obj_t * | lv_obj returned by create_obj_cb |
_lv_fragment_class_t
| Member | Type | Description |
|---|---|---|
constructor_cb | void(*)(lv_fragment_t *self, void *args) | Constructor function for fragment class |
destructor_cb | void(*)(lv_fragment_t *self) | Destructor function for fragment class |
attached_cb | void(*)(lv_fragment_t *self) | Fragment attached to manager |
detached_cb | void(*)(lv_fragment_t *self) | Fragment detached from manager |
create_obj_cb | lv_obj_t *(*)(lv_fragment_t *self, lv_obj_t *container) | Create objects |
obj_created_cb | void(*)(lv_fragment_t *self, lv_obj_t *obj) | |
obj_will_delete_cb | void(*)(lv_fragment_t *self, lv_obj_t *obj) | Called before objects in the fragment will be deleted. |
obj_deleted_cb | void(*)(lv_fragment_t *self, lv_obj_t *obj) | Called when the object created by fragment received LV_EVENT_DELETE event |
event_cb | bool(*)(lv_fragment_t *self, int code, void *userdata) | Handle event |
instance_size | size_t | REQUIRED: Allocation size of fragment |
Typedefs
lv_fragment_manager_t
typedef struct _lv_fragment_manager_t lv_fragment_manager_tUsed by 13 functions
lv_fragment_manager_delete— parammanagerlv_fragment_manager_create_obj— parammanagerlv_fragment_manager_delete_obj— parammanagerlv_fragment_manager_add— parammanagerlv_fragment_manager_remove— parammanagerlv_fragment_manager_push— parammanagerlv_fragment_manager_pop— parammanagerlv_fragment_manager_replace— parammanagerlv_fragment_manager_send_event— parammanagerlv_fragment_manager_get_stack_size— parammanagerlv_fragment_manager_get_top— parammanagerlv_fragment_manager_find_by_container— parammanagerlv_fragment_manager_get_parent_fragment— parammanager
Dependencies
Indirect dependencies
lv_anim.hlv_area.hlv_assert.hlv_bidi.hlv_color.hlv_color_op.hlv_conf_internal.hlv_display.hlv_draw.hlv_draw_arc.hlv_draw_blur.hlv_draw_buf.hlv_draw_image.hlv_draw_label.hlv_draw_line.hlv_draw_rect.hlv_draw_triangle.hlv_event.hlv_ext_data.hlv_flex.hlv_font.hlv_fs.hlv_grad.hlv_grid.hlv_group.hlv_image_decoder.hlv_image_dsc.hlv_indev.hlv_layout.hlv_log.hlv_math.hlv_matrix.hlv_mem.hlv_obj_class.hlv_obj_draw.hlv_obj_event.hlv_obj_pos.hlv_obj_property.hlv_obj_scroll.hlv_obj_style.hlv_obj_style_gen.hlv_obj_tree.hlv_palette.hlv_profiler.hlv_profiler_builtin.hlv_sprintf.hlv_string.hlv_style.hlv_style_gen.hlv_symbol_def.hlv_text.hlv_timer.hlv_types.h
Last updated on