LVGL STYLE

BORDER-BOX模型

border-box模型
API

void lv_obj_set_style_width(lv_obj_t * obj,
                            lv_coord_t value,
                            lv_style_selector_t selector);

void lv_obj_set_style_min_width(lv_obj_t * obj,
                                lv_coord_t value,
                                lv_style_selector_t selector);

void lv_obj_set_style_max_width(lv_obj_t * obj,
                                lv_coord_t value,
                                lv_style_selector_t selector);

void lv_obj_set_style_height(lv_obj_t * obj,
                             lv_coord_t value,
                             lv_style_selector_t selector);

void lv_obj_set_style_min_height(lv_obj_t * obj,
                                 lv_coord_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_max_height(lv_obj_t * obj,
                                 lv_coord_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_x(lv_obj_t * obj,
                        lv_coord_t value,
                        lv_style_selector_t selector);

void lv_obj_set_style_y(lv_obj_t * obj,
                        lv_coord_t value,
                        lv_style_selector_t selector);

void lv_obj_set_style_align(lv_obj_t * obj,
                            lv_align_t value,
                            lv_style_selector_t selector);

void lv_obj_set_style_transform_width(lv_obj_t * obj,
                                      lv_coord_t value,
                                      lv_style_selector_t selector);

void lv_obj_set_style_transform_height(lv_obj_t * obj,
                                       lv_coord_t value,
                                       lv_style_selector_t selector);

void lv_obj_set_style_translate_x(lv_obj_t * obj,
                                  lv_coord_t value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_translate_y(lv_obj_t * obj,
                                  lv_coord_t value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_transform_zoom(lv_obj_t * obj,
                                     lv_coord_t value,
                                     lv_style_selector_t selector);

void lv_obj_set_style_transform_angle(lv_obj_t * obj,
                                      lv_coord_t value,
                                      lv_style_selector_t selector);

void lv_obj_set_style_pad_top(lv_obj_t * obj,
                              lv_coord_t value,
                              lv_style_selector_t selector);

void lv_obj_set_style_pad_bottom(lv_obj_t * obj,
                                 lv_coord_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_pad_left(lv_obj_t * obj,
                               lv_coord_t value,
                               lv_style_selector_t selector);

void lv_obj_set_style_pad_right(lv_obj_t * obj,
                                lv_coord_t value,
                                lv_style_selector_t selector);

void lv_obj_set_style_pad_row(lv_obj_t * obj,
                              lv_coord_t value,
                              lv_style_selector_t selector);

void lv_obj_set_style_pad_column(lv_obj_t * obj,
                                 lv_coord_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_radius(lv_obj_t * obj,
                             lv_coord_t value,
                             lv_style_selector_t selector);

void lv_obj_set_style_clip_corner(lv_obj_t * obj,
                                  bool value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_opa(lv_obj_t * obj,
                          lv_opa_t value,
                          lv_style_selector_t selector);

void lv_obj_set_style_color_filter_dsc(lv_obj_t * obj,
                                       const lv_color_filter_dsc_t * value,
                                       lv_style_selector_t selector);

void lv_obj_set_style_color_filter_opa(lv_obj_t * obj,
                                       lv_opa_t value,
                                       lv_style_selector_t selector);

void lv_obj_set_style_anim_time(lv_obj_t * obj,
                                uint32_t value,
                                lv_style_selector_t selector);

void lv_obj_set_style_anim_speed(lv_obj_t * obj,
                                 uint32_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_transition(lv_obj_t * obj,
                                 const lv_style_transition_dsc_t * value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_blend_mode(lv_obj_t * obj,
                                 lv_blend_mode_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_layout(lv_obj_t * obj,
                             uint16_t value,
                             lv_style_selector_t selector);

void lv_obj_set_style_base_dir(lv_obj_t * obj,
                               lv_base_dir_t value,
                               lv_style_selector_t selector);

void lv_obj_set_style_bg_color(lv_obj_t * obj,
                               lv_color_t value,
                               lv_style_selector_t selector);

void lv_obj_set_style_bg_color_filtered(lv_obj_t * obj,
                                        lv_color_t value,
                                        lv_style_selector_t selector);

void lv_obj_set_style_bg_opa(lv_obj_t * obj,
                             lv_opa_t value,
                             lv_style_selector_t selector);

void lv_obj_set_style_bg_grad_color(lv_obj_t * obj,
                                    lv_color_t value,
                                    lv_style_selector_t selector);

void lv_obj_set_style_bg_grad_color_filtered(lv_obj_t * obj,
        									 lv_color_t value,
        									 lv_style_selector_t selector);

void lv_obj_set_style_bg_grad_dir(lv_obj_t * obj,
                                  lv_grad_dir_t value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_bg_main_stop(lv_obj_t * obj,
                                   lv_coord_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_bg_grad_stop(lv_obj_t * obj,
                                   lv_coord_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_bg_img_src(lv_obj_t * obj,
                                 const void * value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_bg_img_opa(lv_obj_t * obj,
                                 lv_opa_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_bg_img_recolor(lv_obj_t * obj,
                                     lv_color_t value,
                                     lv_style_selector_t selector);

void lv_obj_set_style_bg_img_recolor_filtered(lv_obj_t * obj,
        									  lv_color_t value,
        									  lv_style_selector_t selector);

void lv_obj_set_style_bg_img_recolor_opa(lv_obj_t * obj,
        								 lv_opa_t value,
        								 lv_style_selector_t selector);

void lv_obj_set_style_bg_img_tiled(lv_obj_t * obj,
                                   bool value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_border_color(lv_obj_t * obj,
                                   lv_color_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_border_color_filtered(lv_obj_t * obj,
        									lv_color_t value,
        									lv_style_selector_t selector);

void lv_obj_set_style_border_opa(lv_obj_t * obj,
                                 lv_opa_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_border_width(lv_obj_t * obj,
                                   lv_coord_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_border_side(lv_obj_t * obj,
                                  lv_border_side_t value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_border_post(lv_obj_t * obj,
                                  bool value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_text_color(lv_obj_t * obj,
                                 lv_color_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_text_color_filtered(lv_obj_t * obj,
        								  lv_color_t value,
        								  lv_style_selector_t selector);

void lv_obj_set_style_text_opa(lv_obj_t * obj,
                               lv_opa_t value,
                               lv_style_selector_t selector);

void lv_obj_set_style_text_font(lv_obj_t * obj,
                                const lv_font_t * value,
                                lv_style_selector_t selector);

void lv_obj_set_style_text_letter_space(lv_obj_t * obj,
                                        lv_coord_t value,
                                        lv_style_selector_t selector);

void lv_obj_set_style_text_line_space(lv_obj_t * obj,
                                      lv_coord_t value,
                                      lv_style_selector_t selector);

void lv_obj_set_style_text_decor(lv_obj_t * obj,
                                 lv_text_decor_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_text_align(lv_obj_t * obj,
                                 lv_text_align_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_img_opa(lv_obj_t * obj,
                              lv_opa_t value,
                              lv_style_selector_t selector);

void lv_obj_set_style_img_recolor(lv_obj_t * obj,
                                  lv_color_t value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_img_recolor_filtered(lv_obj_t * obj,
        								   lv_color_t value,
        								   lv_style_selector_t selector);

void lv_obj_set_style_img_recolor_opa(lv_obj_t * obj,
                                      lv_opa_t value,
                                      lv_style_selector_t selector);

void lv_obj_set_style_outline_width(lv_obj_t * obj,
                                    lv_coord_t value,
                                    lv_style_selector_t selector);

void lv_obj_set_style_outline_color(lv_obj_t * obj,
                                    lv_color_t value,
                                    lv_style_selector_t selector);

void lv_obj_set_style_outline_color_filtered(lv_obj_t * obj,
        									 lv_color_t value,
        									 lv_style_selector_t selector);

void lv_obj_set_style_outline_opa(lv_obj_t * obj,
                                  lv_opa_t value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_outline_pad(lv_obj_t * obj,
                                  lv_coord_t value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_shadow_width(lv_obj_t * obj,
                                   lv_coord_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_shadow_ofs_x(lv_obj_t * obj,
                                   lv_coord_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_shadow_ofs_y(lv_obj_t * obj,
                                   lv_coord_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_shadow_spread(lv_obj_t * obj,
                                    lv_coord_t value,
                                    lv_style_selector_t selector);

void lv_obj_set_style_shadow_color(lv_obj_t * obj,
                                   lv_color_t value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_shadow_color_filtered(lv_obj_t * obj,
        									lv_color_t value,
        									lv_style_selector_t selector);

void lv_obj_set_style_shadow_opa(lv_obj_t * obj,
                                 lv_opa_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_line_width(lv_obj_t * obj,
                                 lv_coord_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_line_dash_width(lv_obj_t * obj,
                                      lv_coord_t value,
                                      lv_style_selector_t selector);

void lv_obj_set_style_line_dash_gap(lv_obj_t * obj,
                                    lv_coord_t value,
                                    lv_style_selector_t selector);

void lv_obj_set_style_line_rounded(lv_obj_t * obj,
                                   bool value,
                                   lv_style_selector_t selector);

void lv_obj_set_style_line_color(lv_obj_t * obj,
                                 lv_color_t value,
                                 lv_style_selector_t selector);

void lv_obj_set_style_line_color_filtered(lv_obj_t * obj,
        								  lv_color_t value,
        								  lv_style_selector_t selector);

void lv_obj_set_style_line_opa(lv_obj_t * obj,
                               lv_opa_t value,
                               lv_style_selector_t selector);

void lv_obj_set_style_arc_width(lv_obj_t * obj,
                                lv_coord_t value,
                                lv_style_selector_t selector);

void lv_obj_set_style_arc_rounded(lv_obj_t * obj,
                                  bool value,
                                  lv_style_selector_t selector);

void lv_obj_set_style_arc_color(lv_obj_t * obj,
                                lv_color_t value,
                                lv_style_selector_t selector);

void lv_obj_set_style_arc_color_filtered(lv_obj_t * obj,
        								 lv_color_t value,
        								 lv_style_selector_t selector);

void lv_obj_set_style_arc_opa(lv_obj_t * obj,
                              lv_opa_t value,
                              lv_style_selector_t selector);

void lv_obj_set_style_arc_img_src(lv_obj_t * obj,
                                  const void * value,
                                  lv_style_selector_t selector);
/**
 * 部件可能的部分
 * 部件可以被视为小部件的内部构建块.
 * 例如:滑块=背景+指示器+旋钮
 * 注意,每个部件都使用每个部分
 */
enum {
    LV_PART_MAIN         = 0x000000,   /**< 背景矩形 */
    LV_PART_SCROLLBAR    = 0x010000,   /**< 滚动条 */
    LV_PART_INDICATOR    = 0x020000,   /**< 指示器,例如用于滑块、条、开关或复选框中的勾选框 */
    LV_PART_KNOB         = 0x030000,   /**< 类似抓手柄来调整值 */
    LV_PART_SELECTED     = 0x040000,   /**< 表示当前选择的选项或部分 */
    LV_PART_ITEMS        = 0x050000,   /**< 如果小部件有多个相似的元素(例如,表格单元格) */
    LV_PART_TICKS        = 0x060000,   /**< 刻度上的刻度,例如图表或仪表 */
    LV_PART_CURSOR       = 0x070000,   /**< 标记一个特定的位置,如文本区域的光标或图表上 */

    LV_PART_CUSTOM_FIRST = 0x080000,    /**< 可以从这里添加自定义部件 */

    LV_PART_ANY          = 0x0F0000,    /**< 在某些函数中可以使用特殊值来针对所有部分 */
};
typedef uint32_t lv_part_t;
LVGL是一个开源的GUI库,提供了丰富的控件和样式,可以用于嵌入式系统的图形化界面设计。其中,styleLVGL中非常重要的一个概念,用于定义控件的外观和行为。下面是关于LVGL style的介绍和示例: 1. style的定义和使用 style是一个结构体,包含了控件的各种属性,例如背景颜色、边框、字体等。可以通过lv_style_init()函数初始化一个style,然后通过lv_obj_add_style()函数将style应用到控件上。例如: ```c static lv_style_t style1; lv_style_init(&style1); lv_style_set_bg_color(&style1, LV_STATE_DEFAULT, LV_COLOR_WHITE); lv_style_set_border_color(&style1, LV_STATE_DEFAULT, LV_COLOR_BLACK); lv_obj_add_style(btn1, LV_BTN_PART_MAIN, &style1); ``` 上面的代码定义了一个名为style1的style,将其背景颜色设置为白色,边框颜色设置为黑色,并将其应用到了名为btn1的按钮控件上。 2. state的概念 style中的state用于定义控件的状态,例如默认状态、按下状态、选中状态等。可以通过LV_STATE_XXX宏定义来指定state。例如: ```c lv_style_set_bg_color(&style1, LV_STATE_DEFAULT, LV_COLOR_WHITE); lv_style_set_bg_color(&style1, LV_STATE_PRESSED, LV_COLOR_GRAY); lv_style_set_bg_color(&style1, LV_STATE_FOCUSED, LV_COLOR_RED); ``` 上面的代码分别定义了style1在默认状态、按下状态和选中状态下的背景颜色。 3. style的继承 style可以通过继承来实现样式的复用。可以通过lv_style_set_parent()函数将一个style设置为另一个style的父样式。例如: ```c static lv_style_t style1, style2; lv_style_init(&style1); lv_style_set_bg_color(&style1, LV_STATE_DEFAULT, LV_COLOR_WHITE); lv_style_set_border_color(&style1, LV_STATE_DEFAULT, LV_COLOR_BLACK); lv_style_init(&style2); lv_style_set_parent(&style2, &style1); lv_style_set_bg_color(&style2, LV_STATE_PRESSED, LV_COLOR_GRAY); lv_obj_add_style(btn1, LV_BTN_PART_MAIN, &style1); lv_obj_add_style(btn2, LV_BTN_PART_MAIN, &style2); ``` 上面的代码定义了两个style,其中style2继承了style1,并将其在按下状态下的背景颜色设置为灰色。然后将style1应用到了btn1上,将style2应用到了btn2上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值