SFML przesyłanie wskażnika do okna rysowanie tekstu

0

Posiadam 2 Klasy, 1 Odpowiada za rysowanie tabeli złożonej z pol, 2 Klasa definiuje pojedyncze Pole.
W konstruktorach przesyłam wskaźnik do okna w którym chce rysować.

Problem dotyczy klasy Field, w funkcji draw(). Gdy chce wyświetlić tekst na ekranie program po skompilowaniu wyrzuca mi okno i się zawiesza.
W tej funkcji jest też inna operacja odnośnie rysowania Prostokąta o podanych parametrach, przy nim nie mam żadnych problemów prostokąt zostaje wyświetlony na ekranie.
Z jakiej przyczyny program sie zawiesza jeżeli chce narysować tekst ?
Dodam, że czcionka została poprawnie załadowana.

 #ifndef GRAPHICKARNOUGHTABLE_H
#define GRAPHICKARNOUGHTABLE_H


#include <sstream>  // konwersja na const string
#include <iostream>
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <vector>

using namespace std;
using namespace sf;

class Field
{
    RectangleShape rsField;
    Text           tField;
    Font font;
    RenderWindow *pointWin; // wskaznik do okna

public:

    Field() {}
    Field(RenderWindow *pointWin, const string label, Color color, int x, int y, int rowSize, int colSize) : pointWin(pointWin)
    {

        rsField.setFillColor(color);
        rsField.setPosition(x, y);
        rsField.setSize(Vector2f(rowSize,colSize));
        rsField.setOutlineThickness(3);
        rsField.setOutlineColor(Color::Black);

        if(!font.loadFromFile("fonts/arial.ttf"))
            cout << "NIE WCZYTANO CZCIONKI!";

        tField.setString("aa");
        tField.setCharacterSize(10);
        tField.setFont(font);
        tField.setColor(Color::Red);
        tField.setPosition(x+rowSize/2, y+colSize/2);
    }

    void draw()
    {
        //  pointWin->draw(rsField); // rysuj prostokat
        pointWin->draw(tField);  // rysuj tekst
    }
};

//=================================================================================================================================================
class GraphicKarnoughTable
{
// Zmienne
    int row, column;         //  liczba wierszy i kolumny
    int FRow, FColumn;       //  liczba wiersza i kolumny pol wraz z nazwami
    int colSize, rowSize;  // wielkosc jednego okienka
    int width, height;        //  Position of Table

    // wskaznik do okna
    RenderWindow *pointWin;

    // napisy przerzutnikow
    string horizontalLabel;
    const static int fields = 5;
    Field ffName;
    Color lightYellow;


public:
    GraphicKarnoughTable(int row, int column, int colSize, int rowSize, RenderWindow *pointWin, vector < vector<char> > flipFlopTable, string horizontalLabel, string verticalLabel, int width, int height):
        lightYellow(246,227,191), // kolory
        pointWin(pointWin), row(row),column(column),colSize(colSize), rowSize(rowSize),FRow(row+1),FColumn(column+1),horizontalLabel(horizontalLabel),width(width),height(height)
    {
        ffName = Field(pointWin, "D", lightYellow, width, height, 6*rowSize, colSize);
    }


    void DrawTable()
    {
        ffName.draw();
    }
};

#endif // GRAPHICKARNOUGHTABLE_H
 

Pozdrawiam

1

debugger do reki.
i krok po kroku az dojdziesz do bledu. Bedziesz wiedziec co maja poszczegolne zmienne i zapewne sam znajdziesz odpowiedz ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1