Skip to content

Commit 8f42c8c

Browse files
committed
Updated for ESP-BOX
1 parent 4a2bda5 commit 8f42c8c

File tree

1 file changed

+47
-29
lines changed

1 file changed

+47
-29
lines changed

components/esp_nes/osd.c

Lines changed: 47 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ static void app_lvgl_btn_reset(lv_event_t *e)
352352

353353
static 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

Comments
 (0)