2020-09-15 20:57:54 +00:00
|
|
|
// SPDX-License-Identifier: MIT
|
2020-05-24 08:29:29 +00:00
|
|
|
//
|
2020-09-15 20:57:54 +00:00
|
|
|
// EmulationStation Desktop Edition
|
2020-06-21 12:25:28 +00:00
|
|
|
// GuiMenu.h
|
2020-05-24 08:29:29 +00:00
|
|
|
//
|
2020-06-21 12:25:28 +00:00
|
|
|
// Main menu.
|
|
|
|
// Some submenus are covered in separate source files.
|
2020-05-24 08:29:29 +00:00
|
|
|
//
|
|
|
|
|
2017-10-31 17:12:50 +00:00
|
|
|
#ifndef ES_APP_GUIS_GUI_MENU_H
|
|
|
|
#define ES_APP_GUIS_GUI_MENU_H
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2021-07-07 18:03:42 +00:00
|
|
|
#include "GuiComponent.h"
|
2014-06-25 16:29:58 +00:00
|
|
|
#include "components/MenuComponent.h"
|
2021-06-28 16:12:08 +00:00
|
|
|
#include "guis/GuiSettings.h"
|
2022-03-18 19:14:51 +00:00
|
|
|
#include "views/ViewController.h"
|
2014-06-25 16:29:58 +00:00
|
|
|
|
|
|
|
class GuiMenu : public GuiComponent
|
|
|
|
{
|
|
|
|
public:
|
2022-01-19 17:01:54 +00:00
|
|
|
GuiMenu();
|
2020-09-15 20:57:54 +00:00
|
|
|
~GuiMenu();
|
2014-06-25 16:29:58 +00:00
|
|
|
|
2020-06-21 12:25:28 +00:00
|
|
|
bool input(InputConfig* config, Input input) override;
|
|
|
|
void onSizeChanged() override;
|
|
|
|
std::vector<HelpPrompt> getHelpPrompts() override;
|
2022-03-18 19:14:51 +00:00
|
|
|
HelpStyle getHelpStyle() override { return ViewController::getInstance()->getViewHelpStyle(); }
|
2014-06-25 16:29:58 +00:00
|
|
|
|
|
|
|
private:
|
2020-06-21 12:25:28 +00:00
|
|
|
void close(bool closeAllWindows);
|
2021-07-07 18:03:42 +00:00
|
|
|
void addEntry(const std::string& name,
|
|
|
|
unsigned int color,
|
|
|
|
bool add_arrow,
|
|
|
|
const std::function<void()>& func);
|
2020-06-21 12:25:28 +00:00
|
|
|
void addVersionInfo();
|
2020-11-05 17:18:11 +00:00
|
|
|
|
2021-05-22 20:48:44 +00:00
|
|
|
void openScraperOptions();
|
|
|
|
void openUIOptions();
|
2023-02-13 19:38:23 +00:00
|
|
|
void openThemeDownloader(GuiSettings* settings);
|
2021-05-16 11:12:31 +00:00
|
|
|
void openMediaViewerOptions();
|
2020-06-21 12:25:28 +00:00
|
|
|
void openScreensaverOptions();
|
2021-05-22 20:48:44 +00:00
|
|
|
void openSoundOptions();
|
2021-05-23 08:35:59 +00:00
|
|
|
void openInputDeviceOptions();
|
2021-06-28 16:12:08 +00:00
|
|
|
void openConfigInput(GuiSettings* settings);
|
2021-05-22 20:48:44 +00:00
|
|
|
void openCollectionSystemOptions();
|
|
|
|
void openOtherOptions();
|
2020-11-05 17:18:11 +00:00
|
|
|
void openQuitMenu();
|
2017-09-08 14:49:47 +00:00
|
|
|
|
2023-02-21 17:39:56 +00:00
|
|
|
Renderer* mRenderer;
|
2020-06-21 12:25:28 +00:00
|
|
|
MenuComponent mMenu;
|
|
|
|
TextComponent mVersion;
|
2014-06-25 16:29:58 +00:00
|
|
|
};
|
2017-10-31 17:12:50 +00:00
|
|
|
|
|
|
|
#endif // ES_APP_GUIS_GUI_MENU_H
|