Не отображается текст в C++ SFML

Есть класс Program, передающий в объекты типа Button данные о позиции, цвете, шрифте и размере полю Button::text типа sf::Text через конструктор. В классе Button есть функция Button::render(sf::RenderTarget* target = nullptr) {target->draw(text)}, вызывающаяся на каждом обновлении экрана. Тем не менее, текст не выводится, хотя шрифт загружен, цвет установлен непрозрачный, а размер шрифта всегда равен минимум 15-ти. Привожу упрощенный код: Program.cpp:

#include "Program.h"

Program::Program() {
    window = new sf::RenderWindow(sf::VideoMode(800, 600), "Hello, world!");

    font.loadFromFile("arial.ttf");

    button = Button(font, sf::String(L"Hello, world!"), 15, sf::Color(0, 0, 0, 255));
}

Program::render() {
    window->clear();

    button.render(window);

    window->display();
}

Button.cpp:

Button::Button(sf::Font& font, sf::String text, int characterSize, sf::Color textColor) {
    text = sf::Text(text, font, characterSize);
    text.setFillColor(textColor);
}

Button::render(sf::RenderTarget* target) {
    target->draw(text);
}

Я пробовал передавать другие цвета, размеры, шрифты, позиции, но ничего не решило проблему. Я уверен, что шрифт поддерживает все символы, которые передаются в конструкторе, так как с другой структурой все работало. Я пробовал ставить константные значения на цвет, размер, шрифт, позицию в конструкторе, это также не меняло ничего.

Если нужно - скину репозиторий.

В чем может быть проблема или как ее диагностировать?


Ответы (0 шт):