#ifndef _CBUTTON_HPP_ #define _CBUTTON_HPP_ /*** SDL Header Files ***/ #include /*** Custom Header Files ***/ #include "cWindow.hpp" #include "GUIHelpers/Enums.hpp" #include "GUIHelpers/GUIUtility.hpp" #include "../VideoEngine/cSprite.hpp" #include "../VideoEngine/cImage.hpp" #include "../MathEngine/iVector/iVector2.hpp" #include "cPanel.hpp" /*** DLL Header File ***/ #include "dllExport.h" /*** Custom Header Files ***/ #include "../UtilityEngine/cString.hpp" using UtilityEngine::cString; namespace GUIEngine { class EXPORT_FROM_MYDLL cButton : public cWindow, public VideoEngine::cSprite { public: static const cString sNAME; /*= "button";*/ cButton(); cButton( cWindow* parent, const signed int id, 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, VideoEngine::cImage** image = nullptr ); virtual ~cButton(); /// Functions void Create( cWindow* parent, const signed int id, 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, VideoEngine::cImage** image = nullptr ); virtual void Press(); /// Sets /// Gets virtual const GUIHelpers::eType getType() const; private: void CreateLabel(); void GenerateImage(); void GenerateTexture(); private: /// Variables VideoEngine::cImage* mp_texture;/// = nullptr VideoEngine::cImage* mp_texturePress;/// = nullptr //Pointer to the image that will be displayed on the button. VideoEngine::cImage** mpp_image;/// = nullptr };/// END CLASS DEFINITION cButton }/// END NAMESPACE DEFINITION GUIEngine #endif/// END IFNDEF _CBUTTON_HPP_