Пример #1
0
// Display fancy LED pattern waiting for any button to be pressed
// Wait for user to begin game
inline static void wait_start() {
	uint8_t mask = 0;
	uint8_t buttons;
	uint8_t cnt;
	uint8_t led = LED0;

	do {
		set_leds(led);
		mask = wait_buttons(100); // 100ms max wait
		led = led == LED3 ? LED0 : led << 1; // next led
	} while (mask == 0);

	// wait more until all buttons are released
	set_leds(0);
	buttons = mask;
	do {
		mask = get_buttons();
		buttons |= mask;
	} while (mask != 0);

	// configure game level depending on number of buttons pressed
	cnt = buttons_count(buttons);
	if (cnt == 2)
		game_level = 15;
	else if (cnt == 3)
		game_level = 20;
	else if (cnt == 4)
		game_level = 25;
}
Пример #2
0
void tree_buttons_remove_button(void)
{
	GtkTreeModel *model;
	GtkTreeSelection *sel;
	GtkTreeIter iter, iter_parent, iter_next;
	gint sel_new=1;
	
	sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(GET_WIDGET(TREEVIEW_BUTTONS_CONFIG)));
	if (gtk_tree_selection_get_selected(sel, &model, &iter) == FALSE)
	{
		fprintf(stderr,
		"Warning: tree_buttons_remove_button error, no selected button.\n");
		return;
	}
	if (gtk_tree_model_iter_parent(model, &iter_parent, &iter) == FALSE)
	{
		iter_parent = iter;
	}
	iter_next = iter_parent;
	if (gtk_tree_model_iter_next(model, &iter_next) == FALSE)
	{
		if (buttons_count() <= 1)
			sel_new = 0;
		else
			gtk_tree_model_get_iter_first(model, &iter_next);
	}
	gtk_tree_store_remove(GTK_TREE_STORE(model), &iter_parent);
	if (sel_new == 1)
		gtk_tree_selection_select_iter(sel, &iter_next);
}
Пример #3
0
void tree_buttons_replace_and_populate(int replace)
{
	int i;
	GtkTreeStore *store = NULL;
	int count = buttons_count();
	if (replace)
		tree_buttons_empty_store();
	
	store = tree_buttons_get_store();
	
	if (store == NULL)
	{
		fprintf(stderr, "Error: tree_buttons_populate could not get store.\n");
		return;
	}
	for (i=0; i<count; i++)
	{
		if (replace || empty)
			tree_buttons_add_button(i, NULL, store);
		//else
			//tree_buttons_replace_button(i, store);
	}
}