[Libreoffice-commits] core.git: Branch 'feature/gsoc14-draw-chained-text-boxes' - include/svx svx/source
matteocam
matteo.campanelli at gmail.com
Fri Jul 10 14:37:22 PDT 2015
include/svx/svdotext.hxx | 1
svx/source/svdraw/svdotextdecomposition.cxx | 62 ++++++++++++++--------------
2 files changed, 33 insertions(+), 30 deletions(-)
New commits:
commit cf9aae1558581a6e3851ab1db039bb16e86699be
Author: matteocam <matteo.campanelli at gmail.com>
Date: Fri Jul 10 17:35:24 2015 -0400
Use a separate method for static chaining
Change-Id: I289b411b5867c5e2b06f75633790f407bc3dbba1
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index 4ab6313..761c4e0 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -626,6 +626,7 @@ public:
drawinglayer::primitive2d::Primitive2DSequence& rTarget,
const drawinglayer::primitive2d::SdrChainedTextPrimitive2D& rSdrChainedTextPrimitive,
const drawinglayer::geometry::ViewInformation2D& aViewInformation) const;
+ void impHandleChainingEventsDuringDecomposition(SdrOutliner &rOutliner) const;
// timing generators
diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
index 241ec8b..b627b77 100644
--- a/svx/source/svdraw/svdotextdecomposition.cxx
+++ b/svx/source/svdraw/svdotextdecomposition.cxx
@@ -1423,6 +1423,37 @@ void SdrTextObj::impGetScrollTextTiming(drawinglayer::animation::AnimationEntryL
}
}
+void SdrTextObj::impHandleChainingEventsDuringDecomposition(SdrOutliner &rOutliner) const
+{
+ GetTextChain()->SetNilChainingEvent(this, true);
+
+ TextChainFlow aTxtChainFlow(const_cast<SdrTextObj*>(this));
+ bool bIsOverflow;
+
+ aTxtChainFlow.CheckForFlowEvents(&rOutliner);
+
+ if (aTxtChainFlow.IsUnderflow() && !IsInEditMode())
+ {
+ // underflow-induced overflow
+ aTxtChainFlow.ExecuteUnderflow(&rOutliner);
+ bIsOverflow = aTxtChainFlow.IsOverflow();
+ } else {
+ // standard overflow (no underlow before)
+ bIsOverflow = aTxtChainFlow.IsOverflow();
+ }
+
+ if (bIsOverflow && !IsInEditMode()) {
+ // Initialize Chaining Outliner
+ SdrOutliner &rChainingOutl = pModel->GetChainingOutliner(this);
+ ImpInitDrawOutliner( rChainingOutl );
+ rChainingOutl.SetUpdateMode(true);
+ // We must pass the chaining outliner otherwise we would mess up decomposition
+ aTxtChainFlow.ExecuteOverflow(&rOutliner, &rChainingOutl);
+ }
+
+ GetTextChain()->SetNilChainingEvent(this, false);
+}
+
void SdrTextObj::impDecomposeChainedTextPrimitive(
drawinglayer::primitive2d::Primitive2DSequence& rTarget,
const drawinglayer::primitive2d::SdrChainedTextPrimitive2D& rSdrChainedTextPrimitive,
@@ -1486,36 +1517,7 @@ void SdrTextObj::impDecomposeChainedTextPrimitive(
/* Begin overflow/underflow handling */
- // any parameter in the constructor?
- // We need the outliner we get the overflow info from as well as
- // the outliner for "drawing" (e.g. a drawing or chaining outliner)
- // maybe the latter ones can be passed at the time of overflow and such
- GetTextChain()->SetNilChainingEvent(this, true);
- TextChainFlow aTxtChainFlow(const_cast<SdrTextObj*>(this));
- bool bIsOverflow;
-
- aTxtChainFlow.CheckForFlowEvents(&rOutliner);
-
- if (aTxtChainFlow.IsUnderflow() && !IsInEditMode())
- {
- // underflow-induced overflow
- aTxtChainFlow.ExecuteUnderflow(&rOutliner);
- bIsOverflow = aTxtChainFlow.IsOverflow();
- } else {
- // standard overflow (no underlow before)
- bIsOverflow = aTxtChainFlow.IsOverflow();
- }
-
- if (bIsOverflow && !IsInEditMode()) {
- // Initialize Chaining Outliner
- SdrOutliner &rChainingOutl = pModel->GetChainingOutliner(this);
- ImpInitDrawOutliner( rChainingOutl );
- rChainingOutl.SetUpdateMode(true);
- // We must pass the chaining outliner otherwise we would mess up decomposition
- aTxtChainFlow.ExecuteOverflow(&rOutliner, &rChainingOutl);
- }
-
- GetTextChain()->SetNilChainingEvent(this, false);
+ impHandleChainingEventsDuringDecomposition(rOutliner);
/* End overflow/underflow handling */
More information about the Libreoffice-commits
mailing list