@@ -352,6 +352,7 @@ static void app_lvgl_btn_reset(lv_event_t *e)
352352
353353static void app_lvgl_game_selection (void )
354354{
355+ uint8_t scale = 480 /BSP_LCD_V_RES ;
355356 bsp_display_lock (0 );
356357 lv_obj_set_style_bg_color (lv_scr_act (), lv_color_black (), 0 );
357358
@@ -388,39 +389,56 @@ static void app_lvgl_game_selection(void)
388389 lv_obj_set_style_pad_right (games , 0 , 0 );
389390 lv_obj_set_flex_align (games , LV_FLEX_ALIGN_CENTER , LV_FLEX_ALIGN_CENTER , LV_FLEX_ALIGN_CENTER );
390391
391- lv_obj_t * btn = lv_btn_create (games );
392- lv_obj_t * img = lv_img_create (btn );
392+ lv_obj_t * btn_1 = lv_btn_create (games );
393+ lv_obj_set_size (btn_1 , img_supermario .header .w /scale + 15 , img_supermario .header .h /scale + 15 );
394+ lv_obj_t * img = lv_img_create (btn_1 );
393395 lv_img_set_src (img , & img_supermario );
394- lv_obj_align (img , LV_ALIGN_TOP_MID , 0 , 0 );
395- lv_obj_set_style_radius (btn , 0 , 0 );
396- lv_obj_set_style_pad_top (btn , 15 , 0 );
397- lv_obj_set_style_pad_bottom (btn , 15 , 0 );
398- lv_obj_set_style_pad_left (btn , 15 , 0 );
399- lv_obj_set_style_pad_right (btn , 15 , 0 );
400- lv_obj_add_event_cb (btn , app_lvgl_btn_supermario , LV_EVENT_CLICKED , NULL );
401-
402- btn = lv_btn_create (games );
403- img = lv_img_create (btn );
396+ lv_img_set_zoom (img , 256 /scale );
397+ lv_obj_align (img , LV_ALIGN_CENTER , 0 , 0 );
398+ lv_obj_set_style_radius (btn_1 , 0 , 0 );
399+ lv_obj_set_style_pad_top (btn_1 , 15 , 0 );
400+ lv_obj_set_style_pad_bottom (btn_1 , 15 , 0 );
401+ lv_obj_set_style_pad_left (btn_1 , 15 , 0 );
402+ lv_obj_set_style_pad_right (btn_1 , 15 , 0 );
403+ lv_obj_add_event_cb (btn_1 , app_lvgl_btn_supermario , LV_EVENT_CLICKED , NULL );
404+
405+ lv_obj_t * btn_2 = lv_btn_create (games );
406+ lv_obj_set_size (btn_2 , img_donkeykong .header .w /scale + 15 , img_donkeykong .header .h /scale + 15 );
407+ img = lv_img_create (btn_2 );
404408 lv_img_set_src (img , & img_donkeykong );
405- lv_obj_align (img , LV_ALIGN_TOP_MID , 0 , 0 );
406- lv_obj_set_style_radius (btn , 0 , 0 );
407- lv_obj_set_style_pad_top (btn , 15 , 0 );
408- lv_obj_set_style_pad_bottom (btn , 15 , 0 );
409- lv_obj_set_style_pad_left (btn , 15 , 0 );
410- lv_obj_set_style_pad_right (btn , 15 , 0 );
411- lv_obj_add_event_cb (btn , app_lvgl_btn_donkeykong , LV_EVENT_CLICKED , NULL );
412-
413- btn = lv_btn_create (games );
414- img = lv_img_create (btn );
409+ lv_img_set_zoom (img , 256 /scale );
410+ lv_obj_align (img , LV_ALIGN_CENTER , 0 , 0 );
411+ lv_obj_set_style_radius (btn_2 , 0 , 0 );
412+ lv_obj_set_style_pad_top (btn_2 , 15 , 0 );
413+ lv_obj_set_style_pad_bottom (btn_2 , 15 , 0 );
414+ lv_obj_set_style_pad_left (btn_2 , 15 , 0 );
415+ lv_obj_set_style_pad_right (btn_2 , 15 , 0 );
416+ lv_obj_add_event_cb (btn_2 , app_lvgl_btn_donkeykong , LV_EVENT_CLICKED , NULL );
417+
418+ lv_obj_t * btn_3 = lv_btn_create (games );
419+ lv_obj_set_size (btn_3 , img_qbert .header .w /scale + 15 , img_qbert .header .h /scale + 15 );
420+ img = lv_img_create (btn_3 );
415421 lv_img_set_src (img , & img_qbert );
416- lv_obj_align (img , LV_ALIGN_TOP_MID , 0 , 0 );
417- lv_obj_set_style_radius (btn , 0 , 0 );
418- lv_obj_set_style_pad_top (btn , 15 , 0 );
419- lv_obj_set_style_pad_bottom (btn , 15 , 0 );
420- lv_obj_set_style_pad_left (btn , 15 , 0 );
421- lv_obj_set_style_pad_right (btn , 15 , 0 );
422- lv_obj_add_event_cb (btn , app_lvgl_btn_qbert , LV_EVENT_CLICKED , NULL );
422+ lv_img_set_zoom (img , 256 /scale );
423+ lv_obj_align (img , LV_ALIGN_CENTER , 0 , 0 );
424+ lv_obj_set_style_radius (btn_3 , 0 , 0 );
425+ lv_obj_set_style_pad_top (btn_3 , 15 , 0 );
426+ lv_obj_set_style_pad_bottom (btn_3 , 15 , 0 );
427+ lv_obj_set_style_pad_left (btn_3 , 15 , 0 );
428+ lv_obj_set_style_pad_right (btn_3 , 15 , 0 );
429+ lv_obj_add_event_cb (btn_3 , app_lvgl_btn_qbert , LV_EVENT_CLICKED , NULL );
423430
431+ /* Input device group */
432+ lv_indev_t * indev = bsp_display_get_input_dev ();
433+ if (indev && indev -> driver && indev -> driver -> type == LV_INDEV_TYPE_ENCODER ) {
434+ lv_group_t * main_group = lv_group_create ();
435+ lv_group_add_obj (main_group , btn_1 );
436+ lv_group_add_obj (main_group , btn_2 );
437+ lv_group_add_obj (main_group , btn_3 );
438+ lv_indev_set_group (indev , main_group );
439+ ESP_LOGI (TAG , "Input device group was set." );
440+ }
441+
424442 bsp_display_unlock ();
425443}
426444
0 commit comments