2020-02-09 23:10:08 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2020-04-25 21:00:19 +02:00
|
|
|
#include "button_press_e.h"
|
2020-02-10 03:41:26 +01:00
|
|
|
#include "point.h"
|
2020-02-09 23:10:08 +01:00
|
|
|
|
|
|
|
enum MenuReturn_e : uint8_t {
|
|
|
|
StillActive,
|
|
|
|
ExitedRedraw,
|
|
|
|
ExitedNoRedraw
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Menu_t {
|
2020-02-10 07:01:19 +01:00
|
|
|
void (*const initMenu)();//Any initial draw routines or state initialization
|
2020-02-10 00:30:37 +01:00
|
|
|
MenuReturn_e (*const runMenu)(const ButtonPress_e tuner_button,
|
|
|
|
const ButtonPress_e touch_button,
|
|
|
|
const Point touch_point,
|
|
|
|
const int16_t knob);
|
2020-02-09 23:10:08 +01:00
|
|
|
Menu_t* active_submenu;
|
|
|
|
};
|
|
|
|
|
|
|
|
static const uint8_t MENU_KNOB_COUNTS_PER_ITEM = 10;
|
2020-02-15 23:43:05 +01:00
|
|
|
|
|
|
|
void runActiveMenu(const ButtonPress_e tuner_button,
|
|
|
|
const ButtonPress_e touch_button,
|
|
|
|
const Point touch_point,
|
|
|
|
const int16_t knob);
|
2020-02-16 00:27:48 +01:00
|
|
|
|
|
|
|
void enterSubmenu(Menu_t *const submenu);
|