Sorry for replying late. Here's the patch.

*Harsh Choudhary*


On Sun, Feb 2, 2014 at 5:47 PM, julien2412 <serval2...@yahoo.fr> wrote:

> Hi Harsh,
>
> It could be interesting you submit a patch by following these guidelines
> https://wiki.documentfoundation.org/Development/Patch_Handling_Guidelinesor
> attach your patch here.
>
> Julien
>
From 50042ccd574717e679fadc6028b28e6104d3c359 Mon Sep 17 00:00:00 2001
From: Harsh <harsh@harsh-kubuntu.(none)>
Date: Tue, 4 Feb 2014 20:47:50 +0530
Subject: [PATCH] pres

---
 filter/source/svg/presentation_engine.js |  119 ++++++++++++++++++++++++++++--
 1 file changed, 111 insertions(+), 8 deletions(-)

diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index c77ff1d..98d1245 100644
--- a/filter/source/svg/presentation_engine.js
+++ b/filter/source/svg/presentation_engine.js
@@ -4100,10 +4100,11 @@ FOURBOXWIPE_TRANSITION      = 3;
 ELLIPSEWIPE_TRANSITION      = 4; // 17
 CLOCKWIPE_TRANSITION        = 5; // 22
 PINWHEELWIPE_TRANSITION     = 6;  // 23
-PUSHWIPE_TRANSITION         = 7; // 35
-SLIDEWIPE_TRANSITION        = 8; // 36
-FADE_TRANSITION             = 9; // 37
-CHECKERBOARDWIPE_TRANSITION = 10; // 39
+WATERFALLWIPE_TRANSITION    = 7; //34
+PUSHWIPE_TRANSITION         = 8; // 35
+SLIDEWIPE_TRANSITION        = 9; // 36
+FADE_TRANSITION             = 10; // 37
+CHECKERBOARDWIPE_TRANSITION = 11; // 39
 
 aTransitionTypeInMap = {
     'barWipe'           : BARWIPE_TRANSITION,
@@ -4112,6 +4113,7 @@ aTransitionTypeInMap = {
     'ellipseWipe'       : ELLIPSEWIPE_TRANSITION,
     'clockWipe'         : CLOCKWIPE_TRANSITION,
     'pinWheelWipe'      : PINWHEELWIPE_TRANSITION,
+    'waterfallWipe'     : WATERFALLWIPE_TRANSITION
     'pushWipe'          : PUSHWIPE_TRANSITION,
     'slideWipe'         : SLIDEWIPE_TRANSITION,
     'fade'              : FADE_TRANSITION,
@@ -4119,7 +4121,7 @@ aTransitionTypeInMap = {
 };
 
 aTransitionTypeOutMap = [ '', 'barWipe', 'boxWipe', 'fourBoxWipe', 'ellipseWipe',
-                          'clockWipe', 'pinWheelWipe', 'pushWipe', 'slideWipe',
+                          'clockWipe', 'pinWheelWipe', 'waterfallWipe', 'pushWipe', 'slideWipe',
                           'fade', 'checkerBoardWipe' ];
 
 
@@ -4140,7 +4142,9 @@ CLOCKWISENINE_TRANS_SUBTYPE         = 12;
 TWOBLADEVERTICAL_TRANS_SUBTYPE      = 13;
 TWOBLADEHORIZONTAL_TRANS_SUBTYPE    = 14;
 FOURBLADE_TRANS_SUBTYPE             = 15; // 39
-FROMLEFT_TRANS_SUBTYPE              = 16; // 97
+HORIZONTALLEFT_TRANS_SUBTYPE        = 30; //95
+HORIZONTALRIGHT_TRANS_SUBTYPE       = 31;
+FROMLEFT_TRANS_SUBTYPE              = 16;
 FROMTOP_TRANS_SUBTYPE               = 17;
 FROMRIGHT_TRANS_SUBTYPE             = 18;
 FROMBOTTOM_TRANS_SUBTYPE            = 19;
@@ -4151,7 +4155,7 @@ FADEOVERCOLOR_TRANS_SUBTYPE         = 23;
 THREEBLADE_TRANS_SUBTYPE            = 24;
 EIGHTBLADE_TRANS_SUBTYPE            = 25;
 ONEBLADE_TRANS_SUBTYPE              = 26; // 107
-ACROSS_TRANS_SUBTYPE                = 27;
+ACROSS_TRANS_SUBTYPE                = 27; 
 
 aTransitionSubtypeInMap = {
     'leftToRight'       : LEFTTORIGHT_TRANS_SUBTYPE,
@@ -4169,6 +4173,8 @@ aTransitionSubtypeInMap = {
     'twoBladeVertical'  : TWOBLADEVERTICAL_TRANS_SUBTYPE,
     'twoBladeHorizontal': TWOBLADEHORIZONTAL_TRANS_SUBTYPE,
     'fourBlade'         : FOURBLADE_TRANS_SUBTYPE,
+    'horizontalLeft'    : HORIZONTALLEFT_TRANS_SUBTYPE,
+    'horizontalRight'   : HORIZONTALRIGHT_TRANS_SUBTYPE,
     'fromLeft'          : FROMLEFT_TRANS_SUBTYPE,
     'fromTop'           : FROMTOP_TRANS_SUBTYPE,
     'fromRight'         : FROMRIGHT_TRANS_SUBTYPE,
@@ -4187,7 +4193,7 @@ aTransitionSubtypeOutMap = [ 'default', 'leftToRight', 'topToBottom', 'cornersIn
                              'cornersOut', 'vertical', 'horizontal', 'down', 'circle',
                              'clockwiseTwelve', 'clockwiseThree', 'clockwiseSix',
                              'clockwiseNine', 'twoBladeVertical', 'twoBladeHorizontal',
-                             'fourBlade', 'fromLeft', 'fromTop', 'fromRight',
+                             'fourBlade', 'horizontalLeft', 'horizontalRight', 'fromLeft', 'fromTop', 'fromRight',
                              'fromBottom', 'crossfade', 'fadeToColor', 'fadeFromColor',
                              'fadeOverColor', 'threeBlade', 'eightBlade', 'oneBlade',
                              'across' ];
@@ -4378,6 +4384,28 @@ aTransitionInfoTable[PINWHEELWIPE_TRANSITION][TWOBLADEHORIZONTAL_TRANS_SUBTYPE]
     'scaleIsotropically' : true
 };
 
+aTransitionInfoTable[WATERFALLWIPE_TRANSITION] = {};
+aTransitionInfoTable[WATERFALLWIPE_TRANSITION] [HORIZONTALLEFT_TRANS_SUBTYPE] = 
+{
+    'class' : TRANSITION_CLIP_POLYPOLYGON,
+    'rotationAngle' : -90.0,
+    'scaleX' : 1.0,
+    'scaleY' : 1.0,
+    'reverseMethod' : REVERSEMETHOD_ROTATE_180,
+    'outInvertsSweep' : true,
+    'scaleIsotropically' : false
+};
+aTransitionInfoTable[WATERFALLWIPE_TRANSITION] [HORIZONTALRIGHT_TRANS_SUBTYPE] = 
+{
+  'class' : TRANSITION_CLIP_POLYPOLYGON,
+    'rotationAngle' : 90.0,
+    'scaleX' : 1.0,
+    'scaleY' : 1.0,
+    'reverseMethod' : REVERSEMETHOD_ROTATE_180,
+    'outInvertsSweep' : true,
+    'scaleIsotropically' : false
+};
+
 aTransitionInfoTable[PUSHWIPE_TRANSITION] = {};
 aTransitionInfoTable[PUSHWIPE_TRANSITION][FROMLEFT_TRANS_SUBTYPE] =
 aTransitionInfoTable[PUSHWIPE_TRANSITION][FROMTOP_TRANS_SUBTYPE] =
@@ -7997,6 +8025,8 @@ function createClipPolyPolygon( nType, nSubtype )
             return new PinWheelWipePath( nBlades );
         case CHECKERBOARDWIPE_TRANSITION:
             return new CheckerBoardWipePath( 10 );
+        case WATERFALLWIPE_TRANSITION:
+            return new waterfallWipePath(nSubtype);/////////////////
     }
 }
 
@@ -8306,7 +8336,80 @@ CheckerBoardWipePath.prototype.perform = function( nT )
     return aPolyPath;
 };
 
