diff --git a/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp b/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp index 5be1b72..5115658 100644 --- a/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp +++ b/ArchitectureColoredPainting/src/Editor/LayerStyle.cpp @@ -197,6 +197,25 @@ bool LayerStyleContainer::dropStyle(const QString& styleName) return true; } +float LayerStyleContainer::boundingBoxAffectValue() { + float maxLineWidth = 0; + auto strokeStyle = styles[StrokeElementLayerStyle::displayName()]; + if (strokeStyle != nullptr) { + auto strokeElementLayerStyle = dynamic_cast(strokeStyle.get()); + if (strokeElementLayerStyle != nullptr) { + auto leftStyleStroke = strokeElementLayerStyle->strokePair.first; + auto rightStyleStroke = strokeElementLayerStyle->strokePair.second; + if (leftStyleStroke != nullptr) { + maxLineWidth = std::max(maxLineWidth, leftStyleStroke->halfWidth); + } + if (rightStyleStroke != nullptr) { + maxLineWidth = std::max(maxLineWidth, rightStyleStroke->halfWidth); + } + } + } + return maxLineWidth; +} + inline size_t LayerStyleContainer::getHash() const { return hash; diff --git a/ArchitectureColoredPainting/src/Editor/LayerStyle.h b/ArchitectureColoredPainting/src/Editor/LayerStyle.h index a310b6e..ed328bb 100644 --- a/ArchitectureColoredPainting/src/Editor/LayerStyle.h +++ b/ArchitectureColoredPainting/src/Editor/LayerStyle.h @@ -56,6 +56,7 @@ public: std::unique_ptr makeUnusedStyle(const QString& styleName) const; bool useStyle(const std::shared_ptr& style); bool dropStyle(const QString& styleName); + float boundingBoxAffectValue(); size_t getHash() const; /**