summary refs log tree commit diff stats
path: root/src/menu.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2021-03-13 12:24:05 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2021-03-13 15:34:50 -0500
commitfce37403bbc29521b2b5bd983291b3730f8ad7b4 (patch)
treec7bdf0fa62f6d67f85b97a7cda746da31470def2 /src/menu.cpp
parentc6b5e936ff9869d8a3de9ea41db784a4cb46a818 (diff)
downloadtanetane-fce37403bbc29521b2b5bd983291b3730f8ad7b4.tar.gz
tanetane-fce37403bbc29521b2b5bd983291b3730f8ad7b4.tar.bz2
tanetane-fce37403bbc29521b2b5bd983291b3730f8ad7b4.zip
Added submenus
#7
Diffstat (limited to 'src/menu.cpp')
-rw-r--r--src/menu.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/menu.cpp b/src/menu.cpp index 4da4574..cfb0dd6 100644 --- a/src/menu.cpp +++ b/src/menu.cpp
@@ -1,12 +1,25 @@
1#include "menu.h" 1#include "menu.h"
2 2
3std::vector<MenuItem> CreateMenu(const std::vector<MenuBuilder>& builders) { 3Menu::Menu(const std::vector<MenuBuilder>& builders) {
4 std::vector<MenuItem> result; 4 items_.reserve(builders.size());
5 result.reserve(builders.size());
6 5
7 for (const MenuBuilder& builder : builders) { 6 for (const MenuBuilder& builder : builders) {
8 result.push_back(builder.Build()); 7 items_.push_back(builder.Build());
9 } 8 }
9}
10
11void Menu::moveCursorUp() {
12 cursor_--;
10 13
11 return result; 14 if (cursor_ < 0) {
15 cursor_ = items_.size() - 1;
16 }
17}
18
19void Menu::moveCursorDown() {
20 cursor_++;
21
22 if (cursor_ >= items_.size()) {
23 cursor_ = 0;
24 }
12} 25}