summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/PageBordersHandler.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter/source/dmapper/PageBordersHandler.hxx')
-rw-r--r--writerfilter/source/dmapper/PageBordersHandler.hxx60
1 files changed, 60 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/PageBordersHandler.hxx b/writerfilter/source/dmapper/PageBordersHandler.hxx
new file mode 100644
index 000000000000..92a905c4f471
--- /dev/null
+++ b/writerfilter/source/dmapper/PageBordersHandler.hxx
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+#ifndef INCLUDED_PAGEBORDERSHANDLER_HXX
+#define INCLUDED_PAGEBORDERSHANDLER_HXX
+
+#include "BorderHandler.hxx"
+#include "PropertyMap.hxx"
+
+#include <WriterFilterDllApi.hxx>
+#include <resourcemodel/WW8ResourceModel.hxx>
+#include <boost/shared_ptr.hpp>
+
+#include <com/sun/star/table/BorderLine2.hpp>
+
+#include <vector>
+
+
+namespace writerfilter {
+namespace dmapper {
+
+class _PgBorder
+{
+public:
+ com::sun::star::table::BorderLine2 m_rLine;
+ sal_Int32 m_nDistance;
+ BorderPosition m_ePos;
+
+ _PgBorder( );
+ ~_PgBorder( );
+};
+
+class WRITERFILTER_DLLPRIVATE PageBordersHandler : public Properties
+{
+private:
+
+ // See implementation of SectionPropertyMap::ApplyBorderToPageStyles
+ sal_Int32 m_nDisplay;
+ sal_Int32 m_nOffset;
+ vector<_PgBorder> m_aBorders;
+
+public:
+ PageBordersHandler( );
+ ~PageBordersHandler( );
+
+ // Properties
+ virtual void attribute( Id eName, Value& rVal );
+ virtual void sprm( Sprm& rSprm );
+
+ inline sal_Int32 GetDisplayOffset( )
+ {
+ return ( m_nOffset << 5 ) + m_nDisplay;
+ };
+ void SetBorders( SectionPropertyMap* pSectContext );
+};
+typedef boost::shared_ptr< PageBordersHandler > PageBordersHandlerPtr;
+
+} }
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */