include/svx/svdotext.hxx | 6 ++- svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx | 3 + svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx | 9 ++++- svx/source/svdraw/svdotext.cxx | 35 +------------------- svx/source/svdraw/svdotextdecomposition.cxx | 37 ++++++++++++++++++++++ 5 files changed, 55 insertions(+), 35 deletions(-)
New commits: commit be897ed79d331276e8d686ac35956cdd57e24615 Author: matteocam <[email protected]> Date: Thu Jul 24 18:37:37 2014 +0300 More methods class SdrChainedTextPrimitive2D Change-Id: I0655d7b9a581dc9f2e5e1a5723ab2559be5447cc diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx index 93a48cb..01c14ac 100644 --- a/include/svx/svdotext.hxx +++ b/include/svx/svdotext.hxx @@ -54,6 +54,7 @@ namespace drawinglayer { namespace primitive2d { class SdrBlockTextPrimitive2D; class SdrAutoFitTextPrimitive2D; class SdrStretchTextPrimitive2D; + class SdrChainedTextPrimitive2D; }} namespace drawinglayer { namespace animation { @@ -269,7 +270,6 @@ private: Rectangle& rPaintRect, Fraction& aFitXKorreg ) const; void ImpAutoFitText( SdrOutliner& rOutliner ) const; - void ImpChainText() const; static void ImpAutoFitText( SdrOutliner& rOutliner, const Size& rShapeSize, bool bIsVerticalWriting ); SVX_DLLPRIVATE SdrObject* ImpConvertContainedTextToSdrPathObjs(bool bToPoly) const; SVX_DLLPRIVATE void ImpLinkAnmeldung(); @@ -586,6 +586,10 @@ public: drawinglayer::primitive2d::Primitive2DSequence& rTarget, const drawinglayer::primitive2d::SdrStretchTextPrimitive2D& rSdrStretchTextPrimitive, const drawinglayer::geometry::ViewInformation2D& aViewInformation) const; + void impDecomposeChainedTextPrimitive( + drawinglayer::primitive2d::Primitive2DSequence& rTarget, + const drawinglayer::primitive2d::SdrChainedTextPrimitive2D& rSdrChainedTextPrimitive, + const drawinglayer::geometry::ViewInformation2D& aViewInformation) const; void impCopyTextInTextObj(SdrTextObj *pNextTextObj) const; void embedText() const; diff --git a/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx b/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx index 44b82ae..aaefeb6 100644 --- a/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx +++ b/svx/inc/sdr/primitive2d/sdrtextprimitive2d.hxx @@ -353,6 +353,9 @@ namespace drawinglayer // compare operator //virtual bool operator==(const BasePrimitive2D& rPrimitive) const SAL_OVERRIDE; + // transformed clone operator + virtual SdrTextPrimitive2D* createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const SAL_OVERRIDE; + // provide unique ID DeclPrimitive2DIDBlock() }; diff --git a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx index 8ba2909..7e9334c 100644 --- a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx +++ b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx @@ -494,11 +494,18 @@ namespace drawinglayer Primitive2DSequence SdrChainedTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const { Primitive2DSequence aRetval; - getSdrText()->GetObject().impDecomposeChainedPrimitive(aRetval, *this, aViewInformation); + getSdrText()->GetObject().impDecomposeChainedTextPrimitive(aRetval, *this, aViewInformation); return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval); } + SdrTextPrimitive2D* SdrChainedTextPrimitive2D::createTransformedClone(const basegfx::B2DHomMatrix& rTransform) const + { + //FIXME(matteocam) + assert(0); + return NULL; + } + // provide unique ID ImplPrimitive2DIDBlock(SdrChainedTextPrimitive2D, PRIMITIVE2D_ID_SDRCHAINEDTEXTPRIMITIVE2D) } // end of namespace primitive2d diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx index f249bbf..31dddbf 100644 --- a/svx/source/svdraw/svdotext.cxx +++ b/svx/source/svdraw/svdotext.cxx @@ -1927,44 +1927,13 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus ) } else if (/* TODO: IsChained() && */ pEditStatus->IsPageOverflow()) { - ImpChainText(); + // XXX: Do nothing for now, later here we'll set the need for chaining + //impDecomposeChainedTextPrimitive(); } } } -void SdrTextObj::ImpChainText() const -{ - /* BEGIN Experiments */ - // FIXME(matteocam) - - // we use (text) object 0 and 1 for these experiments: - // copying text from one to the other. - - SdrTextObj *pNextTextObj; - if ( pPage && pPage->GetObjCount() > 1) { - pNextTextObj = dynamic_cast< SdrTextObj * >( - pPage->GetObj(1) ); - if ( pNextTextObj == NULL) - return; - } else { - fprintf(stderr, "Make New Object please\n"); - return; - } - - // for debugging purposes: - // carry out experiments only when setting b=false from gdb - //bool b = true; - //if (!b) { - impCopyTextInTextObj(pNextTextObj); // just do it - // return; - //} - - /* END Experiments */ -} - - - /** returns the currently active text. */ SdrText* SdrTextObj::getActiveText() const { diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx index 5be2260..fb21d08 100644 --- a/svx/source/svdraw/svdotextdecomposition.cxx +++ b/svx/source/svdraw/svdotextdecomposition.cxx @@ -1503,4 +1503,41 @@ void SdrTextObj::impGetScrollTextTiming(drawinglayer::animation::AnimationEntryL } } +void SdrTextObj::impDecomposeChainedTextPrimitive( + drawinglayer::primitive2d::Primitive2DSequence& rTarget, + const drawinglayer::primitive2d::SdrChainedTextPrimitive2D& rSdrChainedTextPrimitive, + const drawinglayer::geometry::ViewInformation2D& aViewInformation) const +{ + /* BEGIN Experiments */ + // FIXME(matteocam) + + // we use (text) object 0 and 1 for these experiments: + // copying text from one to the other. + + SdrTextObj *pNextTextObj; + if ( pPage && pPage->GetObjCount() > 1) { + pNextTextObj = dynamic_cast< SdrTextObj * >( + pPage->GetObj(1) ); + if ( pNextTextObj == NULL) + return; + } else { + fprintf(stderr, "Make New Object please\n"); + return; + } + + // for debugging purposes: + // carry out experiments only when setting b=false from gdb + //bool b = true; + //if (!b) { + impCopyTextInTextObj(pNextTextObj); // just do it + // return; + //} + + drawinglayer::primitive2d::Primitive2DSequence aRetval(0); + rTarget = aRetval; + /* END Experiments */ +} + + + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
