summaryrefslogtreecommitdiff
path: root/oox
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@collabora.com>2020-05-07 17:46:01 +0200
committerLuboš Luňák <l.lunak@collabora.com>2020-05-08 17:37:26 +0200
commite3d7fdff5ce3089b24b755063da95a3462b0fc30 (patch)
treee15fc59e9af4439a6f22acea1401cc687c4b3237 /oox
parent320cba92847242cfaf34966c3fc32c4e76d45f03 (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.cxx10
-rw-r--r--oox/source/ppt/slidetransitioncontext.cxx1
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)
{