63 lines
1.9 KiB
C++
63 lines
1.9 KiB
C++
#ifndef _CBUTTON_HPP_
|
|
#define _CBUTTON_HPP_
|
|
|
|
/*** SDL Header Files ***/
|
|
#include <SDL.h>
|
|
|
|
/*** 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:
|
|
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_
|