summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2011-08-18 01:54:39 +0200
committerMiklos Vajna <vmiklos@frugalware.org>2011-08-18 01:54:39 +0200
commitd8ceaa2fb5f74526695ea5c3ca974e0808f1b343 (patch)
treefbbe492a01243ccccadde9fba76523ed36951322 /writerfilter
parente4c1f2a7abcca5f8398f90ce05820456954543e9 (diff)
implement RTF_FLYANCHOR
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/rtftok/rtfcontrolwords.cxx1
-rw-r--r--writerfilter/source/rtftok/rtfcontrolwords.hxx3
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx4
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.hxx1
4 files changed, 8 insertions, 1 deletions
diff --git a/writerfilter/source/rtftok/rtfcontrolwords.cxx b/writerfilter/source/rtftok/rtfcontrolwords.cxx
index 00a11a5b753e..aef56ab77962 100644
--- a/writerfilter/source/rtftok/rtfcontrolwords.cxx
+++ b/writerfilter/source/rtftok/rtfcontrolwords.cxx
@@ -1847,6 +1847,7 @@ RTFSymbol aRTFControlWords[] = {
{"flymaincnt", CONTROL_DESTINATION, RTF_FLYMAINCNT},
{"flyvert", CONTROL_VALUE, RTF_FLYVERT},
{"flyhorz", CONTROL_VALUE, RTF_FLYHORZ},
+ {"flyanchor", CONTROL_VALUE, RTF_FLYANCHOR},
};
int nRTFControlWords = SAL_N_ELEMENTS(aRTFControlWords);
diff --git a/writerfilter/source/rtftok/rtfcontrolwords.hxx b/writerfilter/source/rtftok/rtfcontrolwords.hxx
index 2c1a05b3c9da..9c355bb9bee5 100644
--- a/writerfilter/source/rtftok/rtfcontrolwords.hxx
+++ b/writerfilter/source/rtftok/rtfcontrolwords.hxx
@@ -1846,7 +1846,8 @@ enum RTFKeyword
RTF_ZWNJ,
RTF_FLYMAINCNT,
RTF_FLYVERT,
- RTF_FLYHORZ
+ RTF_FLYHORZ,
+ RTF_FLYANCHOR
};
/// Types of an RTF Control Word
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index abf2a87b2234..b998d288e96b 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -725,6 +725,7 @@ void RTFDocumentImpl::checkChangedFrame()
xPropertySet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("SizeType")), uno::Any(text::SizeType::MIN));
xShape->setSize(awt::Size(m_aStates.top().aFrame.nW, m_aStates.top().aFrame.nH));
+ xPropertySet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("AnchorType")), uno::Any(m_aStates.top().aFrame.nAnchorType));
xPropertySet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrient")), uno::Any(m_aStates.top().aFrame.nHoriOrient));
xPropertySet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrientRelation")), uno::Any(m_aStates.top().aFrame.nHoriOrientRelation));
xPropertySet->setPropertyValue(OUString(RTL_CONSTASCII_USTRINGPARAM("HoriOrientPosition")), uno::Any(sal_Int32(m_aStates.top().aFrame.nX)));
@@ -2434,6 +2435,9 @@ int RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().aFrame.nHoriOrientRelation = aHoriOrient.GetRelation();
}
break;
+ case RTF_FLYANCHOR:
+ m_aStates.top().aFrame.nAnchorType = nParam;
+ break;
default:
#if OSL_DEBUG_LEVEL > 1
OSL_TRACE("%s: TODO handle value '%s'", OSL_THIS_FUNC, lcl_RtfToString(nKeyword));
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 4fecf1a2fd14..a89d3daa6d5c 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -195,6 +195,7 @@ namespace writerfilter {
sal_Int32 nX, nY, nW, nH;
sal_Int32 nLeftMargin, nRightMargin, nTopMargin, nBottomMargin;
sal_Int16 nHoriOrient, nHoriOrientRelation, nVertOrient, nVertOrientRelation;
+ sal_Int16 nAnchorType;
};
/// State of the parser, which gets saved / restored when changing groups.