63 lines
2.0 KiB
C++
63 lines
2.0 KiB
C++
#ifndef _CTEXTBUTTON_HPP_
|
|
#define _CTEXTBUTTON_HPP_
|
|
|
|
/*** SDL Header Files ***/
|
|
#include <SDL.h>
|
|
|
|
/*** Custom Header Files ***/
|
|
#include "cButton.hpp"
|
|
#include "cLabel.hpp"
|
|
|
|
#include "GUIHelpers/Enums.hpp"
|
|
#include "GUIHelpers/GUIUtility.hpp"
|
|
#include "../VideoEngine/cSprite.hpp"
|
|
#include "../VideoEngine/cImage.hpp"
|
|
#include "../MathEngine/iVector/iVector2.hpp"
|
|
|
|
/*** DLL Header File ***/
|
|
#include "dllExport.h"
|
|
|
|
/*** Custom Header Files ***/
|
|
#include "../UtilityEngine/cString.hpp"
|
|
|
|
using UtilityEngine::cString;
|
|
|
|
namespace GUIEngine {
|
|
class EXPORT_FROM_MYDLL cTextButton : public cButton
|
|
{
|
|
public:
|
|
static const cString sNAME; /*= "button";*/
|
|
|
|
cTextButton( cWindow* parent, const signed int id, const cString& text, const GUIHelpers::eAlign align = GUIHelpers::eAlign::CENTER,
|
|
const GUIHelpers::eLayout layout = GUIHelpers::eLayout::FILL_PARENT, const GUIHelpers::Position& pos = sPOSITION,
|
|
const GUIHelpers::Size& size = sSIZE, const GUIHelpers::Padding& padding = sPADDING, const cString& name = sNAME );
|
|
virtual ~cTextButton();
|
|
|
|
/// Functions
|
|
void Create( cWindow* parent, const signed int id, const cString& text, const GUIHelpers::eAlign align = GUIHelpers::eAlign::CENTER,
|
|
const GUIHelpers::eLayout layout = GUIHelpers::eLayout::FILL_PARENT, const GUIHelpers::Position& pos = sPOSITION,
|
|
const GUIHelpers::Size& size = sSIZE, const GUIHelpers::Padding& padding = sPADDING, const cString& name = sNAME );
|
|
|
|
/// Sets
|
|
void setText( const cString& text );
|
|
void setTextColour( const GUIHelpers::RGBA& colour );
|
|
void setTextSize( const unsigned long int size );
|
|
|
|
/// Gets
|
|
const cString& getText() const;
|
|
const GUIHelpers::RGBA& getTextColour();
|
|
const unsigned long int getTextSize();
|
|
|
|
virtual const GUIHelpers::eType getType() const;
|
|
|
|
private:
|
|
void CreateLabel();
|
|
void GenerateImage();
|
|
void GenerateTexture();
|
|
|
|
private:
|
|
/// Variables
|
|
cLabel m_label;/// = nullptr
|
|
};/// END CLASS DEFINITION cButton
|
|
}/// END NAMESPACE DEFINITION GUIEngine
|
|
#endif/// END IFNDEF _CBUTTON_HPP_
|