From fce37403bbc29521b2b5bd983291b3730f8ad7b4 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 13 Mar 2021 12:24:05 -0500 Subject: Added submenus #7 --- src/menu.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/menu.cpp') 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 @@ #include "menu.h" -std::vector CreateMenu(const std::vector& builders) { - std::vector result; - result.reserve(builders.size()); +Menu::Menu(const std::vector& builders) { + items_.reserve(builders.size()); for (const MenuBuilder& builder : builders) { - result.push_back(builder.Build()); + items_.push_back(builder.Build()); } +} + +void Menu::moveCursorUp() { + cursor_--; - return result; + if (cursor_ < 0) { + cursor_ = items_.size() - 1; + } +} + +void Menu::moveCursorDown() { + cursor_++; + + if (cursor_ >= items_.size()) { + cursor_ = 0; + } } -- cgit 1.4.1