#ifndef CC_MENUS_H #define CC_MENUS_H #include "Gui.h" /* Contains all 2D menu screen implementations. Copyright 2014-2023 ClassiCube | Licensed under BSD-3 */ struct Screen; struct MenuInputDesc; struct FontDesc; struct ButtonWidget; int Menu_InputDown(void* screen, int key); int Menu_PointerDown(void* screen, int id, int x, int y); int Menu_PointerMove(void* screen, int id, int x, int y); struct SimpleButtonDesc { short x, y; const char* title; Widget_LeftClick onClick; }; void Menu_AddButtons(void* screen, struct ButtonWidget* btns, int width, const struct SimpleButtonDesc* descs, int count); void Menu_LayoutButtons(struct ButtonWidget* btns, const struct SimpleButtonDesc* descs, int count); void Menu_SetButtons(struct ButtonWidget* btns, struct FontDesc* font, const struct SimpleButtonDesc* descs, int count); void Menu_LayoutBack(struct ButtonWidget* btn); void PauseScreen_Show(void); void OptionsGroupScreen_Show(void); void ClassicOptionsScreen_Show(void); void ClassicPauseScreen_Show(void); void ClassicBindingsScreen_Show(void); void ClassicHacksBindingsScreen_Show(void); void NormalBindingsScreen_Show(void); void HacksBindingsScreen_Show(void); void OtherBindingsScreen_Show(void); void MouseBindingsScreen_Show(void); void HotbarBindingsScreen_Show(void); void GenLevelScreen_Show(void); void ClassicGenScreen_Show(void); void LoadLevelScreen_Show(void); void SaveLevelScreen_Show(void); void TexturePackScreen_Show(void); void FontListScreen_Show(void); void HotkeyListScreen_Show(void); void MiscOptionsScreen_Show(void); void ChatOptionsScreen_Show(void); void GuiOptionsScreen_Show(void); void GraphicsOptionsScreen_Show(void); void HacksSettingsScreen_Show(void); void EnvSettingsScreen_Show(void); void NostalgiaAppearanceScreen_Show(void); void NostalgiaFunctionalityScreen_Show(void); void NostalgiaMenuScreen_Show(void); void UrlWarningOverlay_Show(const cc_string* url); void TexIdsOverlay_Show(void); void TexPackOverlay_Show(const cc_string* url); #ifdef CC_BUILD_TOUCH void TouchCtrlsScreen_Show(void); void TouchMoreScreen_Show(void); void TouchOnscreenScreen_Show(void); #endif void MenuScreen_Render2(void* screen, float delta); typedef void (*MenuInputDone)(const cc_string* value, cc_bool valid); void MenuInputOverlay_Show(struct MenuInputDesc* desc, const cc_string* value, MenuInputDone onDone, cc_bool screenMode); #endif