[Libreoffice-commits] core.git: 2 commits - officecfg/registry sd/qa sd/source sd/xml slideshow/source sw/source

Michael Stahl mstahl at redhat.com
Fri Jun 10 10:18:43 UTC 2016


 officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu |   33 ++++++++++-
 sd/qa/unit/data/AllTransitions.odp                           |binary
 sd/qa/unit/export-tests.cxx                                  |    4 +
 sd/source/filter/eppt/pptx-epptbase.cxx                      |    8 ++
 sd/xml/effects.xml                                           |   16 +++++
 sd/xml/transitions.xml                                       |    6 ++
 slideshow/source/engine/transitions/ellipsewipe.cxx          |   25 ++++++--
 slideshow/source/engine/transitions/ellipsewipe.hxx          |    4 +
 slideshow/source/engine/transitions/transitionfactorytab.cxx |    2 
 sw/source/core/view/viewpg.cxx                               |    2 
 sw/source/core/view/vnew.cxx                                 |    6 +-
 11 files changed, 91 insertions(+), 15 deletions(-)

New commits:
commit 47462fbb9ad784fe909557d9c6806c730d9f62fe
Author: Michael Stahl <mstahl at redhat.com>
Date:   Mon Jun 6 20:46:38 2016 +0200

    sw: restore the useful bug references
    
    Change-Id: I8cc8ee1c1c9195846397f734c42e019f0c27fd49

diff --git a/sw/source/core/view/viewpg.cxx b/sw/source/core/view/viewpg.cxx
index 32057c0..c88203f 100644
--- a/sw/source/core/view/viewpg.cxx
+++ b/sw/source/core/view/viewpg.cxx
@@ -118,7 +118,7 @@ void SwViewShell::PrintProspect(
         pNxtPage = sw_getPage(*aShell.GetLayout(), rPagesToPrint.second);
     }
 
-    // consider empty pages on calculation
+    // i#14016 consider empty pages on calculation
     // of page size, used for calculation of scaling.
     Size aSttPageSize;
     if ( pStPage )
diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx
index c015d18..f98cf74 100644
--- a/sw/source/core/view/vnew.cxx
+++ b/sw/source/core/view/vnew.cxx
@@ -92,7 +92,7 @@ void SwViewShell::Init( const SwViewOption *pNewOpt )
     if( pPDFOut )
         InitPrt( pPDFOut );
 
