summaryrefslogtreecommitdiffstats
path: root/src/object/sp-flowtext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/object/sp-flowtext.cpp')
-rw-r--r--src/object/sp-flowtext.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/object/sp-flowtext.cpp b/src/object/sp-flowtext.cpp
index 05e06cff5..a488e208b 100644
--- a/src/object/sp-flowtext.cpp
+++ b/src/object/sp-flowtext.cpp
@@ -688,6 +688,26 @@ SPItem *create_flowtext_with_internal_frame (SPDesktop *desktop, Geom::Point p0,
return ft_item;
}
+void SPFlowtext::fix_overflow_flowregion(bool inverse)
+{
+ SPObject *object = dynamic_cast<SPObject *>(this);
+ SPFlowregion *flowregion = nullptr;
+ for (auto child : object->childList(false)) {
+ SPFlowregion *flowregion = dynamic_cast<SPFlowregion *>(child);
+ if (flowregion) {
+ object = dynamic_cast<SPObject *>(flowregion);
+ for (auto childshapes : object->childList(false)) {
+ Geom::Scale scale = Geom::Scale(1000); //200? maybe find better way to fix overglow issue removing new lines...
+ if (inverse) {
+ scale = scale.inverse();
+ }
+ SP_SHAPE(childshapes)->doWriteTransform(scale, nullptr, true);
+ }
+ break;
+ }
+ }
+}
+
Geom::Affine SPFlowtext::set_transform (Geom::Affine const &xform)
{
if ((this->_optimizeScaledText && !xform.withoutTranslation().isNonzeroUniformScale())