lvgl/demos/flex_layout/lv_demo_flex_layout_main.h
Michael Simon 352420cd54
refacter(conf): use defines for standard includes (#5767)
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
Co-authored-by: Neo Xu <neo.xu1990@gmail.com>
2024-03-20 12:10:33 +08:00

107 lines
2.5 KiB
C

/**
* @file lv_demo_flex_layout_main.h
*
*/
#ifndef LV_DEMO_FLEX_LAYOUT_MAIN_H
#define LV_DEMO_FLEX_LAYOUT_MAIN_H
#ifdef __cplusplus
extern "C" {
#endif
/*********************
* INCLUDES
*********************/
#include "../../lvgl.h"
/*********************
* DEFINES
*********************/
#ifndef ARRAY_SIZE
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
#endif
/**********************
* TYPEDEFS
**********************/
typedef struct {
lv_obj_t * root;
lv_obj_t * obj_cur;
lv_style_t obj_def_style;
lv_style_t obj_checked_style;
struct {
lv_obj_t * cont;
struct {
lv_obj_t * view;
struct {
lv_obj_t * tab;
lv_obj_t * ddlist_flow;
lv_obj_t * checkbox_scrl;
} flex;
struct {
lv_obj_t * tab;
lv_obj_t * ddlist_align_main;
lv_obj_t * ddlist_align_cross;
lv_obj_t * ddlist_align_track;
} align;
struct {
lv_obj_t * tab;
lv_obj_t * group_width_and_height;
lv_obj_t * spinbox_width;
lv_obj_t * spinbox_height;
lv_obj_t * group_width_and_height_min;
lv_obj_t * spinbox_min_width;
lv_obj_t * spinbox_min_height;
lv_obj_t * group_width_and_height_max;
lv_obj_t * spinbox_max_width;
lv_obj_t * spinbox_max_height;
lv_obj_t * spinbox_pad_top;
lv_obj_t * spinbox_pad_bottom;
lv_obj_t * spinbox_pad_left;
lv_obj_t * spinbox_pad_right;
lv_obj_t * spinbox_pad_column;
lv_obj_t * spinbox_pad_row;
lv_obj_t * spinbox_flex_grow;
} layout;
} tab;
struct {
lv_obj_t * cont;
lv_obj_t * add;
lv_obj_t * remove;
} btn;
} ctrl_pad;
} view_t;
/**********************
* GLOBAL PROTOTYPES
**********************/
void view_create(lv_obj_t * par, view_t * ui);
void view_ctrl_pad_create(lv_obj_t * par, view_t * ui);
lv_obj_t * obj_child_node_create(lv_obj_t * par, view_t * ui);
void ctrl_pad_attach(view_t * ui);
void ctrl_pad_obj_update(lv_obj_t * obj, view_t * ui);
void flex_loader_obj_update(lv_obj_t * obj, view_t * ui);
void flex_loader_attach(view_t * ui);
/**********************
* MACROS
**********************/
#ifdef __cplusplus
} /*extern "C"*/
#endif
#endif /*LV_DEMO_FLEX_LAYOUT_MAIN_H*/