sw/source/core/access/accportions.cxx | 4 ++-- sw/source/core/access/accportions.hxx | 4 ++-- sw/source/core/inc/SwPortionHandler.hxx | 7 +++++-- sw/source/core/text/porlin.cxx | 2 +- sw/source/core/text/portxt.cxx | 2 +- sw/source/core/text/xmldump.cxx | 15 +++++++++++++-- 6 files changed, 24 insertions(+), 10 deletions(-)
New commits: commit cecff561687865359a695f1cf6ecb99300ce121b Author: Miklos Vajna <vmik...@suse.cz> Date: Thu Aug 16 14:13:20 2012 +0200 sw layout dump: include the height and width of SwTxtPortion Change-Id: Ia2bdff098d1bbd466f857e19315a22c835810202 diff --git a/sw/source/core/access/accportions.cxx b/sw/source/core/access/accportions.cxx index d802a2b..3fd41ec 100644 --- a/sw/source/core/access/accportions.cxx +++ b/sw/source/core/access/accportions.cxx @@ -112,7 +112,7 @@ SwAccessiblePortionData::~SwAccessiblePortionData() delete pSentences; } -void SwAccessiblePortionData::Text(sal_uInt16 nLength, sal_uInt16 nType) +void SwAccessiblePortionData::Text(sal_uInt16 nLength, sal_uInt16 nType, sal_Int32 /*nHeight*/, sal_Int32 /*nWidth*/) { OSL_ENSURE( (nModelPosition + nLength) <= pTxtNode->GetTxt().Len(), "portion exceeds model string!" ); diff --git a/sw/source/core/access/accportions.hxx b/sw/source/core/access/accportions.hxx index ef9093b..d193125 100644 --- a/sw/source/core/access/accportions.hxx +++ b/sw/source/core/access/accportions.hxx @@ -94,7 +94,7 @@ public: virtual ~SwAccessiblePortionData(); // SwPortionHandler methods - virtual void Text(sal_uInt16 nLength, sal_uInt16 nType); + virtual void Text(sal_uInt16 nLength, sal_uInt16 nType, sal_Int32 nHeight = 0, sal_Int32 nWidth = 0); virtual void Special(sal_uInt16 nLength, const String& rText, sal_uInt16 nType, sal_Int32 nHeight = 0, sal_Int32 nWidth = 0); virtual void LineBreak(); virtual void Skip(sal_uInt16 nLength); diff --git a/sw/source/core/inc/SwPortionHandler.hxx b/sw/source/core/inc/SwPortionHandler.hxx index d3a8779..fa71c4a 100644 --- a/sw/source/core/inc/SwPortionHandler.hxx +++ b/sw/source/core/inc/SwPortionHandler.hxx @@ -55,7 +55,9 @@ public: */ virtual void Text( sal_uInt16 nLength, /// length of this portion in the model string - sal_uInt16 nType /// type of this portion + sal_uInt16 nType, /// type of this portion + sal_Int32 nHeight = 0, /// height of this portion + sal_Int32 nWidth = 0 /// width of this portion ) = 0; /** special portion. This method is called for every non-text diff --git a/sw/source/core/text/portxt.cxx b/sw/source/core/text/portxt.cxx index d51ece8..a6391f5 100644 --- a/sw/source/core/text/portxt.cxx +++ b/sw/source/core/text/portxt.cxx @@ -697,7 +697,7 @@ long SwTxtPortion::CalcSpacing( long nSpaceAdd, const SwTxtSizeInfo &rInf ) cons void SwTxtPortion::HandlePortion( SwPortionHandler& rPH ) const { - rPH.Text( GetLen(), GetWhichPor() ); + rPH.Text( GetLen(), GetWhichPor(), Height(), Width() ); } /************************************************************************* diff --git a/sw/source/core/text/xmldump.cxx b/sw/source/core/text/xmldump.cxx index 38339d9..ec6408c 100644 --- a/sw/source/core/text/xmldump.cxx +++ b/sw/source/core/text/xmldump.cxx @@ -134,7 +134,9 @@ class XmlPortionDumper:public SwPortionHandler text which is painted on-screen */ virtual void Text( sal_uInt16 nLength, - sal_uInt16 nType ) + sal_uInt16 nType, + sal_Int32 nHeight, + sal_Int32 nWidth) { ofs += nLength; xmlTextWriterStartElement( writer, BAD_CAST( "Text" ) ); @@ -144,6 +146,11 @@ class XmlPortionDumper:public SwPortionHandler xmlTextWriterWriteFormatAttribute( writer, BAD_CAST( "nType" ), "%s", getTypeName( nType ) ); + if (nHeight > 0) + xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("nHeight"), "%i", (int)nHeight); + if (nWidth > 0) + xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("nWidth"), "%i", (int)nWidth); + xmlTextWriterEndElement( writer ); } commit 8f846dab6db8e912ccb87209d365f1e20d13d293 Author: Miklos Vajna <vmik...@suse.cz> Date: Thu Aug 16 12:21:58 2012 +0200 sw layout dump: include the height and width of SwFlyPortion Change-Id: Ib47087a9dcb96779958edfc1a984cf38cabd1086 diff --git a/sw/source/core/access/accportions.cxx b/sw/source/core/access/accportions.cxx index a2b039d..d802a2b 100644 --- a/sw/source/core/access/accportions.cxx +++ b/sw/source/core/access/accportions.cxx @@ -142,7 +142,7 @@ void SwAccessiblePortionData::Text(sal_uInt16 nLength, sal_uInt16 nType) } void SwAccessiblePortionData::Special( - sal_uInt16 nLength, const String& rText, sal_uInt16 nType, sal_Int32 /*nHeight*/) + sal_uInt16 nLength, const String& rText, sal_uInt16 nType, sal_Int32 /*nHeight*/, sal_Int32 /*nWidth*/) { OSL_ENSURE( nModelPosition >= 0, "illegal position" ); OSL_ENSURE( (nModelPosition + nLength) <= pTxtNode->GetTxt().Len(), diff --git a/sw/source/core/access/accportions.hxx b/sw/source/core/access/accportions.hxx index 4b7f19a..ef9093b 100644 --- a/sw/source/core/access/accportions.hxx +++ b/sw/source/core/access/accportions.hxx @@ -95,7 +95,7 @@ public: // SwPortionHandler methods virtual void Text(sal_uInt16 nLength, sal_uInt16 nType); - virtual void Special(sal_uInt16 nLength, const String& rText, sal_uInt16 nType, sal_Int32 nHeight = 0); + virtual void Special(sal_uInt16 nLength, const String& rText, sal_uInt16 nType, sal_Int32 nHeight = 0, sal_Int32 nWidth = 0); virtual void LineBreak(); virtual void Skip(sal_uInt16 nLength); virtual void Finish(); diff --git a/sw/source/core/inc/SwPortionHandler.hxx b/sw/source/core/inc/SwPortionHandler.hxx index 5f81b9a..d3a8779 100644 --- a/sw/source/core/inc/SwPortionHandler.hxx +++ b/sw/source/core/inc/SwPortionHandler.hxx @@ -67,7 +67,8 @@ public: sal_uInt16 nLength, /// length of this portion in the model string const String& rText, /// text which is painted on-screen sal_uInt16 nType, /// type of this portion - sal_Int32 nHeight = 0 /// font height of the painted text + sal_Int32 nHeight = 0, /// font height of the painted text + sal_Int32 nWidth = 0 /// width of this portion ) = 0; /** line break. This method is called whenever a line break in the diff --git a/sw/source/core/text/porlin.cxx b/sw/source/core/text/porlin.cxx index c93c344..a9406c8 100644 --- a/sw/source/core/text/porlin.cxx +++ b/sw/source/core/text/porlin.cxx @@ -395,7 +395,7 @@ sal_Bool SwLinePortion::GetExpTxt( const SwTxtSizeInfo &, XubString & ) const void SwLinePortion::HandlePortion( SwPortionHandler& rPH ) const { String aString; - rPH.Special( GetLen(), aString, GetWhichPor() ); + rPH.Special( GetLen(), aString, GetWhichPor(), Height(), Width() ); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/text/xmldump.cxx b/sw/source/core/text/xmldump.cxx index 6c99b42..38339d9 100644 --- a/sw/source/core/text/xmldump.cxx +++ b/sw/source/core/text/xmldump.cxx @@ -160,7 +160,8 @@ class XmlPortionDumper:public SwPortionHandler virtual void Special( sal_uInt16 nLength, const String & rText, sal_uInt16 nType, - sal_Int32 nHeight = 0 ) + sal_Int32 nHeight, + sal_Int32 nWidth ) { xmlTextWriterStartElement( writer, BAD_CAST( "Special" ) ); xmlTextWriterWriteFormatAttribute( writer, @@ -178,6 +179,9 @@ class XmlPortionDumper:public SwPortionHandler if (nHeight > 0) xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("nHeight"), "%i", (int)nHeight); + if (nWidth > 0) + xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("nWidth"), "%i", (int)nWidth); + xmlTextWriterEndElement( writer ); ofs += nLength; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits