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,9 +1,8 @@
#pragma once
#include "AbstractVisualNode.h"
#include "Color.h"
#include "MaterialNode.h"
class GeometryNode : public AbstractVisualNode
class GeometryNode : public MaterialNode
{
public:
enum class Type
@ -18,19 +17,16 @@ public:
GeometryNode(const DiscretePoint& location);
virtual ~GeometryNode() = default;
const Color& getFillColor() const;
const Color& getStrokeColor() const;
unsigned getStrokeThickness() const;
virtual Type getType() = 0;
void setFillColor(const Color& color);
void setStrokeColor(const Color& color);
unsigned getStrokeThickness() const;
void setStrokeThickness(unsigned thickness);
private:
Color mFillColor;
Color mStrokeColor;
protected:
unsigned mStrokeThickness{0};
Type mType;
bool mGeometryIsDirty{true};
};
using GeometryNodePtr = std::unique_ptr<GeometryNode>;