#pragma once
#include "menu.hpp"
//! вывод текста + применение действия
class item_text: public MenuItem {
protected:
  utf32 str = {};
  void_callback pFunc = nullptr;
private:
  nocopy(item_text);
public:
  explicit item_text(CN(utf32) s, void_callback f = nullptr)
    : str(s), pFunc(f) {}
  void print(Font* pFont, Image& dst, int XPos = 0,
  int YPos = 0) const override
    { pFont->print(dst, XPos, YPos, str); }
  bool accept() override {
    if (pFunc)
      return pFunc();
    return true;
  }
};