X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fmenu.h;h=4ac921dd8c87e2e7f2142a3a3f97f837614a8373;hb=157cef71aeb9ae25b7bb90f37dda11bc09329d11;hp=419a1e8e2e2d2d6438375328a522ff94838bf965;hpb=b077bfe311e9c8a5d3fb8a78d348a061d67860a6;p=supertux.git diff --git a/src/menu.h b/src/menu.h index 419a1e8e2..4ac921dd8 100644 --- a/src/menu.h +++ b/src/menu.h @@ -53,7 +53,6 @@ enum GameMenuIDs { enum WorldMapMenuIDs { MNID_RETURNWORLDMAP, - MNID_SAVEGAME, MNID_QUITWORLDMAP }; @@ -62,11 +61,40 @@ enum LevelEditorMainMenuIDs { MNID_SUBSETSETTINGS, MNID_QUITLEVELEDITOR }; + +enum LevelEditorSubsetSettingsIDs { + MNID_SUBSETTITLE, + MNID_SUBSETDESCRIPTION, + MNID_SUBSETSAVECHANGES + }; + +enum LevelEditorSubsetNewIDs { + MNID_SUBSETNAME, + MNID_CREATESUBSET +}; enum LevelEditorSettingsMenuIDs { + MNID_NAME, + MNID_AUTHOR, + MNID_SONG, + MNID_BGIMG, + MNID_PARTICLE, + MNID_LENGTH, + MNID_HEIGHT, + MNID_TIME, + MNID_GRAVITY, + MNID_BGSPEED, + MNID_TopRed, + MNID_TopGreen, + MNID_TopBlue, + MNID_BottomRed, + MNID_BottomGreen, + MNID_BottomBlue, MNID_APPLY }; +bool confirm_dialog(std::string text); + /* Kinds of menu items */ enum MenuItemKind { MN_ACTION, @@ -76,7 +104,8 @@ enum MenuItemKind { MN_DEACTIVE, MN_TEXTFIELD, MN_NUMFIELD, - MN_CONTROLFIELD, + MN_CONTROLFIELD_KB, + MN_CONTROLFIELD_JS, MN_STRINGSELECT, MN_LABEL, MN_HL, /* horizontal line */ @@ -100,6 +129,11 @@ public: void change_input(const char *text); static MenuItem* create(MenuItemKind kind, const char *text, int init_toggle, Menu* target_menu, int id, int* int_p); + + std::string get_input_with_symbol(bool active_item); // returns the text with an input symbol +private: + bool input_flickering; + Timer input_flickering_timer; }; class Menu @@ -145,6 +179,7 @@ private: /* input implementation variables */ int delete_character; char mn_input_char; + Timer joystick_timer; public: Timer effect; @@ -171,9 +206,12 @@ public: MenuItem& get_item(int index) { return item[index]; } MenuItem& get_item_by_id(int id); + int get_active_item_id(); + bool isToggled(int id); void Menu::get_controlfield_key_into_input(MenuItem *item); + void Menu::get_controlfield_js_into_input(MenuItem *item); void draw (); void draw_item(int index, int menu_width, int menu_height);