diff --git a/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp b/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp index d8bd001..bd992d0 100644 --- a/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp +++ b/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp @@ -45,6 +45,15 @@ QWidget* StrokeElementLayerStyle::getListDisplayWidget() const return w; } +StrokeElementLayerStyle::StrokeElementLayerStyle(StrokeElementLayerStyle& other) +{ + materialStyles = std::vector>(other.materialStyles.size()); + for (size_t i = 0; i < other.materialStyles.size(); i++) + { + materialStyles[i] = std::make_shared(*other.materialStyles[i]); + } +} + std::vector FillElementLayerStyle::toBaseStyles() const { return std::vector(); @@ -72,4 +81,13 @@ QWidget* FillElementLayerStyle::getListDisplayWidget() const layout->setMargin(0); layout->addWidget(name); return w; -} \ No newline at end of file +} + +FillElementLayerStyle::FillElementLayerStyle(FillElementLayerStyle& other) +{ + materialStyles = std::vector>(other.materialStyles.size()); + for (size_t i = 0; i < other.materialStyles.size(); i++) + { + materialStyles[i] = std::make_shared(*other.materialStyles[i]); + } +} diff --git a/ArchitectureColoredPainting/src/Editor/LayerStyle.h b/ArchitectureColoredPainting/src/Editor/LayerStyle.h index 1d3730b..ca2b66e 100644 --- a/ArchitectureColoredPainting/src/Editor/LayerStyle.h +++ b/ArchitectureColoredPainting/src/Editor/LayerStyle.h @@ -34,8 +34,9 @@ public: QWidget* getInputWidget() const override; QWidget* getListDisplayWidget() const override; StrokeElementLayerStyle() = default; + StrokeElementLayerStyle(StrokeElementLayerStyle& other); ~StrokeElementLayerStyle() = default; - std::vector> materialStyles; + std::vector> materialStyles; }; class FillElementLayerStyle : public Renderer::ElementStyle, public LayerStyle @@ -46,6 +47,7 @@ public: QWidget* getInputWidget() const override; QWidget* getListDisplayWidget() const override; FillElementLayerStyle() = default; + FillElementLayerStyle(FillElementLayerStyle& other); ~FillElementLayerStyle() = default; - std::vector> materialStyles; + std::vector> materialStyles; }; \ No newline at end of file