module;
#include <print>
#include <string>
#include <string_view>

export module Window;

// Klassendefinition
export class Window
{
    short xPos, yPos;       // Position
    std::string title;      // Titel
  public:
    // 1. Memberfunktion zum Setzen der Window-Daten
    void SetData(short x, short y, std::string_view _title);
    // 2. Memberfunktion zum Kopieren eines Windows
    void SetData(const Window& source);
    // Ausgabe der Window Daten
    void Draw() const;
};
// Definition der Memberfunktionen
// 1. Memberfunktion SetData() der Klasse Window
void Window::SetData(short x, short y, std::string_view _title)
{
    xPos = x; yPos = y; title = _title;
}
// 2. Memberfunktion SetData() der Klasse Window
void Window::SetData(const Window& source)
{
    xPos = source.xPos; yPos = source.yPos;
    title = source.title;
}
// Ausgabe der Rechteck Daten
void Window::Draw() const
{
    std::println("\tPosition: ({},{}), Titel: {}",
                 xPos, yPos, title);
}