-    //Good occasion to check if page sizes in
+    // i#44963 Good occasion to check if page sizes in
     // page descriptions are still set to (LONG_MAX, LONG_MAX) (html import)
     if ( !bBrowseMode )
     {
@@ -178,7 +178,7 @@ SwViewShell::SwViewShell( SwDoc& rDocument, vcl::Window *pWindow,
     mbPaintWorks = mbEnableSmooth = true;
     mbPreview = 0 !=( VSHELLFLAG_ISPREVIEW & nFlags );
 
-    // Do not reset modified state of document,
+    // i#38810 Do not reset modified state of document,
     // if it's already been modified.
     const bool bIsDocModified( mpDoc->getIDocumentState().IsModified() );
     mpDoc->acquire();
@@ -295,7 +295,7 @@ SwViewShell::~SwViewShell()
         SET_CURR_SHELL( this );
         mbPaintWorks = false;
 
-        // Stopping the animated graphics is not
+        // i#9684 Stopping the animated graphics is not
         // necessary during printing or pdf export, because the animation
         // has not been started in this case.
         if( mpDoc && GetWin() )
commit 16ddfa21d6e92af6d2ce30a3d80f7184d3a462af
Author: Mayank Gupta <techfreakworm at gmail.com>
Date:   Wed Mar 30 11:47:01 2016 +0530

    Slideshow: Add 'Oval' Shape Transition variant
    
    Committer's note: There is no Oval or Ellipse transition in MSO formats,
    so fallback to circle on export to those.
    
    Change-Id: Ibc3d617d3bb94bdd0702bb4d60ce5fbe2eea8e24
    Reviewed-on: https://gerrit.libreoffice.org/23661
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: jan iversen <jani at documentfoundation.org>
    Tested-by: jan iversen <jani at documentfoundation.org>

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu b/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu
index 765a0d5..23824c1 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/Effects.xcu
@@ -50,6 +50,11 @@
           <value xml:lang="en-US">Circle</value>
         </prop>
       </node>
+      <node oor:name="ooo-entrance-oval" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Oval Vertical</value>
+        </prop>
+      </node>
       <node oor:name="ooo-entrance-fly-in-slow" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Fly in Slow</value>
@@ -1728,6 +1733,16 @@
           <value xml:lang="en-US">Circle</value>
         </prop>
       </node>
+      <node oor:name="oval-horizontal" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Oval Horizontal</value>
+        </prop>
+      </node>
+      <node oor:name="oval-vertical" oor:op="replace">
+        <prop oor:name="Label" oor:type="xs:string">
+          <value xml:lang="en-US">Oval Vertical</value>
+        </prop>
+      </node>
       <node oor:name="diamond" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Diamond</value>
@@ -2051,6 +2066,22 @@
           <value>circle</value>
         </prop>
       </node>
+      <node oor:name="shape-oval-horizontal" oor:op="replace">
+        <prop oor:name="Set" oor:type="xs:string">
+          <value>shape</value>
+        </prop>
+        <prop oor:name="Variant" oor:type="xs:string">
+          <value>oval-horizontal</value>
+        </prop>
+      </node>
+      <node oor:name="shape-oval-vertical" oor:op="replace">
+        <prop oor:name="Set" oor:type="xs:string">
+          <value>shape</value>
+        </prop>
+        <prop oor:name="Variant" oor:type="xs:string">
+          <value>oval-vertical</value>
+        </prop>
+      </node>
       <node oor:name="shape-diamond" oor:op="replace">
         <prop oor:name="Set" oor:type="xs:string">
           <value>shape</value>
@@ -2383,7 +2414,7 @@
           <value xml:lang="en-US">Basic</value>
         </prop>
         <prop oor:name="Effects" oor:type="oor:string-list">
-          <value oor:separator=";">ooo-entrance-appear;ooo-entrance-fly-in;ooo-entrance-venetian-blinds;ooo-entrance-box;ooo-entrance-checkerboard;ooo-entrance-circle;ooo-entrance-fly-in-slow;ooo-entrance-diamond;ooo-entrance-dissolve-in;ooo-entrance-flash-once;ooo-entrance-peek-in;ooo-entrance-plus;ooo-entrance-random-bars;ooo-entrance-split;ooo-entrance-diagonal-squares;ooo-entrance-wedge;ooo-entrance-wheel;ooo-entrance-wipe;ooo-entrance-random</value>
+          <value oor:separator=";">ooo-entrance-appear;ooo-entrance-fly-in;ooo-entrance-venetian-blinds;ooo-entrance-box;ooo-entrance-checkerboard;ooo-entrance-circle;ooo-entrance-oval;ooo-entrance-fly-in-slow;ooo-entrance-diamond;ooo-entrance-dissolve-in;ooo-entrance-flash-once;ooo-entrance-peek-in;ooo-entrance-plus;ooo-entrance-random-bars;ooo-entrance-split;ooo-entrance-diagonal-squares;ooo-entrance-wedge;ooo-entrance-wheel;ooo-entrance-wipe;ooo-entrance-random</value>
         </prop>
       </node>
       <node oor:name="special" oor:op="replace">
diff --git a/sd/qa/unit/data/AllTransitions.odp b/sd/qa/unit/data/AllTransitions.odp
index dfb8d2a..8922a07 100644
Binary files a/sd/qa/unit/data/AllTransitions.odp and b/sd/qa/unit/data/AllTransitions.odp differ
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index 150e0b5..0dd47e5 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -1502,6 +1502,10 @@ void SdExportTest::testExportTransitionsPPTX()
     // NEWSFLASH
     CPPUNIT_ASSERT(checkTransitionOnPage(xDoc, 74, TransitionType::ZOOM, TransitionSubType::ROTATEIN));
 
+    // OVAL VERTICAL - cannot be exported to PPTX so fallback to circle
+    //CPPUNIT_ASSERT(checkTransitionOnPage(xDoc, 76, TransitionType::ELLIPSEWIPE, TransitionSubType::VERTICAL));
+    CPPUNIT_ASSERT(checkTransitionOnPage(xDoc, 76, TransitionType::ELLIPSEWIPE, TransitionSubType::CIRCLE));
+
     xDocShRef->DoClose();
 }
 
diff --git a/sd/source/filter/eppt/pptx-epptbase.cxx b/sd/source/filter/eppt/pptx-epptbase.cxx
index 7bd4b65..85db3a1 100644
--- a/sd/source/filter/eppt/pptx-epptbase.cxx
+++ b/sd/source/filter/eppt/pptx-epptbase.cxx
@@ -798,7 +798,13 @@ sal_Int8 PPTWriterBase::GetTransition( sal_Int16 nTransitionType, sal_Int16 nTra
     break;
     case TransitionType::ELLIPSEWIPE :
     {
-        nPPTTransitionType = PPT_TRANSITION_TYPE_CIRCLE;
+        switch( nTransitionSubtype ) {
+        case TransitionSubType::VERTICAL:
+        case TransitionSubType::HORIZONTAL:
+            // no ellipse or oval in PPT or OOXML, fallback to circle
+        default:
+            nPPTTransitionType = PPT_TRANSITION_TYPE_CIRCLE;
+        }
     }
     break;
     case TransitionType::FOURBOXWIPE :
diff --git a/sd/xml/effects.xml b/sd/xml/effects.xml
index bef5e05..b778938 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 8b96d79..cefcab3 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> -->
diff --git a/slideshow/source/engine/transitions/ellipsewipe.cxx b/slideshow/source/engine/transitions/ellipsewipe.cxx
index 35aa9ec..d6f968f 100644
--- a/slideshow/source/engine/transitions/ellipsewipe.cxx
+++ b/slideshow/source/engine/transitions/ellipsewipe.cxx
@@ -17,7 +17,7 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-
+#include <com/sun/star/animations/TransitionSubType.hpp>
 #include <basegfx/numeric/ftools.hxx>
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include "ellipsewipe.hxx"
@@ -29,12 +29,23 @@ namespace internal {
 
 ::basegfx::B2DPolyPolygon EllipseWipe::operator () ( double t )
 {
-    // currently only circle:
-    ::basegfx::B2DPolygon poly(
-        ::basegfx::tools::createPolygonFromCircle(
-            ::basegfx::B2DPoint( 0.5, 0.5 ),
-            ::basegfx::pruneScaleValue( t * M_SQRT2 / 2.0 ) ) );
-    return ::basegfx::B2DPolyPolygon( poly );
+    ::basegfx::B2DPoint rCenter(0.5,0.5);
+    double fRadius = ::basegfx::pruneScaleValue( t * M_SQRT2 / 2.0 );
+
+    if( mnSubType == com::sun::star::animations::TransitionSubType::VERTICAL )
+    {
+        // oval:
+        ::basegfx::B2DPolygon poly (
+            ::basegfx::tools::createPolygonFromEllipse( rCenter, fRadius*2, fRadius ) ); //Horizontal Ellipse is rotated by 90 degress
+        return ::basegfx::B2DPolyPolygon( poly );
+    }
+    else
+    {
+         // circle:
+        ::basegfx::B2DPolygon poly(
+            ::basegfx::tools::createPolygonFromCircle( rCenter, fRadius ) );
+        return ::basegfx::B2DPolyPolygon( poly );
+    }
 }
 
 }
diff --git a/slideshow/source/engine/transitions/ellipsewipe.hxx b/slideshow/source/engine/transitions/ellipsewipe.hxx
index d710cba..c8d991b 100644
--- a/slideshow/source/engine/transitions/ellipsewipe.hxx
+++ b/slideshow/source/engine/transitions/ellipsewipe.hxx
@@ -30,8 +30,10 @@ namespace internal {
 class EllipseWipe : public ParametricPolyPolygon
 {
 public:
-    explicit EllipseWipe( sal_Int32 /*nTransitionSubType xxx todo */ ) {}
+    explicit EllipseWipe( sal_Int32 nSubType ): mnSubType( nSubType ) {}
     virtual ::basegfx::B2DPolyPolygon operator () ( double x ) override;
+private:
+    sal_Int32 mnSubType;
 };
 
 }
diff --git a/slideshow/source/engine/transitions/transitionfactorytab.cxx b/slideshow/source/engine/transitions/transitionfactorytab.cxx
index 8f10a55..021c359 100644
--- a/slideshow/source/engine/transitions/transitionfactorytab.cxx
+++ b/slideshow/source/engine/transitions/transitionfactorytab.cxx
@@ -699,7 +699,7 @@ static const TransitionInfo lcl_transitionInfo[] =
         1.0, // no scaling
         TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT,
         true, // 'out' by parameter sweep inversion
-        false // scale isotrophically to target size
+        true // scale isotrophically to target size
     },
 
 


More information about the Libreoffice-commits mailing list