[Libreoffice-commits] .: Branch 'libreoffice-3-5' - writerfilter/source

Noel Power noelp at kemper.freedesktop.org
Thu Aug 2 07:58:38 PDT 2012


 writerfilter/source/rtftok/rtfdocumentimpl.cxx |   16 ++++++++++++++++
 writerfilter/source/rtftok/rtfdocumentimpl.hxx |    3 +++
 writerfilter/source/rtftok/rtfsdrimport.cxx    |    4 ++++
 3 files changed, 23 insertions(+)

New commits:
commit def0f0c580df3155e98a54422efe5fb7578be485
Author: Miklos Vajna <vmiklos at suse.cz>
Date:   Wed Aug 1 20:30:40 2012 +0200

    fdo#49892 import RTF_SHPB{X,Y}PAGE
    
    (cherry picked from commit 2111c6e6dc18f3ffd11de176791ecc04bab41afb)
    
    Conflicts:
    
    	writerfilter/source/rtftok/rtfdocumentimpl.cxx
    
    Change-Id: I8fe2b28f44ee61fc0f1438de3681fd86b16d29ae

diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index af2d592..8e34ad3 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -2222,6 +2222,12 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
                     m_aStates.top().aTableSprms->push_back(make_pair(NS_rtf::LN_NFC, RTFValue::Pointer_t(new RTFValue(23)))); // bullets, same as \levelnfc23
                 }
                 break;
+        case RTF_SHPBXPAGE:
+                m_aStates.top().aShape.nHoriOrientRelation = text::RelOrientation::PAGE_FRAME;
+                break;
+        case RTF_SHPBYPAGE:
+                m_aStates.top().aShape.nVertOrientRelation = text::RelOrientation::PAGE_FRAME;
+                break;
         default:
 #if OSL_DEBUG_LEVEL > 1
             OSL_TRACE("%s: TODO handle flag '%s'", OSL_THIS_FUNC, lcl_RtfToString(nKeyword));
@@ -3756,6 +3762,16 @@ RTFPicture::RTFPicture()
 {
 }
 
+RTFShape::RTFShape()
+    : nLeft(0),
+    nTop(0),
+    nRight(0),
+    nBottom(0),
+    nHoriOrientRelation(0),
+    nVertOrientRelation(0)
+{
+}
+
 RTFFrame::RTFFrame(RTFParserState* pParserState)
     : m_pParserState(pParserState),
     nX(0),
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index d42a401..4efea1d 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -191,11 +191,14 @@ namespace writerfilter {
         class RTFShape
         {
             public:
+                RTFShape();
                 std::vector< std::pair<rtl::OUString, rtl::OUString> > aProperties;
                 int nLeft;
                 int nTop;
                 int nRight;
                 int nBottom;
+                sal_Int16 nHoriOrientRelation;
+                sal_Int16 nVertOrientRelation;
         };
 
         /// Stores the properties of a drawing object.
diff --git a/writerfilter/source/rtftok/rtfsdrimport.cxx b/writerfilter/source/rtftok/rtfsdrimport.cxx
index e89a8c7..1c2921c 100644
--- a/writerfilter/source/rtftok/rtfsdrimport.cxx
+++ b/writerfilter/source/rtftok/rtfsdrimport.cxx
@@ -321,6 +321,10 @@ void RTFSdrImport::resolve(RTFShape& rShape)
     {
         xShape->setPosition(awt::Point(rShape.nLeft, rShape.nTop));
         xShape->setSize(awt::Size(rShape.nRight - rShape.nLeft, rShape.nBottom - rShape.nTop));
+        if (rShape.nHoriOrientRelation != 0)
+            xPropertySet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrientRelation")), uno::makeAny(rShape.nHoriOrientRelation));
+        if (rShape.nVertOrientRelation != 0)
+            xPropertySet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("VertOrientRelation")), uno::makeAny(rShape.nVertOrientRelation));
     }
 
     // Send it to dmapper


More information about the Libreoffice-commits mailing list