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