oox/inc/oox/drawingml/textbodyproperties.hxx | 1 + oox/inc/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 e05d649cbbafe9b22176a49fc316069e89926e70 Author: Muthu Subramanian <sumu...@collabora.com> Date: Mon Mar 31 15:13: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: I57a3a54a8053a8ce320acbd02940f10941165d1c diff --git a/oox/inc/oox/drawingml/textcharacterproperties.hxx b/oox/inc/oox/drawingml/textcharacterproperties.hxx index 1073fa6..35943da 100644 --- a/oox/inc/oox/drawingml/textcharacterproperties.hxx +++ b/oox/inc/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 bc23204..4800630 100644 --- a/oox/source/drawingml/textcharacterproperties.cxx +++ b/oox/source/drawingml/textcharacterproperties.cxx @@ -60,6 +60,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 @@ -93,6 +94,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 13af2cd..ec37a07 100644 --- a/oox/source/drawingml/textcharacterpropertiescontext.cxx +++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx @@ -161,6 +161,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 193ecefaef948272695b0dd0a42a3bcc3256f631 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/oox/inc/oox/drawingml/textbodyproperties.hxx b/oox/inc/oox/drawingml/textbodyproperties.hxx index f8800be..c026b4e 100644 --- a/oox/inc/oox/drawingml/textbodyproperties.hxx +++ b/oox/inc/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 273c5cf..f8e0594 100644 --- a/oox/source/drawingml/textbodypropertiescontext.cxx +++ b/oox/source/drawingml/textbodypropertiescontext.cxx @@ -61,9 +61,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 36611abf83c6ccfab9f5e18dd90a6664f514b7ba 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 d35c5d3..4976351 100644 --- a/oox/source/drawingml/transform2dcontext.cxx +++ b/oox/source/drawingml/transform2dcontext.cxx @@ -50,7 +50,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