From 7cbec0bbded9ace6d7ee5d3081fc7b056ea7b8f6 Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Sun, 5 Feb 2023 18:36:00 +0100 Subject: [PATCH] Added new altimeter icon in prevision of the altimeter app --- .../lv_port_win_codeblocks/compass_screen.c | 6 +- .../lv_port_win_codeblocks/menu_screen.c | 36 +++- .../rsrc/altimeter_icon_chroma.png | Bin 0 -> 2809 bytes .../lv_port_win_codeblocks/watch_menu_icons.c | 193 ++++++++++++++++++ 4 files changed, 223 insertions(+), 12 deletions(-) create mode 100644 src/lvgl_win_sim/lv_port_win_codeblocks/rsrc/altimeter_icon_chroma.png diff --git a/src/lvgl_win_sim/lv_port_win_codeblocks/compass_screen.c b/src/lvgl_win_sim/lv_port_win_codeblocks/compass_screen.c index 7c11bf7..19ff8e8 100644 --- a/src/lvgl_win_sim/lv_port_win_codeblocks/compass_screen.c +++ b/src/lvgl_win_sim/lv_port_win_codeblocks/compass_screen.c @@ -44,6 +44,8 @@ static void gesture_event_cb(lv_event_t * e) } } +static lv_timer_t *timer; + static void cleanup_event_cb(lv_event_t * e) { CompassScreen_t *compassScreen = e->user_data; @@ -307,7 +309,7 @@ void compass_screen_create(CompassScreen_t * const compassScreen) lv_obj_add_event_cb(compassScreen->display, &(cleanup_event_cb), LV_EVENT_DELETE, compassScreen); //To delete - lv_timer_create(&(timer_anim_cb), 2, compassScreen); + timer = lv_timer_create(&(timer_anim_cb), 2, compassScreen); } void compass_screen_destroy(CompassScreen_t * const compassScreen) @@ -328,4 +330,6 @@ void compass_screen_destroy(CompassScreen_t * const compassScreen) compassScreen->northMarker = NULL; compassScreen->compassGraduation.meter = NULL; compassScreen->compassGraduation.scale = NULL; + + lv_timer_del(timer); } diff --git a/src/lvgl_win_sim/lv_port_win_codeblocks/menu_screen.c b/src/lvgl_win_sim/lv_port_win_codeblocks/menu_screen.c index 144559f..d39224a 100644 --- a/src/lvgl_win_sim/lv_port_win_codeblocks/menu_screen.c +++ b/src/lvgl_win_sim/lv_port_win_codeblocks/menu_screen.c @@ -22,7 +22,7 @@ static void menu_item_cb(lv_event_t *e) lv_scr_load_anim(watchFace.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true); } break; - case 1: + case 2: { extern CompassScreen_t compassScreen; compass_screen_create(&compassScreen); @@ -30,7 +30,15 @@ static void menu_item_cb(lv_event_t *e) lv_scr_load_anim(compassScreen.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true); } break; - case 7: + case 3: + { + //extern CompassScreen_t compassScreen; + //compass_screen_create(&compassScreen); + //lv_scr_load_anim(compassScreen.display, LV_SCR_LOAD_ANIM_FADE_ON, 400, 0, true); + //lv_scr_load_anim(compassScreen.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true); + } + break; + case 4: { extern SettingsScreen_t settingsScreen; settings_screen_create(&settingsScreen); @@ -69,10 +77,14 @@ void menu_screen_init(MenuScreen_t * const menuScreen) static void menu_screen_add_item(lv_obj_t *scroll_item_container, uint8_t position, const lv_img_dsc_t *itemImg,const char *itemTitle, lv_event_cb_t itemClickEventCb) { //We add the image button with the icon of the item - lv_obj_t *item_btn = lv_imgbtn_create(scroll_item_container); + //lv_obj_t *item_btn = lv_imgbtn_create(scroll_item_container); + lv_obj_t *item_btn = lv_img_create(scroll_item_container); lv_obj_set_size(item_btn, itemImg->header.w, itemImg->header.h); + lv_obj_add_flag(item_btn, LV_OBJ_FLAG_ADV_HITTEST); + lv_obj_add_flag(item_btn, LV_OBJ_FLAG_CLICKABLE); lv_obj_set_pos(item_btn, 42, 52 * position); - lv_imgbtn_set_src(item_btn, LV_IMGBTN_STATE_RELEASED, NULL, itemImg, NULL); + //lv_imgbtn_set_src(item_btn, LV_IMGBTN_STATE_RELEASED, NULL, itemImg, NULL); + lv_img_set_src(item_btn, itemImg); lv_obj_add_event_cb(item_btn, itemClickEventCb, LV_EVENT_CLICKED, (void *)(uint64_t)position); //We add the click-able label with the title of the item @@ -103,6 +115,7 @@ void menu_screen_create(MenuScreen_t * const menuScreen) LV_IMG_DECLARE(watch_menu_settings_icon) LV_IMG_DECLARE(watch_menu_messages_icon) LV_IMG_DECLARE(watch_menu_compass_icon) + LV_IMG_DECLARE(watch_menu_altimeter_icon) //We create our parent screen : if(menuScreen->display) @@ -128,13 +141,14 @@ void menu_screen_create(MenuScreen_t * const menuScreen) lv_obj_set_style_pad_right(scroll_item_container, 15, LV_PART_SCROLLBAR); menu_screen_add_item(scroll_item_container, 0, &watch_menu_clock_icon, "Watch", &(menu_item_cb)); - menu_screen_add_item(scroll_item_container, 1, &watch_menu_compass_icon, "Compass", &(menu_item_cb)); - menu_screen_add_item(scroll_item_container, 2, &watch_menu_alarm_icon, "Alarm", &(menu_item_cb)); - menu_screen_add_item(scroll_item_container, 3, &watch_menu_messages_icon, "Text messages", &(menu_item_cb)); - menu_screen_add_item(scroll_item_container, 4, &watch_menu_mail_icon, "Mails", &(menu_item_cb)); - menu_screen_add_item(scroll_item_container, 5, &watch_menu_dialer_icon, "Phone", &(menu_item_cb)); - menu_screen_add_item(scroll_item_container, 6, &watch_menu_contacts_icon, "Contacts", &(menu_item_cb)); - menu_screen_add_item(scroll_item_container, 7, &watch_menu_settings_icon, "Settings", &(menu_item_cb)); + menu_screen_add_item(scroll_item_container, 1, &watch_menu_alarm_icon, "Alarm", &(menu_item_cb)); + menu_screen_add_item(scroll_item_container, 2, &watch_menu_compass_icon, "Compass", &(menu_item_cb)); + menu_screen_add_item(scroll_item_container, 3, &watch_menu_altimeter_icon, "Altimeter", &(menu_item_cb)); + //menu_screen_add_item(scroll_item_container, 3, &watch_menu_messages_icon, "Text messages", &(menu_item_cb)); + //menu_screen_add_item(scroll_item_container, 4, &watch_menu_mail_icon, "Mails", &(menu_item_cb)); + //menu_screen_add_item(scroll_item_container, 5, &watch_menu_dialer_icon, "Phone", &(menu_item_cb)); + //menu_screen_add_item(scroll_item_container, 6, &watch_menu_contacts_icon, "Contacts", &(menu_item_cb)); + menu_screen_add_item(scroll_item_container, 4, &watch_menu_settings_icon, "Settings", &(menu_item_cb)); //We register the event callback to handle the cleanup lv_obj_add_event_cb(menuScreen->display, &(cleanup_event_cb), LV_EVENT_DELETE, menuScreen); diff --git a/src/lvgl_win_sim/lv_port_win_codeblocks/rsrc/altimeter_icon_chroma.png b/src/lvgl_win_sim/lv_port_win_codeblocks/rsrc/altimeter_icon_chroma.png new file mode 100644 index 0000000000000000000000000000000000000000..ff0a57a4c4d0fe3e2a20a8b0feaf231d3778a40b GIT binary patch literal 2809 zcmVHm6V!Ls^kvs~MzOrOy=aq?6X zUk^-tZpz?~X1v__i}?$iUh@hn#j|7imdoS5u zPM9!(!VY~zS=U-fq2x)G8d8*Lcyf*XBMPPMTKsKnfZZYz3E$-F;86i(6L@2Fcrmw3 zEd=1?K0-@4iBw5;IbC&yKc=#oUh}Z&hXKePrr}Y! zfYLf5csbM5I0ec%Eg$J(>#6f}?)Etckdk~-RU#%+z#Sy>%0bA0=alP)%q)$iY8JNC zwIoRC&_a&@^4*@r z&+Em4F)s=WsvrmVJ9eO4fA6BSVbXo&%_D+rY&gUVu>#5ERi_uL=}#3cJ)eHtP?%Q2 zze(DKrfonKlD2J&M0p94zS?rTMc1X*8!T$Qk=XpC zX0TeV&hkN}){x4kl)FH-(wZNIwiqb1ceu{PK;vkMKY*Ip{4FB2Nxm$78-$#93`Q4r z)&a2bA)q#p7-cmZFTR3 zh2O(RQH|iEZweoMK$(0GSCdkkoCaba=EDD3aN`uHgKw!Qo&D}|Q%CLB=L>3lV-v|I za&zy6D@CT-`}GvJE1j14tsnTyiBASAn>2K=vXwHhunG<7jI9NCR0ch3wJ8f4hL7Gg z(~1zAkKP?*zjf}TP~!Aiu4Wfj>j2a%H@*D9Y+()+vnVYcC~mN%qqDr`fK zduS|qhR1aUZrnyI0wc*gYBMeN3!~Vios|D|NylzxUIjJH-A28xPtTd*R8@;qb?63K8glB=sCsHn5kNw8pl!-tMk0(suO@>?_k4Q?E9f z_f;Bb882?J&pOJxp&QcZFds#rbHI1GaOgik3K+@sSZUskc1r%T#IzpYhJxB((KKkJR>$afbxQNBZscp zEofc*yOzkU$(@VVhO`F6ZR^E*Zfk@4Vv{r4GyZ$0>2QOImIue$eN>`(!-1k0aZyr= z5{fb9O`ASZ@eaSQ36CT9kXVb44Y(!WE&`~;${iv8+xFD5 zHtk@bN#O!EKNT|U9)FiVFKOFzeH;hiCJQUZvVwhkk#_*)T{ntqm92CPCJ-eMCOdlq zl>()bYZNc;tLmbJ<7fI-1%=lO0Fj%7c*y}e5eIM(b`?(!I=t)2LFeutN-+nHnU@8} zm=~<_rL_OmirhNfM?pP7LG3_6PC-&ZRuyGdlPfq);bq^%WSvJ?tjRk%Q2_Me(OYOM z!8%I!w$V`%hsG#d5b`|-B?a%yvix?X_rTi`@$^1(_1p@BJuakf3dlT2y~9=nv>)^z z4`!7#Q(jdE#T@+Gz)HVh6Z~sUXf%0n-V_oRL!QW?VUHG%P=1!5$G9dWTFkR%U6cUs zI%l4Fk$0eZ_jx7lVqkV6!-8!Qwnt7kci2#^=e>0fuP*gM4F&DUG_!wN0=Ms_!0j1! z33^<4m*0bIPv>zj1tg`3-~G3y5Nnm0{vukvAxV4}ib^>7jp$1`-Q3xlVKvyQqUL56 zJ)m^>4wGEuybSsHBywr^c#q9mPkRcgX~&sjO8HNfaJ%hal!$&5w(j5AfWYQ|=A8Lr z6PEj}fqh5+)C3F-5x<|^ERQQ6A|A~TG(jHODM330Z56avMryr`t4KwKxhmR7lc&uX zL|bW8O)@m9(6GXbPqUL}CqA5Ipcs4;4Z6o_JE8@M)xi`a(ZKN%^qbg55BLO1HL4&EF2?<^LH-X%FF1n1Q4E+3Xc#yn2rk$-whr)V>>5DG!F53+!O%c{ zaP)&Cpr?M$H2gpe4Gi=Ku