ubitxv6/menu.h

30 lines
818 B
C
Raw Normal View History

2020-02-09 23:10:08 +01:00
#pragma once
#include <stdint.h>
#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
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;
void runActiveMenu(const ButtonPress_e tuner_button,
const ButtonPress_e touch_button,
const Point touch_point,
const int16_t knob);
void enterSubmenu(Menu_t *const submenu);