ocarina/gui/buttons/controls.cpp

46 lines
954 B
C++

#include <list>
using namespace std;
#include <ocarina/button.h>
#include <libsaria/libsaria.h>
static list<GtkWidget *> play_buttons;
static list<GtkWidget *> *get_buttons(button_list_t bttn_list)
{
return &play_buttons;
}
void show_button_list(button_list_t bttn_list)
{
list<GtkWidget *>::iterator it;
list<GtkWidget *> *buttons = get_buttons(bttn_list);
for (it = buttons->begin(); it != buttons->end(); it++)
gtk_widget_show(*it);
}
void hide_button_list(button_list_t bttn_list)
{
list<GtkWidget *>::iterator it;
list<GtkWidget *> *buttons = get_buttons(bttn_list);
for (it = buttons->begin(); it != buttons->end(); it++)
gtk_widget_hide(*it);
}
static void on_click_play(GtkWidget *b, GdkEvent *e, gpointer d)
{
libsaria_get()->play();
}
GtkWidget *make_play_button(GtkIconSize size)
{
GtkWidget *b = make_button(GTK_STOCK_MEDIA_PLAY,
size,
on_click_play,
true);
play_buttons.push_back(b);
return b;
}