diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2020-05-08 23:25:17 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2020-05-11 00:12:33 +0200 |
commit | 5952331844450dad93e21d2e329d51841ae1700e (patch) | |
tree | ee95ae8c96b27928ba6ae30620e9e524c1982d3e /xmloff | |
parent | ce0933c0d8cc0d51774d0168a8be4e9bb3153463 (diff) |
tdf#49247: implement soft edges document model and import/export
... for ODF and OOXML.
Two object properties added:
SoftEdge (boolean, effect enabled/disabled)
SoftEdgeRad (sal_Int32, effect radius in 100ths of mm)
Two corresponding ODF attributes added:
loext:softedge ("visible"/"hidden")
loext:softedge-radius (metric)
Change-Id: I0dc4d7fc3e5b0c2c36092d430568ebcfd3a68c9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93833
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/inc/xmlsdtypes.hxx | 3 | ||||
-rw-r--r-- | xmloff/source/core/xmltoken.cxx | 2 | ||||
-rw-r--r-- | xmloff/source/draw/sdpropls.cxx | 17 | ||||
-rw-r--r-- | xmloff/source/token/tokens.txt | 2 |
4 files changed, 13 insertions, 11 deletions
diff --git a/xmloff/inc/xmlsdtypes.hxx b/xmloff/inc/xmlsdtypes.hxx index 6b060d322f7c..01849d004f4f 100644 --- a/xmloff/inc/xmlsdtypes.hxx +++ b/xmloff/inc/xmlsdtypes.hxx @@ -43,7 +43,7 @@ #define XML_SD_TYPE_FILLSTYLE (XML_SD_TYPES_START + 9 ) #define XML_SD_TYPE_GRADIENT (XML_SD_TYPES_START + 10 ) #define XML_SD_TYPE_GRADIENT_STEPCOUNT (XML_SD_TYPES_START + 11 ) -#define XML_SD_TYPE_SHADOW (XML_SD_TYPES_START + 12 ) +#define XML_SD_TYPE_VISIBLE_HIDDEN (XML_SD_TYPES_START + 12 ) #define XML_SD_TYPE_TEXT_CROSSEDOUT (XML_SD_TYPES_START + 13 ) #define XML_SD_TYPE_NUMBULLET (XML_SD_TYPES_START + 14 ) #define XML_SD_TYPE_WRITINGMODE (XML_SD_TYPES_START + 15 ) @@ -68,7 +68,6 @@ #define XML_SD_TYPE_IMAGE_SCALE_MODE (XML_SD_TYPES_START + 34 ) #define XML_SD_TYPE_LINECAP (XML_SD_TYPES_START + 35 ) #define XML_SD_TYPE_FITTOSIZE_AUTOFIT (XML_SD_TYPES_START + 36 ) -#define XML_SD_TYPE_GLOW (XML_SD_TYPES_START + 37 ) ////////////////////////////////////////////////////////////////////////////// // 3D property types diff --git a/xmloff/source/core/xmltoken.cxx b/xmloff/source/core/xmltoken.cxx index 9fab6ca983ef..4f7428dc431f 100644 --- a/xmloff/source/core/xmltoken.cxx +++ b/xmloff/source/core/xmltoken.cxx @@ -1698,6 +1698,8 @@ namespace xmloff::token { TOKEN( "slant-y", XML_SLANT_Y ), TOKEN( "slide", XML_SLIDE ), TOKEN( "slow", XML_SLOW ), + TOKEN( "softedge", XML_SOFTEDGE ), + TOKEN( "softedge-radius", XML_SOFTEDGE_RADIUS ), TOKEN( "solid", XML_SOLID ), TOKEN( "solid-type", XML_SOLID_TYPE ), TOKEN( "sort", XML_SORT ), diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx index 8011d423d319..bb2a504e4d8b 100644 --- a/xmloff/source/draw/sdpropls.cxx +++ b/xmloff/source/draw/sdpropls.cxx @@ -146,18 +146,22 @@ const XMLPropertyMapEntry aXMLSDProperties[] = GMAP( "TextChainNextName", XML_NAMESPACE_DRAW, XML_CHAIN_NEXT_NAME, XML_TYPE_STRING, 0 ), // shadow attributes - GMAP( "Shadow", XML_NAMESPACE_DRAW, XML_SHADOW, XML_SD_TYPE_SHADOW, 0 ), + GMAP( "Shadow", XML_NAMESPACE_DRAW, XML_SHADOW, XML_SD_TYPE_VISIBLE_HIDDEN, 0 ), GMAP( "ShadowXDistance", XML_NAMESPACE_DRAW, XML_SHADOW_OFFSET_X, XML_TYPE_MEASURE, 0 ), GMAP( "ShadowYDistance", XML_NAMESPACE_DRAW, XML_SHADOW_OFFSET_Y, XML_TYPE_MEASURE, 0 ), GMAP( "ShadowColor", XML_NAMESPACE_DRAW, XML_SHADOW_COLOR, XML_TYPE_COLOR, 0 ), GMAP( "ShadowTransparence", XML_NAMESPACE_DRAW, XML_SHADOW_OPACITY, XML_TYPE_NEG_PERCENT, 0 ), // glow attributes - GMAPV( "GlowEffect", XML_NAMESPACE_LO_EXT, XML_GLOW, XML_SD_TYPE_GLOW , 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED), + GMAPV( "GlowEffect", XML_NAMESPACE_LO_EXT, XML_GLOW, XML_SD_TYPE_VISIBLE_HIDDEN, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED), GMAPV( "GlowEffectRad", XML_NAMESPACE_LO_EXT, XML_GLOW_RADIUS, XML_TYPE_MEASURE , 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED), GMAPV( "GlowEffectColor", XML_NAMESPACE_LO_EXT, XML_GLOW_COLOR, XML_TYPE_COLOR , 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED), GMAPV( "GlowEffectTransparency", XML_NAMESPACE_LO_EXT, XML_GLOW_TRANSPARENCY, XML_TYPE_PERCENT16, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED), + // soft edge attributes + GMAPV( "SoftEdge", XML_NAMESPACE_LO_EXT, XML_SOFTEDGE, XML_SD_TYPE_VISIBLE_HIDDEN, 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED), + GMAPV( "SoftEdgeRad", XML_NAMESPACE_LO_EXT, XML_SOFTEDGE_RADIUS, XML_TYPE_MEASURE , 0, SvtSaveOptions::ODFSVER_FUTURE_EXTENDED), + // graphic attributes GMAP( "GraphicColorMode", XML_NAMESPACE_DRAW, XML_COLOR_MODE, XML_TYPE_COLOR_MODE, 0 ), // exists in SW, too, with same property name GMAP( "AdjustLuminance", XML_NAMESPACE_DRAW, XML_LUMINANCE, XML_TYPE_PERCENT16, 0 ), // signed? exists in SW, too, with same property name @@ -232,7 +236,7 @@ const XMLPropertyMapEntry aXMLSDProperties[] = GMAP( "D3DMaterialSpecularIntensity", XML_NAMESPACE_DR3D, XML_SHININESS, XML_TYPE_PERCENT, 0 ), // 3D shadow attributes - GMAP( "D3DShadow3D", XML_NAMESPACE_DR3D, XML_SHADOW, XML_SD_TYPE_SHADOW, 0 ), + GMAP( "D3DShadow3D", XML_NAMESPACE_DR3D, XML_SHADOW, XML_SD_TYPE_VISIBLE_HIDDEN, 0 ), // #FontWork# attributes GMAP( "FontWorkStyle", XML_NAMESPACE_DRAW, XML_FONTWORK_STYLE, XML_SD_TYPE_FONTWORK_STYLE| MID_FLAG_ELEMENT_ITEM_EXPORT, CTF_FONTWORK_STYLE ), @@ -1020,12 +1024,7 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy pHdl = new XMLEnumPropertyHdl( aXML_PresChange_EnumMap ); break; } - case XML_SD_TYPE_SHADOW : - { - pHdl = new XMLNamedBoolPropertyHdl( GetXMLToken(XML_VISIBLE), GetXMLToken(XML_HIDDEN) ); - break; - } - case XML_SD_TYPE_GLOW : + case XML_SD_TYPE_VISIBLE_HIDDEN: { pHdl = new XMLNamedBoolPropertyHdl( GetXMLToken(XML_VISIBLE), GetXMLToken(XML_HIDDEN) ); break; diff --git a/xmloff/source/token/tokens.txt b/xmloff/source/token/tokens.txt index 5737c639b50a..9a2c343d44c6 100644 --- a/xmloff/source/token/tokens.txt +++ b/xmloff/source/token/tokens.txt @@ -1611,6 +1611,8 @@ slant-x slant-y slide slow +softedge +softedge-radius solid solid-type sort |