#ifndef __GUI__ELEMENT__
#define __GUI__ELEMENT__
#include <ft2build.h>
#include <freetype/freetype.h>
#include <freetype/ftglyph.h>
#include <freetype/ftoutln.h>
#include <freetype/fttrigon.h>
#include "core/types.hpp"
class GuiElement {
protected:
GuiElement *parent;
GUI_ELEMENT_TYPE type;
vector3df position;
vector3df size;
int id;
public:
GuiElement();
~GuiElement();
virtual void Render();
virtual GUI_ELEMENT_TYPE GetElementType();
virtual void SetElementType(GUI_ELEMENT_TYPE type);
virtual void SetParent(GuiElement* parent);
virtual GuiElement* GetParent();
virtual void SetPosition(vector3df position);
virtual vector3df GetPosition();
virtual void SetSize(vector3df size);
virtual vector3df GetSize();
virtual void SetId(int id);
virtual int GetId();
};
#endif