summaryrefslogtreecommitdiff
path: root/apps/menus/recording_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menus/recording_menu.c')
-rw-r--r--apps/menus/recording_menu.c15
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}
459int rectrigger(void) 459int 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);