#ifndef _CPANEL_HPP_
#define _CPANEL_HPP_

/** C++ Header Files **/
#include <vector>

/*** SDL Header Files ***/
#include <SDL.h>

/*** Custom Header Files ***/
#include "cLayout.hpp"

/*** DLL Header File ***/
#include "dllExport.h"

namespace GUIEngine {
	class EXPORT_FROM_MYDLL cPanel : public GUIEngine::cLayout
	{
	public:
		static const UtilityEngine::cString sNAME; /*= "panel";*/

	public:
		cPanel( cWindow* parent = nullptr, const signed int id = -1, const GUIHelpers::eOrientation& orientation = sORIENTATION, const GUIHelpers::eAlign& align = sALIGN,
			const GUIHelpers::eLayout& layout = sLAYOUT, const GUIHelpers::Position& pos = sPOSITION, const GUIHelpers::Size& size = sSIZE,
			const GUIHelpers::Padding& padding = sPADDING, const cString& name = sNAME );
		virtual ~cPanel();

		///Functions
		virtual void Create( cWindow* parent = nullptr, const signed int id = -1, const GUIHelpers::eOrientation& orientation = sORIENTATION, const GUIHelpers::eAlign& align = sALIGN,
			const GUIHelpers::eLayout& layout = sLAYOUT, const GUIHelpers::Position& pos = sPOSITION, const GUIHelpers::Size& size = sSIZE,
			const GUIHelpers::Padding& padding = sPADDING, const cString& name = sNAME );

		virtual void Display();

		virtual const GUIHelpers::eType getType() const;

		virtual const GUIHelpers::RGBA getDebugColour() const;

	private:
	};/// END CLASS DEFINITION cPanel
}/// END NAMESPACE DEFINITION GUIEngine
#endif/// END IFNDEF _CPANEL_HPP_