[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.1' - 3 commits - include/oox oox/source
Muthu Subramanian
sumuthu at collabora.com
Mon Mar 31 03:25:51 PDT 2014
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 <sumuthu at 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 <sumuthu at 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 <sumuthu at 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();
}
}
More information about the Libreoffice-commits
mailing list