9#include "sml/math/rectangle.h"
15 Text::Text(
const Sml::Font& font,
const char*
string, Sml::Color color) : m_Text(font, string, color) {}
16 Text::Text(
const char*
string, Sml::Color color) : Text(*DefaultSkins::g_DefaultFont, string, color) {}
18 void Text::render(
const Sml::Rectangle<int32_t>& targetRegion)
20 m_Text.render(targetRegion.pos + m_LayoutBounds.pos);
23 void Text::prerender()
25 if (getStr() !=
nullptr)
31 const Sml::Font& Text::getFont()
const {
return m_Text.getFont(); }
32 Sml::Color Text::getColor()
const {
return m_Text.getColor(); }
33 const char* Text::getStr()
const {
return m_Text.getStr(); }
34 size_t Text::getWidth()
const {
return m_Text.getWidth(); }
35 size_t Text::getHeight()
const {
return m_Text.getHeight(); }
36 size_t Text::getWrapWidth()
const {
return m_Text.getWrapWidth(); }
38 void Text::setFont(
const Sml::Font& font) { m_Text.setFont(font); }
39 void Text::setColor(Sml::Color color) { m_Text.setColor(color); }
40 void Text::setString(
const char* str) { m_Text.setString(str); }
41 void Text::setWrapWidth(
size_t wrapWidth) { m_Text.setWrapWidth(wrapWidth); }
43 int32_t Text::computePrefWidth(int32_t height)
const
45 if (getStr() ==
nullptr) {
return 0; }
47 return m_Text.estimateTextDimensions(getStr()).x;
50 int32_t Text::computePrefHeight(int32_t width)
const
52 if (getStr() ==
nullptr) {
return 0; }
54 return m_Text.estimateTextDimensions(getStr()).y;