diff options
author | Luboš Luňák <l.lunak@collabora.com> | 2020-05-07 17:46:01 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2020-05-08 17:37:26 +0200 |
commit | e3d7fdff5ce3089b24b755063da95a3462b0fc30 (patch) | |
tree | e15fc59e9af4439a6f22acea1401cc687c4b3237 /oox | |
parent | 320cba92847242cfaf34966c3fc32c4e76d45f03 (diff) |
implement PowerPoint 'flash' slide transition (API CHANGE)
It's like 'fade', but using white instead of black. It's a separate
type in the pptx file (although I actually cannot find it
in the spec OOXML, but PowerPoint 2013 generates it).
The API change in XTransitionFactory should be fine, I doubt
there's anything external using it.
Change-Id: I3479840f265ed8227b3b8301ecff56a63d57f493
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93668
Tested-by: Luboš Luňák <l.lunak@collabora.com>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'oox')
-rw-r--r-- | oox/source/ppt/slidetransition.cxx | 10 | ||||
-rw-r--r-- | oox/source/ppt/slidetransitioncontext.cxx | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/oox/source/ppt/slidetransition.cxx b/oox/source/ppt/slidetransition.cxx index 5f3e5c8edb96..63d746fa6747 100644 --- a/oox/source/ppt/slidetransition.cxx +++ b/oox/source/ppt/slidetransition.cxx @@ -25,6 +25,7 @@ #include <osl/diagnose.h> #include <sal/log.hxx> +#include <tools/color.hxx> #include <oox/helper/propertymap.hxx> #include <oox/token/namespaces.hxx> @@ -46,6 +47,7 @@ namespace oox::ppt { , mfTransitionDurationInSeconds( -1.0 ) , mbMode( true ) , mnAdvanceTime( -1 ) + , mnTransitionFadeColor( 0 ) { } @@ -58,6 +60,7 @@ namespace oox::ppt { , mfTransitionDurationInSeconds( -1.0 ) , mbMode( true ) , mnAdvanceTime( -1 ) + , mnTransitionFadeColor( 0 ) { const transition *p = transition::find( sFilterName ); if( p ) @@ -78,7 +81,7 @@ namespace oox::ppt { aProps.setProperty( PROP_Speed, mnAnimationSpeed); if( mfTransitionDurationInSeconds >= 0.0 ) aProps.setProperty( PROP_TransitionDuration, mfTransitionDurationInSeconds); - aProps.setProperty( PROP_TransitionFadeColor, sal_Int32(0)); + aProps.setProperty( PROP_TransitionFadeColor, mnTransitionFadeColor); if( mnAdvanceTime != -1 ) { aProps.setProperty( PROP_Duration, mnAdvanceTime/1000); aProps.setProperty( PROP_Change, static_cast<sal_Int32>(1)); @@ -431,6 +434,11 @@ namespace oox::ppt { mnTransitionType = TransitionType::MISCSHAPEWIPE; mnTransitionSubType = TransitionSubType::HEART; break; + case P14_TOKEN(flash): + mnTransitionType = TransitionType::FADE; + mnTransitionSubType = TransitionSubType::FADEOVERCOLOR; + mnTransitionFadeColor = static_cast<sal_Int32>(COL_WHITE); + break; default: mnTransitionType = 0; break; diff --git a/oox/source/ppt/slidetransitioncontext.cxx b/oox/source/ppt/slidetransitioncontext.cxx index 4241d202eb9e..7a5f11b0cca2 100644 --- a/oox/source/ppt/slidetransitioncontext.cxx +++ b/oox/source/ppt/slidetransitioncontext.cxx @@ -138,6 +138,7 @@ SlideTransitionContext::~SlideTransitionContext() throw() case P14_TOKEN( ripple ): case P14_TOKEN( glitter ): case P14_TOKEN( honeycomb ): + case P14_TOKEN( flash ): // CT_Empty if (!mbHasTransition) { |