diff --git a/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp b/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp index de83df9..2775fe5 100644 --- a/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp +++ b/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp @@ -45,7 +45,6 @@ PixelPath GroupElement::getPaintObject() const //TODO: apply styles and send back PixelPath SimpleElement::getPaintObject(std::vector>* styles) const { PixelPath result; - //Renderer::ElementStyleStrokeDemo demo(2); std::shared_ptr style; if ((*styles).empty()) { @@ -99,7 +98,7 @@ QJsonObject GraphicElement::toJson() const return result; } -void SimpleElement::paint(QPainter* painter, QTransform transform, vector> styles) +void SimpleElement::paint(QPainter* painter, QTransform transform, const vector> &styles) { painter->save(); painter->setTransform(transform); @@ -109,16 +108,30 @@ void SimpleElement::paint(QPainter* painter, QTransform transform, vectordrawElement(painterPath, demo, 1.0); + std::shared_ptr style; + if (styles.empty()) + { + style = std::make_shared(2); + } + else + { + style = styles[0]; + /*qDebug() << std::dynamic_pointer_cast( + std::dynamic_pointer_cast(style)->materialStyles[0]->materialStroke + )->material.color.name();*/ + /*qDebug() << std::dynamic_pointer_cast( + std::dynamic_pointer_cast(style)->materialStyles[0]->materialStroke + )->materialMap[1.0].color;*/ + } + auto [img, mov] = renderer->drawElement(painterPath, *style, 1.0); painter->drawImage(mov, img); } painter->restore(); } -void GroupElement::paint(QPainter* painter, QTransform transform, vector> styles) +void GroupElement::paint(QPainter* painter, QTransform transform, const vector> &styles) { sourceLayer->paint(painter, transform); } \ No newline at end of file diff --git a/ArchitectureColoredPainting/src/Editor/GraphicElement.h b/ArchitectureColoredPainting/src/Editor/GraphicElement.h index 577f7db..ce54ad7 100644 --- a/ArchitectureColoredPainting/src/Editor/GraphicElement.h +++ b/ArchitectureColoredPainting/src/Editor/GraphicElement.h @@ -28,7 +28,7 @@ public: virtual QJsonObject toJson() const; virtual PixelPath getPaintObject() const = 0; virtual PixelPath getPaintObject(std::vector>*) const = 0; - virtual void paint(QPainter* painter, QTransform transform, std::vector> styles) = 0; + virtual void paint(QPainter* painter, QTransform transform, const std::vector> &styles) = 0; }; class SimpleElement : public GraphicElement @@ -45,7 +45,7 @@ public: ~SimpleElement() = default; PixelPath getPaintObject() const override; PixelPath getPaintObject(std::vector>*) const override; - void paint(QPainter* painter, QTransform transform, std::vector> styles) override; + void paint(QPainter* painter, QTransform transform, const std::vector> &styles) override; }; class GroupElement : public GraphicElement @@ -60,7 +60,7 @@ public: PixelPath getPaintObject() const override; PixelPath getPaintObject(std::vector>*) const override; void setSourceLayer(FolderLayerWrapper* sourceLayer); - void paint(QPainter* painter, QTransform transform, std::vector> styles) override; + void paint(QPainter* painter, QTransform transform, const std::vector> &styles) override; }; //******************************** BitmapPath ********************************//