// ------------------------------------------------------------------------------------ //
//																						//
//	File: Asura_GUIMenu_Allocators.h													//
//																						//
//	Description: this file is a group of functions that allocate the GUIMenu objects.	//
//				 it's been added to seperate it off from GUIMenu_System so i can use	//
//				 in the new chunk functions without creating cyclic header dependancies	//
//																						//
//	Created: Steve Keen - 23.03.07														//
//																						//
//	Copyright (C) 2006 Rebellion (Derby), All Rights Reserved.							//
// ------------------------------------------------------------------------------------ //

#include "Core/Asura.h"

#ifdef ASURA_USE_GUI_MENU_SYSTEM
#include "GUIMenu/Asura_GUIMenu_Allocators.h"

#include "GUIMenu/Asura_GUIMenu_Root.h"
#include "GUIMenu/Asura_GUIMenu_Element_Animation.h"
#include "GUIMenu/Asura_GUIMenu_Element_FMV.h"
#include "GUIMenu/Asura_GUIMenu_Element_Image.h"
#include "GUIMenu/Asura_GUIMenu_Element_Path.h"
#include "GUIMenu/Asura_GUIMenu_Element_StatusText.h"
#include "GUIMenu/Asura_GUIMenu_Element_Text.h"
#include "GUIMenu/Asura_GUIMenu_Widget_AnimatingImage.h"
#include "GUIMenu/Asura_GUIMenu_Widget_Button.h"
#include "GUIMenu/Asura_GUIMenu_Widget_CheckBox.h"
#include "GUIMenu/Asura_GUIMenu_Widget_Group.h"
#include "GUIMenu/Asura_GUIMenu_Widget_TextListBox.h"
#include "GUIMenu/Asura_GUIMenu_Widget_ListBox.h"
#include "GUIMenu/Asura_GUIMenu_Widget_Numeric.h"
#include "GUIMenu/Asura_GUIMenu_Widget_ProgressBar.h"
#include "GUIMenu/Asura_GUIMenu_Widget_Slider.h"
#include "GUIMenu/Asura_GUIMenu_Widget_Textbox.h"
#include "GUIMenu/Asura_GUIMenu_Menu_Page.h"

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Menu_Page* Asura_GUIMenu_CreateMenuPage( void)
{
	return new Asura_GUIMenu_Menu_Page;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateTextElement( void)
{
	return new Asura_GUIMenu_Element_Text;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateStatusTextElement( void)
{
	return new Asura_GUIMenu_Element_StatusText;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateFMV( void)
{
	return new Asura_GUIMenu_Element_FMV;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateImageElement( void)
{
	return new Asura_GUIMenu_Element_Image;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreatePathElement( void)
{
	return new Asura_GUIMenu_Element_Path;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateAnimationElement( void)
{
	return new Asura_GUIMenu_Element_Animation;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateButtonWidget( void)
{
	return new Asura_GUIMenu_Widget_Button;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateCheckBoxWidget( void)
{
	return new Asura_GUIMenu_Widget_CheckBox;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateAnimImageWidget( void)
{
	return new Asura_GUIMenu_Widget_AnimatingImage;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateGroupWidget( void)
{
	return new Asura_GUIMenu_Widget_Group;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateTextListBoxWidget( void)
{
	return new Asura_GUIMenu_Widget_TextListBox;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateNumericWidget( void)
{
	return new Asura_GUIMenu_Widget_Numeric;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateProgressBarWidget( void)
{
	return new Asura_GUIMenu_Widget_ProgressBar;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateSliderWidget( void)
{
	return new Asura_GUIMenu_Widget_Slider;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateTextBoxWidget( void)
{
	return new Asura_GUIMenu_Widget_TextBox;
}

// ------------------------------------------------------------------------------------

Asura_GUIMenu_Root* Asura_GUIMenu_CreateListBoxWidget( void)
{
	return new Asura_GUIMenu_Widget_ListBox;
}


#endif // ASURA_USE_GUI_MENU_SYSTEM
