Add project files.
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
#include "cTextType.hpp"
|
||||
|
||||
/*** Custom Header Files ***/
|
||||
#include "../UtilityEngine/cUtility.hpp"
|
||||
|
||||
using TextTypeEngine::cTextType;
|
||||
using UtilityEngine::cUtility;
|
||||
|
||||
/*static*/ cTextType* cTextType::sp_inst = nullptr;
|
||||
|
||||
//private
|
||||
cTextType::cTextType()
|
||||
{
|
||||
}
|
||||
|
||||
cTextType::~cTextType()
|
||||
{
|
||||
CleanUp();
|
||||
TTF_Quit();
|
||||
}
|
||||
|
||||
//public:
|
||||
///Functions
|
||||
/*static*/ cTextType& cTextType::Inst()
|
||||
{
|
||||
if (sp_inst == nullptr)
|
||||
sp_inst = new cTextType();
|
||||
return *sp_inst;
|
||||
}
|
||||
|
||||
/*static*/ void cTextType::Delete()
|
||||
{
|
||||
delete sp_inst;
|
||||
sp_inst = nullptr;
|
||||
}
|
||||
|
||||
const bool cTextType::Initialize() const
|
||||
{
|
||||
bool rtn = IsInit();
|
||||
|
||||
if (rtn == false) {
|
||||
if (TTF_Init() == 0) {
|
||||
cUtility::Inst().Message("True Type Font Initialized.");
|
||||
rtn = true;
|
||||
} else
|
||||
cUtility::Inst().Message("Could not initialize True Type Font. TTF_Init():", __AT__, cUtility::eTypeSDL::TTF);
|
||||
}
|
||||
return rtn;
|
||||
}
|
||||
|
||||
/* Creates the cTextType's*/
|
||||
const bool cTextType::Setup()
|
||||
{
|
||||
/*bool rtn = false;
|
||||
|
||||
CleanUp();
|
||||
|
||||
rtn = Init();
|
||||
|
||||
return rtn;*/
|
||||
return true;
|
||||
}
|
||||
|
||||
void cTextType::CleanUp()
|
||||
{
|
||||
}
|
||||
|
||||
void cTextType::PrintVersion() const
|
||||
{
|
||||
cUtility::Inst().PrintVersion(cUtility::eTypeSDL::TTF);
|
||||
}
|
||||
|
||||
///Sets
|
||||
///Gets
|
||||
const bool cTextType::IsInit() const
|
||||
{
|
||||
bool rtn = false;
|
||||
|
||||
if (TTF_WasInit() != 0) {
|
||||
cUtility::Inst().Message("True Type Font is initialized.");
|
||||
rtn = true;
|
||||
} else
|
||||
cUtility::Inst().Message("True Type Font is not initialized.");
|
||||
|
||||
return rtn;
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
#include "cButton.hpp"
|
||||
|
||||
/*** Custom Header Files ***/
|
||||
#include "GUIHelpers/Enums.hpp"
|
||||
#include "../VideoEngine/cRenderer.hpp"
|
||||
#include "../FXEngine/cGFX.hpp"
|
||||
|
||||
using GUIEngine::cButton;
|
||||
|
||||
using MathEngine::iVector2;
|
||||
using MathEngine::iVector4;
|
||||
|
||||
/*static*/ const cString cButton::sNAME = "button";
|
||||
|
||||
cButton::cButton()
|
||||
{}
|
||||
|
||||
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*/ )
|
||||
: cWindow(parent, id, sORIENTATION, align, layout, pos, size, padding, name)
|
||||
{
|
||||
//Create(parent, id, align, layout, pos, size, padding, name, image);
|
||||
mp_texture = nullptr;
|
||||
mp_texturePress = nullptr;
|
||||
|
||||
mpp_image = image;
|
||||
|
||||
GenerateImage();
|
||||
}
|
||||
|
||||
/*virtual*/ cButton::~cButton()
|
||||
{
|
||||
delete mp_texture;
|
||||
mp_texture = nullptr;
|
||||
|
||||
delete mp_texturePress;
|
||||
mp_texturePress = nullptr;
|
||||
|
||||
}
|
||||
|
||||
///Functions
|
||||
void cButton::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*/ )
|
||||
{
|
||||
cWindow::Create(parent, id, sORIENTATION, align, layout, pos, size, padding, name);
|
||||
mp_texture = nullptr;
|
||||
mp_texturePress = nullptr;
|
||||
|
||||
mpp_image = image;
|
||||
|
||||
GenerateImage();
|
||||
}
|
||||
|
||||
/*virtual*/ void cButton::Press()
|
||||
{
|
||||
mp_texture->SaveImage("hello.bmp");
|
||||
}
|
||||
|
||||
// void cButton::setLabel( const cString& label )
|
||||
// {
|
||||
// if (label.size() > 0) {
|
||||
// if (mp_label == nullptr)
|
||||
// mp_label = new TextTypeEngine::cText(label);
|
||||
// else
|
||||
// mp_label->setText(label);
|
||||
// }
|
||||
// }
|
||||
|
||||
///Gets
|
||||
// const cString cButton::getLabel() const
|
||||
// {
|
||||
// cString rtn = "";
|
||||
// if (mp_label != nullptr)
|
||||
// rtn = mp_label->getText();
|
||||
// return rtn;
|
||||
// }
|
||||
|
||||
/*virtual*/ const GUIHelpers::eType cButton::getType() const
|
||||
{
|
||||
return GUIHelpers::eType::CBUTTON;
|
||||
}
|
||||
|
||||
|
||||
//private
|
||||
void cButton::GenerateImage()
|
||||
{
|
||||
GenerateTexture();
|
||||
//GenerateTexture( mp_texturePress );
|
||||
|
||||
this->setImage((VideoEngine::cImage**)(&mp_texture));
|
||||
|
||||
this->setImageArea(mp_texture->getWH());
|
||||
}
|
||||
|
||||
void cButton::GenerateTexture()
|
||||
{
|
||||
// SDL_Rect t = { 0, 0, 0, 0 };
|
||||
// if (mp_label != nullptr)
|
||||
// t = mp_label->getWH();
|
||||
// SDL_Rect centerText = { 0, 0, 0, 0 };
|
||||
// SDL_Rect centerButton = { 0, 0, 0, 0 };
|
||||
// SDL_Rect dim = this->getImageArea();
|
||||
//
|
||||
// GUIHelpers::Padding TXTPADDING = PADDING;
|
||||
// ///Find the min padding around the text.
|
||||
// if (dim.w < (t.w + TXTPADDING.x + TXTPADDING.w) )
|
||||
// dim.w += (t.w + TXTPADDING.x + TXTPADDING.w);
|
||||
//
|
||||
// if (dim.h < (t.h + TXTPADDING.y + TXTPADDING.z) )
|
||||
// dim.h += (t.h + TXTPADDING.y + TXTPADDING.z);
|
||||
//
|
||||
// ///Find the center of the button
|
||||
// centerButton.x = dim.w / 2;
|
||||
// centerButton.y = dim.h / 2;
|
||||
//
|
||||
// ///Find the center of the text
|
||||
// centerText.x = t.w / 2;
|
||||
// centerText.y = t.h / 2;
|
||||
//
|
||||
// if (centerText.x < centerButton.x)
|
||||
// t.x = centerButton.x - centerText.x;
|
||||
//
|
||||
// if (centerText.y < centerButton.y)
|
||||
// t.y = centerButton.y - centerText.y;
|
||||
//
|
||||
// SDL_Texture* temptext = VideoEngine::cRenderer::Inst().NewTexture(dim.w, dim.h, SDL_TEXTUREACCESS_TARGET );
|
||||
//
|
||||
// GUIHelpers::RBGA colour = { 100, 100, 100, 255 };
|
||||
//
|
||||
// FXEngine::cGFX::Inst().RoundedRectangle(dim, 4, colour, temptext);
|
||||
//
|
||||
//
|
||||
// if (mp_label != nullptr)
|
||||
// VideoEngine::cRenderer::Inst().RenderToTexture(mp_label->getImage(), nullptr, temptext, &t);
|
||||
|
||||
|
||||
//cRenderer::Inst().Render(temptext, nullptr, nullptr);
|
||||
|
||||
//cRenderer::Inst().RenderToTexture(temptext, nullptr, text->getImage(), nullptr);
|
||||
|
||||
/*SDL_Surface* tempsurface = SDL_CreateRGBSurface(cVideo::Inst().getVideoSettings(), dimensions.w, dimensions.h, cVideo::Inst().getColour(),
|
||||
0, 0, 0, 0);
|
||||
|
||||
SDL_FillRect(tempsurface, nullptr, SDL_MapRGB(tempsurface->format, 0, 255, 0));
|
||||
|
||||
/*if (roundedBoxRGBA(tempsurface, dimensions.x, dimensions.y, dimensions.w, dimensions.h, 10, 255, 255, 0, 255) != 0)
|
||||
cerr << "Unable to generate GUI Texture." << endl << SDL_GetError() << endl;*/
|
||||
|
||||
|
||||
/*if (text != nullptr) {
|
||||
SDL_Rect srcrect, dstrect = dimensions;
|
||||
cVideo::Inst().Render(text->getImage(), &srcrect, temptext, &dstrect);
|
||||
}
|
||||
|
||||
this->setImage(temptext);
|
||||
this->setTransparent();*/
|
||||
|
||||
// delete mp_texture;
|
||||
// mp_texture = nullptr;
|
||||
//
|
||||
// mp_texture = new VideoEngine::cImage(temptext);
|
||||
//
|
||||
// GUIHelpers::Size size = { 0, 0 };
|
||||
// mp_texture->getWH((unsigned long&)size.x, (unsigned long&)size.y);
|
||||
// cWindow::setSize(size);
|
||||
// image->setImage(temptext);
|
||||
//image->setImage(temptext);
|
||||
}
|
||||
Reference in New Issue
Block a user