Kaydet (Commit) 9f19422c authored tarafından Radek Doulik's avatar Radek Doulik

use effect references

Change-Id: Ie0d295cd7db695f777071edcd9b792056ac783ef
üst 20b720ba
......@@ -37,7 +37,7 @@ const sal_Int32 THEMED_STYLE_INTENSE = 3;
typedef RefVector< FillProperties > FillStyleList;
typedef RefVector< LineProperties > LineStyleList;
typedef RefVector< PropertyMap > EffectStyleList;
typedef RefVector< EffectProperties > EffectStyleList;
typedef RefMap< sal_Int32, TextCharacterProperties > FontScheme;
// ============================================================================
......@@ -68,6 +68,7 @@ public:
inline EffectStyleList& getEffectStyleList() { return maEffectStyleList; }
inline const EffectStyleList& getEffectStyleList() const { return maEffectStyleList; }
const EffectProperties* getEffectStyle( sal_Int32 nIndex ) const;
inline FontScheme& getFontScheme() { return maFontScheme; }
inline const FontScheme& getFontScheme() const { return maFontScheme; }
......
......@@ -490,6 +490,8 @@ Reference< XShape > Shape::createAndInsert(
aFillProperties.moFillType = XML_noFill;
sal_Int32 nFillPhClr = -1;
EffectProperties aEffectProperties;
// TODO: use ph color when applying effect properties
//sal_Int32 nEffectPhClr = -1;
if( pTheme )
{
......@@ -505,12 +507,13 @@ Reference< XShape > Shape::createAndInsert(
aFillProperties.assignUsed( *pFillProps );
nFillPhClr = pFillRef->maPhClr.getColor( rGraphicHelper );
}
// if( const ShapeStyleRef* pEffectRef = getShapeStyleRef( XML_fillRef ) )
// {
// if( const EffectProperties* pEffectProps = pTheme->getEffectStyle( pEffectRef->mnThemedIdx ) )
// aEffectProperties.assignUsed( *pEffectProps );
// nEffectPhClr = pEffectRef->maPhClr.getColor( rGraphicHelper );
// }
if( const ShapeStyleRef* pEffectRef = getShapeStyleRef( XML_effectRef ) )
{
if( const EffectProperties* pEffectProps = pTheme->getEffectStyle( pEffectRef->mnThemedIdx ) )
aEffectProperties.assignUsed( *pEffectProps );
// TODO: use ph color when applying effect properties
// nEffectPhClr = pEffectRef->maPhClr.getColor( rGraphicHelper );
}
}
aLineProperties.assignUsed( getLineProperties() );
......@@ -535,6 +538,7 @@ Reference< XShape > Shape::createAndInsert(
mpTablePropertiesPtr->pushToPropSet( rFilterBase, xSet, mpMasterTextListStyle );
aFillProperties.pushToPropMap( aShapeProps, rGraphicHelper, mnRotation, nFillPhClr );
aLineProperties.pushToPropMap( aShapeProps, rGraphicHelper, nLinePhClr );
// TODO: use ph color when applying effect properties
aEffectProperties.pushToPropMap( aShapeProps, rGraphicHelper );
// applying autogrowheight property before setting shape size, because
......
......@@ -55,6 +55,11 @@ const LineProperties* Theme::getLineStyle( sal_Int32 nIndex ) const
return lclGetStyleElement( maLineStyleList, nIndex );
}
const EffectProperties* Theme::getEffectStyle( sal_Int32 nIndex ) const
{
return lclGetStyleElement( maEffectStyleList, nIndex );
}
const TextCharacterProperties* Theme::getFontStyle( sal_Int32 nSchemeType ) const
{
return maFontScheme.get( nSchemeType ).get();
......
......@@ -21,6 +21,8 @@
#include "oox/drawingml/clrschemecontext.hxx"
#include "oox/drawingml/lineproperties.hxx"
#include "oox/drawingml/linepropertiescontext.hxx"
#include "oox/drawingml/effectproperties.hxx"
#include "oox/drawingml/effectpropertiescontext.hxx"
#include "oox/drawingml/fillproperties.hxx"
#include "oox/drawingml/fillpropertiesgroupcontext.hxx"
#include "oox/drawingml/theme.hxx"
......@@ -121,9 +123,13 @@ Reference< XFastContextHandler > EffectStyleListContext::createFastChildContext(
switch( nElement )
{
case A_TOKEN( effectStyle ):
mrEffectStyleList.push_back( EffectStyleList::value_type( new PropertyMap ) );
// TODO: import effect styles
return 0;
mrEffectStyleList.push_back( EffectPropertiesPtr( new EffectProperties ) );
return this;
case A_TOKEN( effectLst ): // CT_EffectList
if( mrEffectStyleList.back() )
return new EffectPropertiesContext( *this, *mrEffectStyleList.back() );
break;
}
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment