diff options
author | Armin Le Grand <alg@apache.org> | 2014-03-19 16:17:02 +0000 |
---|---|---|
committer | Armin Le Grand <alg@apache.org> | 2014-03-19 16:17:02 +0000 |
commit | b635b4fa4e42053d30ab639643d2236a20243f62 (patch) | |
tree | 657b08929ada71b91fdac54482605c67a7d14c74 /xmloff | |
parent | 4e04ad3623f2ab4693dcd50a9934fc836e190a6f (diff) |
Merge back branch alg_writerframes to trunk
Notes
Notes:
merged as: 6e61ecd09679a66060f932835622821d39e92f01
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/inc/xmloff/txtprmap.hxx | 8 | ||||
-rw-r--r-- | xmloff/inc/xmloff/xmltypes.hxx | 8 | ||||
-rw-r--r-- | xmloff/source/text/txtexppr.cxx | 36 | ||||
-rw-r--r-- | xmloff/source/text/txtprhdl.cxx | 36 | ||||
-rw-r--r-- | xmloff/source/text/txtprmap.cxx | 25 |
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 ), |