+/ ------------------------------------------------------------------------------------------ //
+/** Class WaterfallWipePath
+ *  This class handles a parametric poly-path that is used for performing
+ *  a waterfallWipe transition.
+ *
+ *  @param nBlades
+ *      Number of blades generated by the transition.
+ */
+function WaterfallWipePath( nElements, flipOnYAxis )
+{
+    var sqrtElements = Math.sqrt(nElements);
+    
+    var elementEdge = (1 / sqrtElements);
+    
+    this.flipOnYAxis = flipOnYAxis;
+    
+    var  m_waterfall = document.createElementNS( NSS['svg'], 'path');
+    
+}
+
+/*WaterfallWipePath.calcCenteredClock = function( nT, nE )
+{
+    var nMAX_EDGE = 2;
+
+    var aTransform = SVGIdentityMatrix.rotate( nT * 360 );
+
+    var aPoint = document.documentElement.createSVGPoint();
+    aPoint.y = -nMAX_EDGE;
+    aPoint = aPoint.matrixTransform( aTransform );
+
+    var sPathData = 'M ' + aPoint.x + ' ' + aPoint.y + ' ';
+    if( nT >= 0.875 )
+        // L -e -e
+        sPathData += 'L ' + '-' + nE + ' -' + nE + ' ';
+    if( nT >= 0.625 )
+        // L -e e
+        sPathData += 'L ' + '-' + nE + ' ' + nE + ' ';
+    if( nT >= 0.375 )
+        // L e e
+        sPathData += 'L ' + nE + ' ' + nE + ' ';
+     if( nT >= 0.125 )
+        // L e -e
+        sPathData += 'L ' + nE + ' -' + nE + ' ';
+
+    // L 0 -e
+    sPathData += 'L 0 -' + nE + ' ';
+    sPathData += 'L 0 0 ';
+    // Z
+    sPathData += 'L '  + aPoint.x + ' ' + aPoint.y;
 
+    var aPath = document.createElementNS( NSS['svg'], 'path' );
+    aPath.setAttribute( 'd', sPathData );
+    return aPath;
+};*/
+
+WaterfallWipePath.prototype.perform = function(  )
+{
+    m_waterfall.append(document.documentElement.createSVGPoint(0.0, -1.0));
+    
+    for ( var pos = sqrtElements; pos--; )
+    {
+        var xPos = (sqrtElements - pos - 1);
+	var yPos = pruneScaleValue( ((pos + 1) * elementEdge) - 1.0 );
+	m_waterfall.append( document.createElement.createSVGPoint(
+	                            pruneScaleValue( xPos * elementEdge ),
+                                    yPos ) );
+	m_waterfall.append( document.createElement.createSVGPoint(
+                                    pruneScaleValue( (xPos + 1) * elementEdge ),
+                                    yPos ) );
+    }
+    m_waterfall.append( document.createElement.createSVGPoint( 1.0 , -1.0) );
+  
+    return m_waterfall;
+};
 // ------------------------------------------------------------------------------------------ //
 /** Class AnimatedSlide
  *  This class handle a slide element during a slide transition.
-- 
1.7.10.4

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to