#pragma once #include #include #include #include #include namespace ndk { struct menu : panel { menu (panel *parent = 0); ~menu (); void add_item (char const *name, char const *description); private: virtual void draw (); event::result at_keyboard (keyboard const &ev); struct item { item (item const &other) = delete; item &operator = (item const &rhs) = delete; item (); item (char const *name, char const *description); item (item &&other); item &operator = (item &&rhs); ~item (); ITEM *item_; }; std::unique_ptr menu_; std::vector items_; }; }