Exemple #1
0
GWEN_CONTROL_CONSTRUCTOR(Menu, ScrollControl)
{
    SetBounds(0, 0, 10, 10);
    SetDeleteOnClose(false);
    SetIconMarginDisabled(false);
    SetPadding(Padding(0, 0, 0, 0));
    _SetScrollBarHidden(true);
}
void GameGui::HandleEvent(ALLEGRO_EVENT& ev, GameState& state, Point view)
{
	if (m_gwenInput.get()->ProcessMessage(ev))
		return;

	GuiRequest req = m_iHandler.HandleEvent(ev, state, view);

	// currently there's only one type of event that when processed affects
	// the GUI, clicking on a building to open a window
	switch (req.type)
	{
	case GuiRequestType::None:
		break;
	case GuiRequestType::OpenBuildingWindow:
		auto window = req.ptr.building.DisplayGUI(m_canvas.get());
		window->onWindowClosed.Add(this, &GameGui::CloseWindowCallback);
		window->SetDeleteOnClose(true);
		OpenWindow(window);
		break;
	}
}