diff options
author | nathan <thenathansmithsmith@gmail.com> | 2023-03-20 06:34:54 +0000 |
---|---|---|
committer | nathan <thenathansmithsmith@gmail.com> | 2023-03-20 06:34:54 +0000 |
commit | dd98918fe32b9dcdfc482a2c68481e93ceb50623 (patch) | |
tree | bf2ea0e4f4e47facde93c0cf277adb2031f7b3ec /src/top_menu.cpp | |
download | fltk_snake-dd98918fe32b9dcdfc482a2c68481e93ceb50623.tar.gz fltk_snake-dd98918fe32b9dcdfc482a2c68481e93ceb50623.tar.bz2 fltk_snake-dd98918fe32b9dcdfc482a2c68481e93ceb50623.zip |
Diffstat (limited to 'src/top_menu.cpp')
-rw-r--r-- | src/top_menu.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/top_menu.cpp b/src/top_menu.cpp new file mode 100644 index 0000000..97b9861 --- /dev/null +++ b/src/top_menu.cpp @@ -0,0 +1,25 @@ +#include "top_menu.h" + + +void new_game_cb(Fl_Widget * w, void * d) { + MainData * mdata = (MainData*)d; + + mdata->snake_map->reset_all(); +} + +void pause_cb(Fl_Widget * w, void * d) { + MainData * mdata = (MainData*)d; + + // Get button. + Fl_Menu_Bar * menu_bar = (Fl_Menu_Bar*)w; + const Fl_Menu_Item * button = menu_bar->mvalue(); + + // Set paused. + mdata->paused = (bool)button->value(); +} + +void add_menu_items(MainData * mdata, Fl_Menu_Bar * top_menu) { + // Game. + top_menu->add("&game/New game", FL_CTRL + 'n', (Fl_Callback*)new_game_cb, (void*)mdata); + top_menu->add("&game/pause", 'p', (Fl_Callback*)pause_cb, (void*)mdata, FL_MENU_TOGGLE | (mdata->paused ? FL_MENU_VALUE : 0x0)); +} |