aboutsummaryrefslogtreecommitdiffstats
path: root/src/top_menu.cpp
blob: 97b9861257c53281d898e3e60b4b80ebe69a34ae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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));
}