include/oox/drawingml/textbodyproperties.hxx | 1 + include/oox/drawingml/textcharacterproperties.hxx | 2 ++ oox/source/drawingml/textbodyproperties.cxx | 4 ++-- oox/source/drawingml/textbodypropertiescontext.cxx | 4 ++-- oox/source/drawingml/textcharacterproperties.cxx | 3 +++ oox/source/drawingml/textcharacterpropertiescontext.cxx | 4 ++++ oox/source/drawingml/transform2dcontext.cxx | 3 ++- 7 files changed, 16 insertions(+), 5 deletions(-)
New commits: commit 426617d4c8e8aacf5487752ddd8e5090e5bb1dd7 Author: Muthu Subramanian <sumu...@collabora.com> Date: Mon Mar 31 15:36:51 2014 +0530 n#870234: Import gradfill for text colors. Uses the first color from the gradfill list. (Which is better than plain black!) Ported from: cfc76de83e3c0a56abd30a8f3bd7c69d3500d223 Change-Id: I772274634c0e3ab13b7b03a5b676138999a4439a diff --git a/include/oox/drawingml/textcharacterproperties.hxx b/include/oox/drawingml/textcharacterproperties.hxx index 2e519c9..00ac8e7 100644 --- a/include/oox/drawingml/textcharacterproperties.hxx +++ b/include/oox/drawingml/textcharacterproperties.hxx @@ -24,6 +24,7 @@ #include "oox/helper/propertymap.hxx" #include "oox/drawingml/color.hxx" #include "oox/drawingml/textfont.hxx" +#include "oox/drawingml/fillproperties.hxx" namespace oox { class PropertySet; } @@ -53,6 +54,7 @@ struct TextCharacterProperties OptValue< bool > moItalic; OptValue< bool > moUnderlineLineFollowText; OptValue< bool > moUnderlineFillFollowText; + GradientFillProperties maGradientProps; /// Properties for gradient text colors /** Overwrites all members that are explicitly set in rSourceProps. */ void assignUsed( const TextCharacterProperties& rSourceProps ); diff --git a/oox/source/drawingml/textcharacterproperties.cxx b/oox/source/drawingml/textcharacterproperties.cxx index a5fe786..bbc9ca9 100644 --- a/oox/source/drawingml/textcharacterproperties.cxx +++ b/oox/source/drawingml/textcharacterproperties.cxx @@ -59,6 +59,7 @@ void TextCharacterProperties::assignUsed( const TextCharacterProperties& rSource moItalic.assignIfUsed( rSourceProps.moItalic ); moUnderlineLineFollowText.assignIfUsed( rSourceProps.moUnderlineLineFollowText ); moUnderlineFillFollowText.assignIfUsed( rSourceProps.moUnderlineFillFollowText ); + maGradientProps.assignUsed( rSourceProps.maGradientProps ); } void TextCharacterProperties::pushToPropMap( PropertyMap& rPropMap, const XmlFilterBase& rFilter, bool bUseOptional ) const @@ -92,6 +93,8 @@ void TextCharacterProperties::pushToPropMap( PropertyMap& rPropMap, const XmlFil if( maCharColor.isUsed() ) rPropMap[ PROP_CharColor ] <<= maCharColor.getColor( rFilter.getGraphicHelper() ); + if( maGradientProps.maGradientStops.size() > 0 ) + rPropMap[ PROP_CharColor ] <<= maGradientProps.maGradientStops.begin()->second.getColor( rFilter.getGraphicHelper() ); if( moLang.has() && !moLang.get().isEmpty() ) { diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx index 6835149..f187a80 100644 --- a/oox/source/drawingml/textcharacterpropertiescontext.cxx +++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx @@ -151,6 +151,10 @@ Reference< XFastContextHandler > TextCharacterPropertiesContext::createFastChild case A_TOKEN( hlinkMouseOver ): // CT_Hyperlink xRet.set( new HyperLinkContext( *this, xAttributes, mrTextCharacterProperties.maHyperlinkPropertyMap ) ); break; + + case A_TOKEN( gradFill ): + xRet.set( new GradientFillContext( *this, xAttributes, mrTextCharacterProperties.maGradientProps ) ); + break; } if( !xRet.is() ) xRet.set( this ); commit 855aaddc1926df00e680afb42983ffb948e212c9 Author: Muthu Subramanian <sumu...@collabora.com> Date: Mon Mar 31 15:04:31 2014 +0530 n#862510: anchorCtr controls the anchoring as well. Ported from: c17eb67460293fbe72ffa8e80cd10743df493afa Change-Id: I7b5885c3ac9ec30970bdb8b2c9318dc181dda5bd diff --git a/include/oox/drawingml/textbodyproperties.hxx b/include/oox/drawingml/textbodyproperties.hxx index f8800be..c026b4e 100644 --- a/include/oox/drawingml/textbodyproperties.hxx +++ b/include/oox/drawingml/textbodyproperties.hxx @@ -34,6 +34,7 @@ struct TextBodyProperties { PropertyMap maPropertyMap; OptValue< sal_Int32 > moRotation; + bool mbAnchorCtr; OptValue< sal_Int32 > moVert; boost::optional< sal_Int32 > moInsets[4]; boost::optional< sal_Int32 > moTextOffX; diff --git a/oox/source/drawingml/textbodyproperties.cxx b/oox/source/drawingml/textbodyproperties.cxx index 36f39d9..9e53897 100644 --- a/oox/source/drawingml/textbodyproperties.cxx +++ b/oox/source/drawingml/textbodyproperties.cxx @@ -80,8 +80,8 @@ void TextBodyProperties::pushRotationAdjustments( sal_Int32 nRotation ) // Hack for n#760986 // TODO: Preferred method would be to have a textbox on top // of the shape and the place it according to the (off,ext) - if( nOff == 0 && moTextOffX ) nVal = *moTextOffX; - if( nOff == 1 && moTextOffY ) nVal = *moTextOffY; + if( nOff == 0 && moTextOffX && mbAnchorCtr ) nVal = *moTextOffX; + if( nOff == 1 && moTextOffY && mbAnchorCtr ) nVal = *moTextOffY; if( nVal < 0 ) nVal = 0; if( moInsets[i] ) diff --git a/oox/source/drawingml/textbodypropertiescontext.cxx b/oox/source/drawingml/textbodypropertiescontext.cxx index 3fc2aa7..18a2e19 100644 --- a/oox/source/drawingml/textbodypropertiescontext.cxx +++ b/oox/source/drawingml/textbodypropertiescontext.cxx @@ -60,9 +60,9 @@ TextBodyPropertiesContext::TextBodyPropertiesContext( ContextHandler& rParent, mrTextBodyProp.moInsets[i] = GetCoordinate( sValue ); } - bool bAnchorCenter = aAttribs.getBool( XML_anchorCtr, false ); + mrTextBodyProp.mbAnchorCtr = aAttribs.getBool( XML_anchorCtr, false ); if( xAttributes->hasAttribute( XML_anchorCtr ) ) { - if( bAnchorCenter ) + if( mrTextBodyProp.mbAnchorCtr ) mrTextBodyProp.maPropertyMap[ PROP_TextHorizontalAdjust ] <<= TextHorizontalAdjust_CENTER; } commit 571ac79f6b4edd75658d4fe547a3ba6f961a94e3 Author: Muthu Subramanian <sumu...@collabora.com> Date: Mon Mar 31 15:00:13 2014 +0530 n#862510: Fix text rotation. Fix breaks document in n#783433 - the one there is damaged - resaving it using mso 2010 should fix the problem there. Ported from: e3e12b1d1e36e1a0d4fc4c6423b584d677693897 Change-Id: I56fbefa9de6b0714592cc64dffc011b27d1907f4 diff --git a/oox/source/drawingml/transform2dcontext.cxx b/oox/source/drawingml/transform2dcontext.cxx index a28160b..967200d 100644 --- a/oox/source/drawingml/transform2dcontext.cxx +++ b/oox/source/drawingml/transform2dcontext.cxx @@ -49,7 +49,8 @@ Transform2DContext::Transform2DContext( ContextHandler& rParent, const Reference } else { - mrShape.getTextBody()->getTextProperties().moRotation = aAttributeList.getInteger( XML_rot ); + if( aAttributeList.hasAttribute( XML_rot ) ) + mrShape.getTextBody()->getTextProperties().moRotation = -aAttributeList.getInteger( XML_rot ).get(); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits