NeoMutt  2025-12-11-911-gd8d604
Teaching an old dog new tricks
DOXYGEN
Loading...
Searching...
No Matches
move.c File Reference

Change the Menu's position/selection. More...

#include "config.h"
#include <stdbool.h>
#include <stddef.h>
#include "mutt/lib.h"
#include "config/lib.h"
#include "gui/lib.h"
#include "lib.h"
+ Include dependency graph for move.c:

Go to the source code of this file.

Functions

MenuRedrawFlags menu_set_and_notify (struct Menu *menu, int top, int index)
 Set the Menu selection/view and notify others.
 
static int menu_drag_view (struct Menu *menu, int top, int index)
 Move the view around the selection.
 
static int calc_fit_selection_to_view (struct Menu *menu, int top, int index)
 Move the selection into the view.
 
static int calc_move_view (struct Menu *menu, int relative)
 Move the view.
 
MenuRedrawFlags menu_move_selection (struct Menu *menu, int index)
 Move the selection, keeping within between [0, menu->max].
 
MenuRedrawFlags menu_move_view_relative (struct Menu *menu, int relative)
 Move the view relatively.
 
void menu_adjust (struct Menu *menu)
 Reapply the config to the Menu.
 
MenuRedrawFlags menu_top_page (struct Menu *menu)
 Move the focus to the top of the page.
 
MenuRedrawFlags menu_middle_page (struct Menu *menu)
 Move the focus to the centre of the page.
 
MenuRedrawFlags menu_bottom_page (struct Menu *menu)
 Move the focus to the bottom of the page.
 
MenuRedrawFlags menu_prev_entry (struct Menu *menu, int count)
 Move the focus to the previous item in the menu.
 
MenuRedrawFlags menu_next_entry (struct Menu *menu, int count)
 Move the focus to the next item in the menu.
 
MenuRedrawFlags menu_first_entry (struct Menu *menu, int count)
 Move the focus to the first entry in the menu.
 
MenuRedrawFlags menu_last_entry (struct Menu *menu, int count)
 Move the focus to the last entry in the menu.
 
MenuRedrawFlags menu_current_top (struct Menu *menu)
 Move the current selection to the top of the window.
 
MenuRedrawFlags menu_current_middle (struct Menu *menu)
 Move the current selection to the centre of the window.
 
MenuRedrawFlags menu_current_bottom (struct Menu *menu)
 Move the current selection to the bottom of the window.
 
MenuRedrawFlags menu_half_up (struct Menu *menu, int count)
 Move the focus up half a page in the menu.
 
MenuRedrawFlags menu_half_down (struct Menu *menu, int count)
 Move the focus down half a page in the menu.
 
MenuRedrawFlags menu_prev_line (struct Menu *menu, int count)
 Move the view up one line, keeping the selection the same.
 
MenuRedrawFlags menu_next_line (struct Menu *menu, int count)
 Move the view down one line, keeping the selection the same.
 
MenuRedrawFlags menu_prev_page (struct Menu *menu, int count)
 Move the focus to the previous page in the menu.
 
MenuRedrawFlags menu_next_page (struct Menu *menu, int count)
 Move the focus to the next page in the menu.
 

Detailed Description

Change the Menu's position/selection.

Authors
  • Richard Russon

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Definition in file move.c.

Function Documentation

◆ menu_set_and_notify()

MenuRedrawFlags menu_set_and_notify ( struct Menu * menu,
int top,
int index )

Set the Menu selection/view and notify others.

Parameters
menuMenu
topIndex of item at the top of the view
indexSelected item
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 66 of file move.c.

67{
69
70 if (top != menu->top)
71 {
72 menu->top = top;
73 flags |= MENU_REDRAW_FULL;
74 }
75
76 if (index != menu->current)
77 {
78 menu->old_current = menu->current;
79 menu->current = index;
80
81 if (menu->redraw == MENU_REDRAW_NONE)
82 {
83 // If this is the only change
84 flags |= MENU_REDRAW_MOTION;
85 }
86 else
87 {
88 // otherwise, redraw completely
89 flags |= MENU_REDRAW_FULL;
90 }
91 }
92
93 if (flags != MENU_REDRAW_NONE)
94 {
95 menu->redraw |= flags;
96 menu->win->actions |= WA_REPAINT;
97
98 mutt_debug(LL_NOTIFY, "NT_MENU\n");
99 notify_send(menu->notify, NT_MENU, flags, NULL);
100 }
101 return flags;
102}
#define mutt_debug(LEVEL,...)
Definition logging2.h:91
@ LL_NOTIFY
Log of notifications.
Definition logging2.h:50
uint8_t MenuRedrawFlags
Definition lib.h:66
@ MENU_REDRAW_FULL
Redraw everything.
Definition lib.h:64
@ MENU_REDRAW_NONE
No flags are set.
Definition lib.h:60
@ MENU_REDRAW_MOTION
Redraw after moving the menu list.
Definition lib.h:62
bool notify_send(struct Notify *notify, enum NotifyType event_type, int event_subtype, void *event_data)
Send out a notification message.
Definition notify.c:173
@ WA_REPAINT
Redraw the contents of the Window.
@ NT_MENU
Menu has changed, MenuRedrawFlags.
Definition notify_type.h:52
struct MuttWindow * win
Window holding the Menu.
Definition lib.h:94
int current
Current entry.
Definition lib.h:87
MenuRedrawFlags redraw
When to redraw the screen.
Definition lib.h:89
int top
Entry that is the top of the current page.
Definition lib.h:98
struct Notify * notify
Notifications.
Definition lib.h:153
int old_current
For driver use only.
Definition lib.h:99
WindowActionFlags actions
Actions to be performed, e.g. WA_RECALC.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_drag_view()

static int menu_drag_view ( struct Menu * menu,
int top,
int index )
static

Move the view around the selection.

Parameters
menuMenu
topIndex of item at the top of the view
indexCurrent selection
Return values
numTop line

Definition at line 111 of file move.c.

112{
113 if (menu->max <= menu->page_len) // fewer entries than lines
114 return 0;
115
116 const int page = menu->page_len;
117
118 short c_menu_context = cs_subset_number(menu->sub, "menu_context");
119 c_menu_context = MIN(c_menu_context, (page / 2));
120
121 const bool c_menu_scroll = cs_subset_bool(menu->sub, "menu_scroll");
122 if (c_menu_scroll)
123 {
124 int bottom = top + page;
125 // Scroll the view to make the selection visible
126 if (index < top + c_menu_context) // scroll=YES, moving UP
127 top = index - c_menu_context;
128 else if (index >= (bottom - c_menu_context)) // scroll=YES, moving DOWN
129 top = index - page + c_menu_context + 1;
130 }
131 else
132 {
133 if ((index < top) || (index >= (top + page)))
134 top = (index / page) * page; // Round down to a page size
135 int bottom = top + page;
136
137 // Page up/down to make the selection visible
138 if (index < (top + c_menu_context)) // scroll=NO, moving UP
139 top = index - page + c_menu_context + 1;
140 else if (index >= (bottom - c_menu_context)) // scroll=NO, moving DOWN
141 top = index - c_menu_context;
142 }
143
144 if (top < 0)
145 top = 0;
146
147 // Tie the last entry to the bottom of the screen
148 const bool c_menu_move_off = cs_subset_bool(menu->sub, "menu_move_off");
149 if (!c_menu_move_off && (top >= (menu->max - page)))
150 {
151 top = menu->max - page;
152 }
153
154 return top;
155}
short cs_subset_number(const struct ConfigSubset *sub, const char *name)
Get a number config item by name.
Definition helpers.c:143
bool cs_subset_bool(const struct ConfigSubset *sub, const char *name)
Get a boolean config item by name.
Definition helpers.c:47
#define MIN(a, b)
Return the minimum of two values.
Definition memory.h:40
struct ConfigSubset * sub
Inherited config items.
Definition lib.h:95
int max
Number of entries in the menu.
Definition lib.h:88
int page_len
Number of entries per screen.
Definition lib.h:91
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ calc_fit_selection_to_view()

static int calc_fit_selection_to_view ( struct Menu * menu,
int top,
int index )
static

Move the selection into the view.

Parameters
menuMenu
topFirst entry visible in the view
indexCurrent selection
Return values
numIndex

Definition at line 164 of file move.c.

165{
166 short c_menu_context = cs_subset_number(menu->sub, "menu_context");
167 c_menu_context = MIN(c_menu_context, (menu->page_len / 2));
168
169 int min = top;
170 if (top != 0)
171 min += c_menu_context;
172
173 int max = top + menu->page_len - 1;
174 if (max < (menu->max - 1))
175 max -= c_menu_context;
176 else
177 max = menu->max - 1;
178
179 if (index < min)
180 index = min;
181 else if (index > max)
182 index = max;
183
184 return index;
185}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ calc_move_view()

static int calc_move_view ( struct Menu * menu,
int relative )
static

Move the view.

Parameters
menuMenu
relativeRelative number of lines to move
Return values
numTop line
0Error

Definition at line 194 of file move.c.

195{
196 if (menu->max <= menu->page_len) // fewer entries than lines
197 return 0;
198
199 short c_menu_context = cs_subset_number(menu->sub, "menu_context");
200 c_menu_context = MIN(c_menu_context, (menu->page_len / 2));
201
202 int index = menu->current;
203 if (index < c_menu_context)
204 return 0;
205
206 int top = menu->top + relative;
207 if (top < 0)
208 return 0;
209
210 if ((menu->top + menu->page_len) < menu->max)
211 return top;
212
213 int max = menu->max - 1;
214 const bool c_menu_move_off = cs_subset_bool(menu->sub, "menu_move_off");
215 if (c_menu_move_off)
216 {
217 max -= c_menu_context;
218 }
219 else
220 {
221 max -= menu->page_len - 1;
222 }
223
224 if (top > max)
225 top = max;
226
227 return top;
228}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_move_selection()

MenuRedrawFlags menu_move_selection ( struct Menu * menu,
int index )

Move the selection, keeping within between [0, menu->max].

Parameters
menuMenu
indexNew selection
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 236 of file move.c.

237{
238 if (menu->max == 0)
239 return MENU_REDRAW_NONE;
240
241 if (index < 0)
242 index = 0;
243 else if (index >= menu->max)
244 index = menu->max - 1;
245
246 int top = menu_drag_view(menu, menu->top, index);
247
248 return menu_set_and_notify(menu, top, index);
249}
MenuRedrawFlags menu_set_and_notify(struct Menu *menu, int top, int index)
Set the Menu selection/view and notify others.
Definition move.c:66
static int menu_drag_view(struct Menu *menu, int top, int index)
Move the view around the selection.
Definition move.c:111
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_move_view_relative()

MenuRedrawFlags menu_move_view_relative ( struct Menu * menu,
int relative )

Move the view relatively.

Parameters
menuMenu
relativeRelative number of lines to move
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 257 of file move.c.

258{
259 if (menu->max <= menu->page_len)
260 return menu_move_selection(menu, menu->current + relative);
261
262 const bool c_menu_move_off = cs_subset_bool(menu->sub, "menu_move_off");
263
264 short c_menu_context = cs_subset_number(menu->sub, "menu_context");
265 c_menu_context = MIN(c_menu_context, (menu->page_len / 2));
266
267 // Move and range-check the view
268 int top = menu->top + relative;
269 if (top < 0)
270 {
271 top = 0;
272 }
273 else if (c_menu_move_off && (top >= (menu->max - c_menu_context)))
274 {
275 top = menu->max - c_menu_context - 1;
276 }
277 else if (!c_menu_move_off && ((top + menu->page_len) >= menu->max))
278 {
279 top = menu->max - menu->page_len;
280 }
281 if (top < 0)
282 top = 0;
283
284 // Move the selection on-screen
285 int index = menu->current;
286 if (index < top)
287 index = top;
288 else if (index >= (top + menu->page_len))
289 index = top + menu->page_len - 1;
290
291 // Check for top/bottom limits
292 if (index < c_menu_context)
293 {
294 top = 0;
295 index = menu->current;
296 }
297 else if (!c_menu_move_off && (index > (menu->max - c_menu_context)))
298 {
299 top = menu->max - menu->page_len;
300 index = menu->current;
301 }
302
303 if (top == menu->top)
304 {
305 // Can't move the view; move the selection
306 index = calc_fit_selection_to_view(menu, top, index + relative);
307 }
308 else if (index > (top + menu->page_len - c_menu_context - 1))
309 {
310 index = calc_fit_selection_to_view(menu, top, index + relative);
311 }
312 else
313 {
314 // Drag the selection into the view
315 index = calc_fit_selection_to_view(menu, top, index);
316 }
317
318 return menu_set_and_notify(menu, top, index);
319}
MenuRedrawFlags menu_move_selection(struct Menu *menu, int index)
Move the selection, keeping within between [0, menu->max].
Definition move.c:236
static int calc_fit_selection_to_view(struct Menu *menu, int top, int index)
Move the selection into the view.
Definition move.c:164
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_adjust()

void menu_adjust ( struct Menu * menu)

Reapply the config to the Menu.

Parameters
menuMenu

Definition at line 325 of file move.c.

