summaryrefslogtreecommitdiff
path: root/xmloff
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2014-03-19 16:17:02 +0000
committerArmin Le Grand <alg@apache.org>2014-03-19 16:17:02 +0000
commitb635b4fa4e42053d30ab639643d2236a20243f62 (patch)
tree657b08929ada71b91fdac54482605c67a7d14c74 /xmloff
parent4e04ad3623f2ab4693dcd50a9934fc836e190a6f (diff)
Merge back branch alg_writerframes to trunk
Notes
Notes: merged as: 6e61ecd09679a66060f932835622821d39e92f01
Diffstat (limited to 'xmloff')
-rw-r--r--xmloff/inc/xmloff/txtprmap.hxx8
-rw-r--r--xmloff/inc/xmloff/xmltypes.hxx8
-rw-r--r--xmloff/source/text/txtexppr.cxx36
-rw-r--r--xmloff/source/text/txtprhdl.cxx36
-rw-r--r--xmloff/source/text/txtprmap.cxx25
5 files changed, 113 insertions, 0 deletions
diff --git a/xmloff/inc/xmloff/txtprmap.hxx b/xmloff/inc/xmloff/txtprmap.hxx
index 45f40e033dff..4f7f862d5d21 100644
--- a/xmloff/inc/xmloff/txtprmap.hxx
+++ b/xmloff/inc/xmloff/txtprmap.hxx
@@ -182,6 +182,14 @@
#define CTF_MARGINTOP (XML_TEXT_CTF_START + 151)
#define CTF_MARGINBOTTOM (XML_TEXT_CTF_START + 152)
+//UUUU
+#define CTF_SW_REPEAT_OFFSET_X (XML_TEXT_CTF_START + 153)
+#define CTF_SW_REPEAT_OFFSET_Y (XML_TEXT_CTF_START + 154)
+#define CTF_SW_FILLGRADIENTNAME (XML_TEXT_CTF_START + 155)
+#define CTF_SW_FILLHATCHNAME (XML_TEXT_CTF_START + 156)
+#define CTF_SW_FILLBITMAPNAME (XML_TEXT_CTF_START + 157)
+#define CTF_SW_FILLTRANSNAME (XML_TEXT_CTF_START + 158)
+
#define TEXT_PROP_MAP_TEXT 0
#define TEXT_PROP_MAP_PARA 1
#define TEXT_PROP_MAP_FRAME 2
diff --git a/xmloff/inc/xmloff/xmltypes.hxx b/xmloff/inc/xmloff/xmltypes.hxx
index da83e9a0b82f..2a8fbc48b0bd 100644
--- a/xmloff/inc/xmloff/xmltypes.hxx
+++ b/xmloff/inc/xmloff/xmltypes.hxx
@@ -274,6 +274,14 @@
#define XML_TYPE_TEXT_OVERLINE_WIDTH (XML_TEXT_TYPES_START + 111)
#define XML_TYPE_TEXT_OVERLINE_COLOR (XML_TEXT_TYPES_START + 112)
#define XML_TYPE_TEXT_OVERLINE_HASCOLOR (XML_TEXT_TYPES_START + 113)
+//UUUU
+#define XML_SW_TYPE_FILLSTYLE (XML_TEXT_TYPES_START + 114)
+#define XML_SW_TYPE_FILLBITMAPSIZE (XML_TEXT_TYPES_START + 115)
+#define XML_SW_TYPE_LOGICAL_SIZE (XML_TEXT_TYPES_START + 116)
+#define XML_SW_TYPE_BITMAP_REFPOINT (XML_TEXT_TYPES_START + 117)
+#define XML_SW_TYPE_BITMAP_MODE (XML_TEXT_TYPES_START + 118)
+#define XML_SW_TYPE_BITMAPREPOFFSETX (XML_TEXT_TYPES_START + 119)
+#define XML_SW_TYPE_BITMAPREPOFFSETY (XML_TEXT_TYPES_START + 120)
#define XML_SCH_TYPES_START (0x4 << XML_TYPE_APP_SHIFT)
#define XML_PM_TYPES_START (0x5 << XML_TYPE_APP_SHIFT) // page master
diff --git a/xmloff/source/text/txtexppr.cxx b/xmloff/source/text/txtexppr.cxx
index fa67f8dee981..9f59cd8a5e92 100644
--- a/xmloff/source/text/txtexppr.cxx
+++ b/xmloff/source/text/txtexppr.cxx
@@ -467,6 +467,10 @@ void XMLTextExportPropertySetMapper::ContextFilter(
XMLPropertyState* pAllParaMargin = NULL;
XMLPropertyState* pAllMargin = NULL;
+ //UUUU
+ XMLPropertyState* pRepeatOffsetX = NULL;
+ XMLPropertyState* pRepeatOffsetY = NULL;
+
sal_Bool bNeedsAnchor = sal_False;
for( ::std::vector< XMLPropertyState >::iterator aIter = rProperties.begin();
@@ -585,9 +589,41 @@ void XMLTextExportPropertySetMapper::ContextFilter(
case CTF_TEXT_CLIP: pClipState = propertie; break;
case CTF_PARAMARGINALL: pAllParaMargin = propertie; break;
case CTF_MARGINALL: pAllMargin = propertie; break;
+
+ //UUUU
+ case CTF_SW_REPEAT_OFFSET_X:
+ pRepeatOffsetX = propertie;
+ break;
+
+ //UUUU
+ case CTF_SW_REPEAT_OFFSET_Y:
+ pRepeatOffsetY = propertie;
+ break;
+
+ //UUUU
+ case CTF_SW_FILLGRADIENTNAME:
+ case CTF_SW_FILLHATCHNAME:
+ case CTF_SW_FILLBITMAPNAME:
+ case CTF_SW_FILLTRANSNAME:
+ {
+ OUString aStr;
+ if( (propertie->maValue >>= aStr) && 0 == aStr.getLength() )
+ propertie->mnIndex = -1;
+ }
+ break;
}
}
+ //UUUU
+ if( pRepeatOffsetX && pRepeatOffsetY )
+ {
+ sal_Int32 nOffset = 0;
+ if( ( pRepeatOffsetX->maValue >>= nOffset ) && ( nOffset == 0 ) )
+ pRepeatOffsetX->mnIndex = -1;
+ else
+ pRepeatOffsetY->mnIndex = -1;
+ }
+
if( pFontNameState )
ContextFontFilter( pFontNameState, pFontFamilyNameState,
pFontStyleNameState, pFontFamilyState,
diff --git a/xmloff/source/text/txtprhdl.cxx b/xmloff/source/text/txtprhdl.cxx
index c82f33339473..c5fb255679b5 100644
--- a/xmloff/source/text/txtprhdl.cxx
+++ b/xmloff/source/text/txtprhdl.cxx
@@ -65,6 +65,8 @@ using namespace ::com::sun::star::style;
//using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::text;
using namespace ::xmloff::token;
+//UUUU
+using namespace ::com::sun::star::drawing;
#define CONSTASCII_USTRINGPARAM_CMP(s) s, sizeof(s)-1
@@ -1269,6 +1271,18 @@ public:
~XMLTextPropertyHandlerFactory_Impl();
};
+//UUUU
+#include <xmloff/EnumPropertyHdl.hxx>
+#include <com/sun/star/drawing/FillStyle.hpp>
+#include "XMLFillBitmapSizePropertyHandler.hxx"
+#include "XMLBitmapLogicalSizePropertyHandler.hxx"
+#include <com/sun/star/drawing/RectanglePoint.hpp>
+#include <com/sun/star/drawing/BitmapMode.hpp>
+#include "XMLBitmapRepeatOffsetPropertyHandler.hxx"
+extern SvXMLEnumMapEntry aXML_FillStyle_EnumMap[];
+extern SvXMLEnumMapEntry aXML_RefPoint_EnumMap[];
+extern SvXMLEnumMapEntry aXML_BitmapMode_EnumMap[];
+
const XMLPropertyHandler *XMLTextPropertyHandlerFactory_Impl::GetPropertyHandler
( sal_Int32 nType ) const
{
@@ -1441,6 +1455,28 @@ const XMLPropertyHandler *XMLTextPropertyHandlerFactory_Impl::GetPropertyHandler
case XML_TYPE_TEXT_NUMBER8_ONE_BASED:
pHdl = new XMLNumber8OneBasedHdl();
break;
+
+ //UUUU
+ case XML_SW_TYPE_FILLSTYLE:
+ pHdl = new XMLEnumPropertyHdl( aXML_FillStyle_EnumMap, ::getCppuType((const FillStyle*)0) );
+ break;
+ case XML_SW_TYPE_FILLBITMAPSIZE:
+ pHdl = new XMLFillBitmapSizePropertyHandler();
+ break;
+ case XML_SW_TYPE_LOGICAL_SIZE:
+ pHdl = new XMLBitmapLogicalSizePropertyHandler();
+ break;
+ case XML_SW_TYPE_BITMAP_REFPOINT:
+ pHdl = new XMLEnumPropertyHdl( aXML_RefPoint_EnumMap, getCppuType((const RectanglePoint*)0) );
+ break;
+ case XML_SW_TYPE_BITMAP_MODE:
+ pHdl = new XMLEnumPropertyHdl( aXML_BitmapMode_EnumMap, getCppuType((const BitmapMode*)0) );
+ break;
+ case XML_SW_TYPE_BITMAPREPOFFSETX:
+ case XML_SW_TYPE_BITMAPREPOFFSETY:
+ pHdl = new XMLBitmapRepeatOffsetPropertyHandler(XML_SW_TYPE_BITMAPREPOFFSETX == nType);
+ break;
+
}
return pHdl;
diff --git a/xmloff/source/text/txtprmap.cxx b/xmloff/source/text/txtprmap.cxx
index 7ce6e39c5aa2..45b76975f6d3 100644
--- a/xmloff/source/text/txtprmap.cxx
+++ b/xmloff/source/text/txtprmap.cxx
@@ -80,6 +80,9 @@ using namespace ::xmloff::token;
#define M_END() \
{ NULL, 0, 0, XML_TOKEN_INVALID, 0, 0, SvtSaveOptions::ODFVER_010 }
+//UUUU
+#define _MAP(name,prefix,token,type,context) { name, sizeof(name)-1, prefix, token, type, context, SvtSaveOptions::ODFVER_010 }
+#define GMAP(name,prefix,token,type,context) _MAP(name,prefix,token,static_cast<sal_Int32>(type|XML_TYPE_PROP_GRAPHIC),context)
XMLPropertyMapEntry aXMLParaPropMap[] =
{
@@ -630,6 +633,28 @@ XMLPropertyMapEntry aXMLFramePropMap[] =
MG_E( "BackGraphicFilter",STYLE, FILTER_NAME, MID_FLAG_SPECIAL_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_FILTER ),
MG_E( "BackGraphicURL", STYLE, BACKGROUND_IMAGE, MID_FLAG_ELEMENT_ITEM|XML_TYPE_STRING, CTF_BACKGROUND_URL ),
+ //UUUU fill attributes
+ GMAP( "FillStyle", XML_NAMESPACE_DRAW, XML_FILL, XML_SW_TYPE_FILLSTYLE, 0 ),
+ GMAP( "FillColor", XML_NAMESPACE_DRAW, XML_FILL_COLOR, XML_TYPE_COLOR, 0 ),
+ GMAP( "FillColor2", XML_NAMESPACE_DRAW, XML_SECONDARY_FILL_COLOR, XML_TYPE_COLOR, 0 ),
+ GMAP( "FillGradientName", XML_NAMESPACE_DRAW, XML_FILL_GRADIENT_NAME, XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLGRADIENTNAME ),
+ GMAP( "FillGradientStepCount", XML_NAMESPACE_DRAW, XML_GRADIENT_STEP_COUNT, XML_TYPE_NUMBER16, 0 ),
+ GMAP( "FillHatchName", XML_NAMESPACE_DRAW, XML_FILL_HATCH_NAME, XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLHATCHNAME ),
+ GMAP( "FillBackground", XML_NAMESPACE_DRAW, XML_FILL_HATCH_SOLID, XML_TYPE_BOOL, 0 ),
+ GMAP( "FillBitmapName", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_NAME, XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLBITMAPNAME ),
+ GMAP( "FillTransparence", XML_NAMESPACE_DRAW, XML_OPACITY, XML_TYPE_NEG_PERCENT16|MID_FLAG_MULTI_PROPERTY, 0 ), // exists in SW, too
+ GMAP( "FillTransparenceGradientName", XML_NAMESPACE_DRAW, XML_OPACITY_NAME, XML_TYPE_STYLENAME|MID_FLAG_NO_PROPERTY_IMPORT, CTF_SW_FILLTRANSNAME ),
+ GMAP( "FillBitmapSizeX", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_WIDTH, XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+ GMAP( "FillBitmapLogicalSize", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_WIDTH, XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+ GMAP( "FillBitmapSizeY", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_HEIGHT, XML_SW_TYPE_FILLBITMAPSIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+ GMAP( "FillBitmapLogicalSize", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_HEIGHT, XML_SW_TYPE_LOGICAL_SIZE|MID_FLAG_MULTI_PROPERTY, 0 ),
+ GMAP( "FillBitmapMode", XML_NAMESPACE_STYLE,XML_REPEAT, XML_SW_TYPE_BITMAP_MODE|MID_FLAG_MULTI_PROPERTY, 0 ),
+ GMAP( "FillBitmapPositionOffsetX", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_X, XML_TYPE_PERCENT, 0 ),
+ GMAP( "FillBitmapPositionOffsetY", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT_Y, XML_TYPE_PERCENT, 0 ),
+ GMAP( "FillBitmapRectanglePoint", XML_NAMESPACE_DRAW, XML_FILL_IMAGE_REF_POINT, XML_SW_TYPE_BITMAP_REFPOINT, 0 ),
+ GMAP( "FillBitmapOffsetX", XML_NAMESPACE_DRAW, XML_TILE_REPEAT_OFFSET, XML_SW_TYPE_BITMAPREPOFFSETX|MID_FLAG_MULTI_PROPERTY, CTF_SW_REPEAT_OFFSET_X ),
+ GMAP( "FillBitmapOffsetY", XML_NAMESPACE_DRAW, XML_TILE_REPEAT_OFFSET, XML_SW_TYPE_BITMAPREPOFFSETY|MID_FLAG_MULTI_PROPERTY, CTF_SW_REPEAT_OFFSET_Y ),
+
// RES_BOX
MG_ED( "LeftBorder", STYLE, BORDER_LINE_WIDTH, XML_TYPE_BORDER_WIDTH, CTF_ALLBORDERWIDTH ),
MG_ED( "LeftBorder", STYLE, BORDER_LINE_WIDTH_LEFT, XML_TYPE_BORDER_WIDTH, CTF_LEFTBORDERWIDTH ),