UI
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <vamp_zero/types.hpp>
|
||||
|
||||
|
||||
namespace vamp_zero {
|
||||
|
||||
enum class menu_action_kind { ACTIVATE,
|
||||
PREVIOUS,
|
||||
NEXT,
|
||||
TEMPO_DOWN,
|
||||
TEMPO_UP };
|
||||
|
||||
struct menu_action {
|
||||
vamp_zero::menu_action_kind kind{};
|
||||
std::size_t row{};
|
||||
std::uint64_t revision{};
|
||||
std::shared_ptr<vamp_zero::catalog const> catalog{};
|
||||
};
|
||||
|
||||
struct menu_item {
|
||||
std::string label{};
|
||||
std::string detail{};
|
||||
};
|
||||
|
||||
auto menu_count(vamp_zero::app_state const &state) -> std::size_t;
|
||||
auto menu_selection(vamp_zero::app_state const &state) -> std::size_t;
|
||||
auto menu_title(vamp_zero::app_state const &state) -> std::string;
|
||||
auto menu_row(vamp_zero::app_state const &state, std::size_t row) -> vamp_zero::menu_item;
|
||||
auto apply_menu_action(vamp_zero::app_state state, vamp_zero::menu_action const &action) -> vamp_zero::app_state;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user