Text.hpp
Namespaces
Name
Classes
Name
struct
struct
Source code
/*
** EPITECH PROJECT, by hourcadettej on 10/29/22.
** rtype
** File description:
** rtype
*/
#pragma once
#include <string>
#include <utility>
namespace ecs::component
{
struct textColor {
short r;
short g;
short b;
short a;
};
struct Text {
Text(size_t marginRight = 0, const std::string &key = "nasa") : _fontKey(key), _marginRight(marginRight), _textColor({255, 255, 255, 255})
{
_content.emplace_back("");
_content.emplace_back("");
_content.emplace_back("");
_content.emplace_back("");
};
Text(const std::string& s1 = "", const std::string& s2 = "", const std::string& s3 = "", const std::string& s4 = "", const std::string &key = "nasa") : _fontKey(key), _marginRight(0), _textColor({255, 255, 255, 255})
{
_content.emplace_back(s1);
_content.emplace_back(s2);
_content.emplace_back(s3);
_content.emplace_back(s4);
};
std::string getContent(size_t pos) const
{
if (pos > _content.size())
return "";
return _content[pos];
};
void setContent(size_t pos, const std::string &newContent)
{
if (pos <= _content.size())
_content[pos] = newContent;
}
inline void addContent(std::string &content) {_content.push_back(content);};
inline void clearContent() {_content.clear();};
inline size_t getContentSize() const {return _content.size();};
void setTextColor(short r, short g, short b, short a)
{
_textColor.r = r;
_textColor.g = g;
_textColor.b = b;
_textColor.a = a;
};
inline struct textColor getTextColor() const {return _textColor;};
inline void setFontKey(const std::string& fontKey){_fontKey = fontKey;};
inline const sf::Font &getFont() const { return asset::AssetLoader::GetFont(_fontKey);};
inline void setMarginRight(size_t marginRight) {_marginRight = marginRight;};
inline size_t getMarginRight() const {return _marginRight;};
private:
std::vector<std::string> _content;
struct textColor _textColor;
std::string _fontKey;
size_t _marginRight;
};
} // namespace ecs::component
Updated on 2022-11-13 at 17:21:37 +0100
Last updated