/* Irrlicht Library Wrapper Created by: Nathan Adams Denzel Morris Copyright (C) 2007 This software is licensed under the GNU/GPL. This software may not be used for commerical purposes. */ #ifndef IRRLIBGUI_H #define IRRLIBGUI_H #include #include #include #include "IrrLib.h" #include "IrrData.h" #include "IrrLibBase.h" class IrrLibGUI: public IrrLibBase { private: irr::gui::IGUISkin* skin; irr::gui::IGUIFont* font; irr::gui::IGUIEnvironment* env; //TODO: Create an array storing all messages int nStaticText; //irr::gui::IGUIStaticText* arrStaticText[10]; int nButton; int nButtonid; int nListBox; int nListBoxid; std::vector arrStaticText; std::vector arrButton; std::vector arrListBox; int AddToStaticArray(irr::gui::IGUIStaticText * addme); int addButton(const irr::core::rect< irr::s32 > & rectangle, irr::gui::IGUIElement *parent = 0, irr::s32 id = 0, const wchar_t * text = 0, const wchar_t * tooltiptext = 0); //TODO: Clean this up! IrrObj addListBox(const irr::core::rect< irr::s32 > &rectangle, irr::gui::IGUIElement * parent); public: IrrLibGUI(); ~IrrLibGUI(); void SetEnv(irr::gui::IGUIEnvironment* env); void Clear(); void DrawAll(); //irr::gui::IGUIStaticText* IrrLibGUI::AddStaticText(); //NA eh a default text adder why not? /* This is bad coding, we do not want to return an irrlicht object, we want to return a standard datatype because this class handles the GUI elements, not the user. */ void AddStaticText(); //NA eh a default text adder why not? int AddStaticText(std::string message); int AddStaticText(std::string message, int x1, int y1, int x2, int y2); int AddStaticText(std::string message, int x1, int y1, int x2, int y2, bool border, bool wordwrap); int AddStaticText(std::string message, int x1, int y1, int x2, int y2, bool border, bool wordwrap, int id, bool fillbackground); int AddStaticText(std::string message, const irr::core::rect< irr::s32 > &rectangle); int AddStaticText(std::string message, const irr::core::rect< irr::s32 > &rectangle, bool border, bool wordwrap); int AddStaticText(std::string message, const irr::core::rect< irr::s32 > &rectangle, bool border, bool wordwrap, int id, bool fillbackground); int AddButton(std::string text, int x1, int y1, int x2, int y2, std::string tooltiptext); int AddButton(std::string text, irr::core::rect & rect, std::string tooltiptext); //TODO: Add move functions IrrObj AddListBox(int x1, int y1, int x2, int y2, irr::gui::IGUIElement * parent = 0); IrrObj AddListBox(const irr::core::rect< irr::s32 > &rectangle, irr::gui::IGUIElement * parent = 0); void AddStringToListBox(int nLbox, std::string text); void ChangeStaticText(int nstatictext, std::string message); void ChangeFont(std::string fontfile); std::string getSelectListString(int lstbox); }; #endif