Resolves: #i119966# Fixed handling of the "visibility" flag of animations.

Patch by: Steve Yin
Review by: Andre Fischer
(cherry picked from commit 241c9736944e49308e03b74191524a1b8a5076bb)

Conflicts:
	animations/source/animcore/targetpropertiescreator.cxx

Change-Id: Ic81ff35a5a31ba5239510e85c17bb4a261d57b6a
This commit is contained in:
Andre Fischer
2012-06-15 06:11:45 +00:00
committed by Caolán McNamara
parent 2ce6828bbb
commit edba4119ff

View File

@@ -267,9 +267,9 @@ namespace animcore
// FALLTHROUGH intended
case animations::AnimationNodeType::AUDIO:
// FALLTHROUGH intended
default:
/*default:
// ignore this node, no valuable content for now.
break;
break;*/
case animations::AnimationNodeType::SET:
{
@@ -332,9 +332,9 @@ namespace animcore
// initially. This is currently the only place
// where a shape effect influences shape
// attributes outside it's effective duration.
sal_Bool bVisible( sal_False );
if( xAnimateNode->getAttributeName().equalsIgnoreAsciiCase("visibility") )
{
sal_Bool bVisible( sal_False );
uno::Any aAny( xAnimateNode->getTo() );
@@ -360,22 +360,27 @@ namespace animcore
}
}
if( bVisible )
/*if( bVisible )
{
// target is set to 'visible' at the
// first relevant effect. Thus, target
// must be initially _hidden_, for the
// effect to have visible impact.
mrShapeHash.insert(
*/
}
// target is set the 'visible' value,
// so we should record the opposite value
mrShapeHash.insert(
XShapeHash::value_type(
aTarget,
VectorOfNamedValues(
1,
beans::NamedValue(
xAnimateNode->getAttributeName(),
uno::makeAny( sal_False ) ) ) ) );
}
}
//xAnimateNode->getAttributeName(),
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("visibility")),
uno::makeAny( !bVisible ) ) ) ) );
//}
//}
}
break;
}