326{
327 int top = calc_move_view(menu, 0);
328 top = menu_drag_view(menu, top, menu->current);
329
330 menu_set_and_notify(menu, top, menu->current);
331}
static int calc_move_view(struct Menu *menu, int relative)
Move the view.
Definition move.c:194
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_top_page()

MenuRedrawFlags menu_top_page ( struct Menu * menu)

Move the focus to the top of the page.

Parameters
menuCurrent Menu
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 339 of file move.c.

340{
341 return menu_move_selection(menu, menu->top);
342}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_middle_page()

MenuRedrawFlags menu_middle_page ( struct Menu * menu)

Move the focus to the centre of the page.

Parameters
menuCurrent Menu
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 349 of file move.c.

350{
351 if (menu->max == 0)
352 {
353 mutt_error(_("No entries"));
354 return MENU_REDRAW_NONE;
355 }
356
357 int i = menu->top + menu->page_len;
358 if (i > (menu->max - 1))
359 i = menu->max - 1;
360
361 return menu_move_selection(menu, menu->top + (i - menu->top) / 2);
362}
#define mutt_error(...)
Definition logging2.h:94
#define _(a)
Definition message.h:28
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_bottom_page()

MenuRedrawFlags menu_bottom_page ( struct Menu * menu)

Move the focus to the bottom of the page.

Parameters
menuCurrent Menu
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 369 of file move.c.

370{
371 if (menu->max == 0)
372 {
373 mutt_error(_("No entries"));
374 return MENU_REDRAW_NONE;
375 }
376
377 int index = menu->top + menu->page_len - 1;
378 if (index > (menu->max - 1))
379 index = menu->max - 1;
380 return menu_move_selection(menu, index);
381}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_prev_entry()

MenuRedrawFlags menu_prev_entry ( struct Menu * menu,
int count )

Move the focus to the previous item in the menu.

Parameters
menuCurrent Menu
countNumber of entries to move (0 = move by 1, show warning at boundary)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 389 of file move.c.

390{
391 if (count > 0)
392 return menu_move_selection(menu, menu->current - count);
393
394 if (menu->current > 0)
395 return menu_move_selection(menu, menu->current - 1);
396
397 mutt_message(_("You are on the first entry"));
398 return MENU_REDRAW_NONE;
399}
#define mutt_message(...)
Definition logging2.h:93
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_next_entry()

MenuRedrawFlags menu_next_entry ( struct Menu * menu,
int count )

Move the focus to the next item in the menu.

Parameters
menuCurrent Menu
countNumber of entries to move (0 = move by 1, show warning at boundary)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 407 of file move.c.

408{
409 if (count > 0)
410 return menu_move_selection(menu, menu->current + count);
411
412 if (menu->current < (menu->max - 1))
413 return menu_move_selection(menu, menu->current + 1);
414
415 mutt_message(_("You are on the last entry"));
416 return MENU_REDRAW_NONE;
417}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_first_entry()

MenuRedrawFlags menu_first_entry ( struct Menu * menu,
int count )

Move the focus to the first entry in the menu.

Parameters
menuCurrent Menu
countJump to line N (1-based) if >0, otherwise go to first entry
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 425 of file move.c.

426{
427 if (menu->max == 0)
428 {
429 mutt_error(_("No entries"));
430 return MENU_REDRAW_NONE;
431 }
432
433 if (count > 0)
434 return menu_move_selection(menu, count - 1);
435
436 return menu_move_selection(menu, 0);
437}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_last_entry()

MenuRedrawFlags menu_last_entry ( struct Menu * menu,
int count )

Move the focus to the last entry in the menu.

Parameters
menuCurrent Menu
countJump to line N (1-based) if >0, otherwise go to last entry
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 445 of file move.c.

446{
447 if (menu->max == 0)
448 {
449 mutt_error(_("No entries"));
450 return MENU_REDRAW_NONE;
451 }
452
453 if (count > 0)
454 return menu_move_selection(menu, count - 1);
455
456 return menu_move_selection(menu, menu->max - 1);
457}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_current_top()

MenuRedrawFlags menu_current_top ( struct Menu * menu)

Move the current selection to the top of the window.

Parameters
menuCurrent Menu
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 465 of file move.c.

466{
467 if (menu->max == 0)
468 {
469 mutt_error(_("No entries"));
470 return MENU_REDRAW_NONE;
471 }
472
473 short c_menu_context = cs_subset_number(menu->sub, "menu_context");
474 if (c_menu_context > (menu->page_len / 2))
475 return MENU_REDRAW_NONE;
476
477 c_menu_context = MIN(c_menu_context, (menu->page_len / 2));
478 return menu_move_view_relative(menu, menu->current - menu->top - c_menu_context);
479}
MenuRedrawFlags menu_move_view_relative(struct Menu *menu, int relative)
Move the view relatively.
Definition move.c:257
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_current_middle()

