예제 #1
0
void gg_bin_init(gg_bin_t *bin, gg_widget_t *child)
{
    gg_container_init((gg_container_t *) bin);

    bin->set_size = gg_bin_set_size;
    bin->set_focus_pos = gg_bin_set_focus_pos;
    bin->input = gg_bin_input;
    bin->id = gg_bin_get_class_id();
    bin->enabled = child->enabled;
    gg_container_append(GG_CONTAINER(bin), child);
}
예제 #2
0
파일: dialog.c 프로젝트: konker/dreamchess
		0.0f, 0.0f, 0.5f, 1.0f
	};

static gg_colour_t col_grey =
	{
		0.5f, 0.5f, 0.5f, 1.0f
	};

static gg_colour_t col_grey2 =
	{
		0.25f, 0.25f, 0.25f, 1.0f
	};

gg_class_id gg_dialog_get_class_id()
{
	GG_CHILD(gg_bin_get_class_id())
}

static TAILQ_HEAD(dialogs_head, gg_dialog) dialogs = TAILQ_HEAD_INITIALIZER(dialogs);
static TAILQ_HEAD(closed_dialogs_head, gg_dialog) closed_dialogs = TAILQ_HEAD_INITIALIZER(closed_dialogs);

void gg_dialog_cleanup()
{
	while (!TAILQ_EMPTY(&closed_dialogs))
	{
		gg_dialog_t *dialog = TAILQ_FIRST(&closed_dialogs);
		TAILQ_REMOVE(&closed_dialogs, dialog, entries);
		dialog->destroy(GG_WIDGET(dialog));
	}
}