#pragma once #include "DiscretePoint.h" #include #include class Color; class TextElement { std::string mContent; DiscretePoint mLocation; std::string mFontLabel; std::unique_ptr mFillColor; std::unique_ptr mStrokeColor; public: TextElement(const std::string& content, const DiscretePoint& loc); ~TextElement(); static std::unique_ptr Create(const std::string& content, const DiscretePoint& loc); Color* GetFillColor() const; Color* GetStrokeColor() const; DiscretePoint GetLocation() const; std::string GetContent() const; std::string GetFontLabel() const; void SetContent(const std::string& content); void SetFillColor(std::unique_ptr color); void SetStrokeColor(std::unique_ptr color); }; using TextElementUPtr = std::unique_ptr;