diff options
Diffstat (limited to 'apps/menus')
-rw-r--r-- | apps/menus/recording_menu.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/menus/recording_menu.c b/apps/menus/recording_menu.c index b9f5f7be78..435ebb6ba3 100644 --- a/apps/menus/recording_menu.c +++ b/apps/menus/recording_menu.c | |||
@@ -458,7 +458,7 @@ static void trigger_speak_item(const struct settings_list **settings, | |||
458 | } | 458 | } |
459 | int rectrigger(void) | 459 | int rectrigger(void) |
460 | { | 460 | { |
461 | struct viewport vp[NB_SCREENS]; | 461 | struct viewport vp[NB_SCREENS], triggervp[NB_SCREENS]; |
462 | struct gui_synclist lists; | 462 | struct gui_synclist lists; |
463 | int i, action = ACTION_REDRAW; | 463 | int i, action = ACTION_REDRAW; |
464 | bool done = false, changed = true; | 464 | bool done = false, changed = true; |
@@ -488,12 +488,15 @@ int rectrigger(void) | |||
488 | screens[i].update(); | 488 | screens[i].update(); |
489 | viewport_set_defaults(&vp[i], i); | 489 | viewport_set_defaults(&vp[i], i); |
490 | vp[i].height -= SYSFONT_HEIGHT*2; | 490 | vp[i].height -= SYSFONT_HEIGHT*2; |
491 | triggervp[i] = vp[i]; | ||
492 | triggervp[i].y = vp[i].y + vp[i].height; | ||
493 | triggervp[i].height = SYSFONT_HEIGHT*2; | ||
491 | trig_xpos[i] = 0; | 494 | trig_xpos[i] = 0; |
492 | trig_ypos[i] = vp[i].y + vp[i].height; | 495 | trig_ypos[i] = 0; |
493 | pm_x[i] = 0; | 496 | pm_x[i] = 0; |
494 | pm_y[i] = screens[i].getheight() - SYSFONT_HEIGHT; | 497 | pm_y[i] = SYSFONT_HEIGHT; |
495 | pm_h[i] = SYSFONT_HEIGHT; | 498 | pm_h[i] = SYSFONT_HEIGHT; |
496 | trig_width[i] = screens[i].getwidth(); | 499 | trig_width[i] = triggervp[i].width; |
497 | } | 500 | } |
498 | /* TODO: what to do if there is < 4 lines on the screen? */ | 501 | /* TODO: what to do if there is < 4 lines on the screen? */ |
499 | 502 | ||
@@ -542,9 +545,11 @@ int rectrigger(void) | |||
542 | changed = false; | 545 | changed = false; |
543 | } | 546 | } |
544 | 547 | ||
548 | FOR_NB_SCREENS(i) | ||
549 | screens[i].set_viewport(&triggervp[i]); | ||
545 | peak_meter_draw_trig(trig_xpos, trig_ypos, trig_width, NB_SCREENS); | 550 | peak_meter_draw_trig(trig_xpos, trig_ypos, trig_width, NB_SCREENS); |
546 | action = peak_meter_draw_get_btn(CONTEXT_SETTINGS_RECTRIGGER, | 551 | action = peak_meter_draw_get_btn(CONTEXT_SETTINGS_RECTRIGGER, |
547 | pm_x, pm_y, pm_h, NB_SCREENS); | 552 | pm_x, pm_y, pm_h, NB_SCREENS, triggervp); |
548 | FOR_NB_SCREENS(i) | 553 | FOR_NB_SCREENS(i) |
549 | screens[i].update(); | 554 | screens[i].update(); |
550 | i = gui_synclist_get_sel_pos(&lists); | 555 | i = gui_synclist_get_sel_pos(&lists); |