summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
Diffstat (limited to 'sd')
-rw-r--r--sd/qa/unit/data/AllTransitions.odpbin13757 -> 15719 bytes
-rw-r--r--sd/qa/unit/export-tests.cxx3
-rw-r--r--sd/source/filter/eppt/pptx-epptbase.cxx11
-rw-r--r--sd/source/filter/eppt/pptx-epptooxml.cxx6
-rw-r--r--sd/source/filter/ppt/pptanimations.hxx2
-rw-r--r--sd/source/filter/ppt/pptin.cxx12
-rw-r--r--sd/xml/effects.xml16
-rw-r--r--sd/xml/transitions.xml6
8 files changed, 55 insertions, 1 deletions
diff --git a/sd/qa/unit/data/AllTransitions.odp b/sd/qa/unit/data/AllTransitions.odp
index dfb8d2ace8e6..8922a0756d4b 100644
--- a/sd/qa/unit/data/AllTransitions.odp
+++ b/sd/qa/unit/data/AllTransitions.odp
Binary files differ
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index 150e0b524fc0..e56219176a01 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -1502,6 +1502,9 @@ void SdExportTest::testExportTransitionsPPTX()
// NEWSFLASH
CPPUNIT_ASSERT(checkTransitionOnPage(xDoc, 74, TransitionType::ZOOM, TransitionSubType::ROTATEIN));
+ //OVAL VERTICAL
+ CPPUNIT_ASSERT(checkTransitionOnPage(xDoc, 76, TransitionType::ELLIPSEWIPE, TransitionSubType::VERTICAL));
+
xDocShRef->DoClose();
}
diff --git a/sd/source/filter/eppt/pptx-epptbase.cxx b/sd/source/filter/eppt/pptx-epptbase.cxx
index 7bd4b658cc3d..8775200c5bcf 100644
--- a/sd/source/filter/eppt/pptx-epptbase.cxx
+++ b/sd/source/filter/eppt/pptx-epptbase.cxx
@@ -798,7 +798,16 @@ sal_Int8 PPTWriterBase::GetTransition( sal_Int16 nTransitionType, sal_Int16 nTra
break;
case TransitionType::ELLIPSEWIPE :
{
- nPPTTransitionType = PPT_TRANSITION_TYPE_CIRCLE;
+ switch( nTransitionSubtype ) {
+ case TransitionSubType::VERTICAL:
+ nPPTTransitionType = PPT_TRANSITION_TYPE_OVAL_VERTICAL;
+ break;
+ case TransitionSubType::HORIZONTAL:
+ nPPTTransitionType = PPT_TRANSITION_TYPE_OVAL_HORIZONTAL;
+ break;
+ default:
+ nPPTTransitionType = PPT_TRANSITION_TYPE_CIRCLE;
+ }
}
break;
case TransitionType::FOURBOXWIPE :
diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx
index 32f717196b83..46c06ccc5654 100644
--- a/sd/source/filter/eppt/pptx-epptooxml.cxx
+++ b/sd/source/filter/eppt/pptx-epptooxml.cxx
@@ -696,6 +696,12 @@ void PowerPointExport::WriteTransition( const FSHelperPtr& pFS )
case PPT_TRANSITION_TYPE_CIRCLE:
nTransition = XML_circle;
break;
+ case PPT_TRANSITION_TYPE_OVAL_VERTICAL:
+ nTransition = XML_oval;
+ break;
+ case PPT_TRANSITION_TYPE_OVAL_HORIZONTAL:
+ nTransition = XML_oval;
+ break;
case PPT_TRANSITION_TYPE_COMB:
nTransition = XML_comb;
pDirection = (nDirection == 1) ? "vert" : "horz";
diff --git a/sd/source/filter/ppt/pptanimations.hxx b/sd/source/filter/ppt/pptanimations.hxx
index 599af58b01d7..534f7b61a8e4 100644
--- a/sd/source/filter/ppt/pptanimations.hxx
+++ b/sd/source/filter/ppt/pptanimations.hxx
@@ -60,6 +60,8 @@ namespace ppt
#define PPT_TRANSITION_TYPE_SMOOTHFADE 23 // Alpha Fade in MS-PPT Specs
#define PPT_TRANSITION_TYPE_WHEEL 26
#define PPT_TRANSITION_TYPE_CIRCLE 27
+#define PPT_TRANSITION_TYPE_OVAL_HORIZONTAL 28
+#define PPT_TRANSITION_TYPE_OVAL_VERTICAL 29
// atoms
#define DFF_msofbtAnimEvent 0xf125
diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx
index a8f38b4b5ced..2955b715901f 100644
--- a/sd/source/filter/ppt/pptin.cxx
+++ b/sd/source/filter/ppt/pptin.cxx
@@ -1720,6 +1720,18 @@ void ImplSdPPTImport::ImportPageEffect( SdPage* pPage, const bool bNewAnimations
pPage->setTransitionSubtype( animations::TransitionSubType::CIRCLE );
}
break;
+ case PPT_TRANSITION_TYPE_OVAL_VERTICAL :
+ {
+ pPage->setTransitionType( animations::TransitionType::ELLIPSEWIPE );
+ pPage->setTransitionSubtype( animations::TransitionSubType::VERTICAL );
+ }
+ break;
+ case PPT_TRANSITION_TYPE_OVAL_HORIZONTAL :
+ {
+ pPage->setTransitionType( animations::TransitionType::ELLIPSEWIPE );
+ pPage->setTransitionSubtype( animations::TransitionSubType::HORIZONTAL );
+ }
+ break;
case PPT_TRANSITION_TYPE_WEDGE :
{
pPage->setTransitionType( animations::TransitionType::FANWIPE );
diff --git a/sd/xml/effects.xml b/sd/xml/effects.xml
index bef5e0580b94..b7789383ed27 100644
--- a/sd/xml/effects.xml
+++ b/sd/xml/effects.xml
@@ -91,6 +91,22 @@
</anim:par>
<anim:par smil:begin="indefinite" smil:fill="hold">
<anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-oval" pres:preset-sub-type="in">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="ellipseWipe" smil:subtype="vertical" smil:direction="reverse"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
+ <anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-oval" pres:preset-sub-type="out">
+ <anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
+ <anim:transitionFilter smil:dur="2" smil:type="ellipseWipe" smil:subtype="vertical"/>
+ </anim:par>
+ </anim:par>
+ </anim:par>
+ <anim:par smil:begin="indefinite" smil:fill="hold">
+ <anim:par smil:begin="0" smil:fill="hold">
<anim:par pres:preset-property="Direction" smil:begin="0" smil:fill="hold" pres:node-type="on-click" pres:preset-class="entrance" pres:preset-id="ooo-entrance-fly-in-slow" pres:preset-sub-type="from-bottom">
<anim:set smil:begin="0" smil:dur="0.001" smil:fill="hold" smil:attributeName="visibility" smil:to="visible"/>
<anim:animate smil:dur="5" smil:fill="hold" smil:attributeName="x" smil:values="x;x" smil:keyTimes="0;1"/>
diff --git a/sd/xml/transitions.xml b/sd/xml/transitions.xml
index 8b96d7959e0e..cefcab31cf36 100644
--- a/sd/xml/transitions.xml
+++ b/sd/xml/transitions.xml
@@ -107,6 +107,12 @@
<anim:par pres:preset-id="shape-circle">
<anim:transitionFilter smil:type="ellipseWipe" smil:subtype="circle"/>
</anim:par>
+ <anim:par pres:preset-id="shape-oval-horizontal">
+ <anim:transitionFilter smil:type="ellipseWipe" smil:subtype="horizontal"/>
+ </anim:par>
+ <anim:par pres:preset-id="shape-oval-vertical">
+ <anim:transitionFilter smil:type="ellipseWipe" smil:subtype="vertical"/>
+ </anim:par>
<!-- <anim:par pres:preset-id="circle-in"> -->
<!-- <anim:transitionFilter smil:type="ellipseWipe" smil:subtype="circle" smil:direction="reverse"/> -->
<!-- </anim:par> -->