MenuRedrawFlags menu_current_middle ( struct Menu * menu)

Move the current selection to the centre of the window.

Parameters
menuCurrent Menu
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 486 of file move.c.

487{
488 if (menu->max == 0)
489 {
490 mutt_error(_("No entries"));
491 return MENU_REDRAW_NONE;
492 }
493
494 short c_menu_context = cs_subset_number(menu->sub, "menu_context");
495 if (c_menu_context > (menu->page_len / 2))
496 return MENU_REDRAW_NONE;
497
498 return menu_move_view_relative(menu, menu->current - (menu->top + (menu->page_len / 2)));
499}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_current_bottom()

MenuRedrawFlags menu_current_bottom ( struct Menu * menu)

Move the current selection to the bottom of the window.

Parameters
menuCurrent Menu
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 506 of file move.c.

507{
508 if (menu->max == 0)
509 {
510 mutt_error(_("No entries"));
511 return MENU_REDRAW_NONE;
512 }
513
514 short c_menu_context = cs_subset_number(menu->sub, "menu_context");
515 if (c_menu_context > (menu->page_len / 2))
516 return MENU_REDRAW_NONE;
517
518 c_menu_context = MIN(c_menu_context, (menu->page_len / 2));
519 return menu_move_view_relative(menu, 0 - (menu->top + menu->page_len - 1 -
520 menu->current - c_menu_context));
521}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_half_up()

MenuRedrawFlags menu_half_up ( struct Menu * menu,
int count )

Move the focus up half a page in the menu.

Parameters
menuCurrent Menu
countNumber of half-pages to move (0 = move by 1)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 529 of file move.c.

530{
531 return menu_move_view_relative(menu, 0 - MAX(count, 1) * (menu->page_len / 2));
532}
#define MAX(a, b)
Return the maximum of two values.
Definition memory.h:38
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_half_down()

MenuRedrawFlags menu_half_down ( struct Menu * menu,
int count )

Move the focus down half a page in the menu.

Parameters
menuCurrent Menu
countNumber of half-pages to move (0 = move by 1)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 540 of file move.c.

541{
542 return menu_move_view_relative(menu, MAX(count, 1) * (menu->page_len / 2));
543}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_prev_line()

MenuRedrawFlags menu_prev_line ( struct Menu * menu,
int count )

Move the view up one line, keeping the selection the same.

Parameters
menuCurrent Menu
countNumber of lines to scroll (0 = scroll by 1, show warning at boundary)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 551 of file move.c.

552{
553 MenuRedrawFlags flags = menu_move_view_relative(menu, 0 - MAX(count, 1));
554 if ((count == 0) && (flags == MENU_REDRAW_NONE))
555 mutt_message(_("You can't scroll up farther"));
556 return flags;
557}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_next_line()

MenuRedrawFlags menu_next_line ( struct Menu * menu,
int count )

Move the view down one line, keeping the selection the same.

Parameters
menuCurrent Menu
countNumber of lines to scroll (0 = scroll by 1, show warning at boundary)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 565 of file move.c.

566{
567 MenuRedrawFlags flags = menu_move_view_relative(menu, MAX(count, 1));
568 if ((count == 0) && (flags == MENU_REDRAW_NONE))
569 mutt_message(_("You can't scroll down farther"));
570 return flags;
571}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_prev_page()

MenuRedrawFlags menu_prev_page ( struct Menu * menu,
int count )

Move the focus to the previous page in the menu.

Parameters
menuCurrent Menu
countNumber of pages to move (0 = move by 1)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 579 of file move.c.

580{
581 return menu_move_view_relative(menu, 0 - MAX(count, 1) * menu->page_len);
582}
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ menu_next_page()

MenuRedrawFlags menu_next_page ( struct Menu * menu,
int count )

Move the focus to the next page in the menu.

Parameters
menuCurrent Menu
countNumber of pages to move (0 = move by 1)
Return values
enumMenuRedrawFlags, e.g. MENU_REDRAW_CURRENT

Definition at line 590 of file move.c.

591{
592 return menu_move_view_relative(menu, MAX(count, 1) * menu->page_len);
593}
+ Here is the call graph for this function:
+ Here is the caller graph for this function: