acid-drop

- Hacking the planet from a LilyGo T-Deck using custom firmware
git clone git://git.acid.vegas/acid-drop.git
Log | Files | Refs | Archive | README | LICENSE

lv_example_imgbtn_1.c (1491B)

      1 #include "../../lv_examples.h"
      2 #if LV_USE_IMGBTN && LV_BUILD_EXAMPLES
      3 
      4 void lv_example_imgbtn_1(void)
      5 {
      6     LV_IMG_DECLARE(imgbtn_left);
      7     LV_IMG_DECLARE(imgbtn_right);
      8     LV_IMG_DECLARE(imgbtn_mid);
      9 
     10     /*Create a transition animation on width transformation and recolor.*/
     11     static lv_style_prop_t tr_prop[] = {LV_STYLE_TRANSFORM_WIDTH, LV_STYLE_IMG_RECOLOR_OPA, 0};
     12     static lv_style_transition_dsc_t tr;
     13     lv_style_transition_dsc_init(&tr, tr_prop, lv_anim_path_linear, 200, 0, NULL);
     14 
     15     static lv_style_t style_def;
     16     lv_style_init(&style_def);
     17     lv_style_set_text_color(&style_def, lv_color_white());
     18     lv_style_set_transition(&style_def, &tr);
     19 
     20     /*Darken the button when pressed and make it wider*/
     21     static lv_style_t style_pr;
     22     lv_style_init(&style_pr);
     23     lv_style_set_img_recolor_opa(&style_pr, LV_OPA_30);
     24     lv_style_set_img_recolor(&style_pr, lv_color_black());
     25     lv_style_set_transform_width(&style_pr, 20);
     26 
     27     /*Create an image button*/
     28     lv_obj_t * imgbtn1 = lv_imgbtn_create(lv_scr_act());
     29     lv_imgbtn_set_src(imgbtn1, LV_IMGBTN_STATE_RELEASED, &imgbtn_left, &imgbtn_mid, &imgbtn_right);
     30     lv_obj_add_style(imgbtn1, &style_def, 0);
     31     lv_obj_add_style(imgbtn1, &style_pr, LV_STATE_PRESSED);
     32 
     33     lv_obj_align(imgbtn1, LV_ALIGN_CENTER, 0, 0);
     34 
     35     /*Create a label on the image button*/
     36     lv_obj_t * label = lv_label_create(imgbtn1);
     37     lv_label_set_text(label, "Button");
     38     lv_obj_align(label, LV_ALIGN_CENTER, 0, -4);
     39 }
     40 
     41 #endif