Convert visual layers to scene nodes.

This commit is contained in:
James Grogan 2022-11-16 15:06:08 +00:00
parent 798cb365d7
commit 3e53bd9e00
64 changed files with 863 additions and 551 deletions

View file

@ -1,16 +1,14 @@
#pragma once
#include "DiscretePoint.h"
#include "MaterialNode.h"
#include "AbstractVisualNode.h"
#include "Color.h"
#include "FontItem.h"
#include "TextData.h"
#include <memory>
#include <string>
class TextNode : public AbstractVisualNode
class TextNode : public MaterialNode
{
public:
TextNode(const std::string& content, const DiscretePoint& loc);
@ -19,25 +17,15 @@ public:
static std::unique_ptr<TextNode> Create(const std::string& content, const DiscretePoint& loc);
const Color& getFillColor() const;
const Color& getStrokeColor() const;
std::string getContent() const;
std::string getFontLabel() const;
const TextData& getTextData() const;
void setContent(const std::string& content);
void setFillColor(const Color& color);
void setStrokeColor(const Color& color);
void update(FontsManager* fontsManager) override;
private:
void updateMesh() override;
void updateTexture(FontsManager* fontsManager) override;
TextData mTextData;
std::string mContent;
bool mContentIsDirty{true};
};
using TextNodetr = std::unique_ptr<TextNode>;