[Libreoffice-commits] core.git: filter/source

Rohan Kumar rohankanojia420 at gmail.com
Mon Mar 6 14:58:04 UTC 2017


 filter/source/svg/presentation_engine.js |   74 ++++++++++++++++++++++++++++++-
 1 file changed, 72 insertions(+), 2 deletions(-)

New commits:
commit b5b6317e4e35a2a1a81c90dda6e6e4e5457471ee
Author: Rohan Kumar <rohankanojia420 at gmail.com>
Date:   Tue Jan 31 23:27:07 2017 +0530

    tdf#51358 Support for VeeWipe transition in SVG Support
    
    Ported the class Veewipe
    
    Change-Id: I13b9d7235967e3dd1b1b1638c27e76d11708d1e0
    Reviewed-on: https://gerrit.libreoffice.org/33764
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index a4f0288..b5ca5d7 100644
--- a/filter/source/svg/presentation_engine.js
+++ b/filter/source/svg/presentation_engine.js
@@ -5168,6 +5168,7 @@ CHECKERBOARDWIPE_TRANSITION = 11; // 39
 DISSOLVE_TRANSITION         = 12; // 40
 SNAKEWIPE_TRANSITION        = 13; // 30
 IRISWIPE_TRANSITION         = 14; // 12
+VEEWIPE_TRANSITION          = 17; // 8
 
 aTransitionTypeInMap = {
     'barWipe'           : BARWIPE_TRANSITION,
@@ -5183,7 +5184,8 @@ aTransitionTypeInMap = {
     'checkerBoardWipe'  : CHECKERBOARDWIPE_TRANSITION,
     'dissolve'          : DISSOLVE_TRANSITION,
     'snakeWipe'         : SNAKEWIPE_TRANSITION,
-    'irisWipe'          : IRISWIPE_TRANSITION
+    'irisWipe'          : IRISWIPE_TRANSITION,
+    'veeWipe'           : VEEWIPE_TRANSITION
 };
 
 /*
@@ -5236,6 +5238,9 @@ TOPCENTER_TRANS_SUBTYPE             = 40; // 7
 RIGHTCENTER_TRANS_SUBTYPE           = 41; // 8
 BOTTOMCENTER_TRANS_SUBTYPE          = 42; // 9
 LEFTCENTER_TRANS_SUBTYPE            = 43; // 10
+LEFT_TRANS_SUBTYPE                  = 44; // 20
+UP_TRANS_SUBTYPE                    = 45; // 21
+RIGHT_TRANS_SUBTYPE                 = 46; // 22
 
 aTransitionSubtypeInMap = {
     'default'           : DEFAULT_TRANS_SUBTYPE,
@@ -5281,7 +5286,10 @@ aTransitionSubtypeInMap = {
     'topCenter'         : TOPCENTER_TRANS_SUBTYPE,
     'rightCenter'       : RIGHTCENTER_TRANS_SUBTYPE,
     'bottomCenter'      : BOTTOMCENTER_TRANS_SUBTYPE,
-    'leftCenter'        : LEFTCENTER_TRANS_SUBTYPE
+    'leftCenter'        : LEFTCENTER_TRANS_SUBTYPE,
+    'left'              : LEFT_TRANS_SUBTYPE,
+    'up'                : UP_TRANS_SUBTYPE,
+    'right'             : RIGHT_TRANS_SUBTYPE
 };
 
 // Transition Modes
@@ -5609,6 +5617,48 @@ aTransitionInfoTable[CLOCKWIPE_TRANSITION][CLOCKWISENINE_TRANS_SUBTYPE] =
     'scaleIsotropically' : false
 };
 
+aTransitionInfoTable[VEEWIPE_TRANSITION] = {};
+aTransitionInfoTable[VEEWIPE_TRANSITION][DOWN_TRANS_SUBTYPE] =
+{
+    'class' : TRANSITION_CLIP_POLYPOLYGON,
+    'rotationAngle' : 0.0,
+    'scaleX' : 1.0,
+    'scaleY' : 1.0,
+    'reverseMethod' : REVERSEMETHOD_FLIP_Y,
+    'outInvertsSweep' : true,
+    'scaleIsotropically' : false
+};
+aTransitionInfoTable[VEEWIPE_TRANSITION][LEFT_TRANS_SUBTYPE] =
+{
+    'class' : TRANSITION_CLIP_POLYPOLYGON,
+    'rotationAngle' : 90.0,
+    'scaleX' : 1.0,
+    'scaleY' : 1.0,
+    'reverseMethod' : REVERSEMETHOD_FLIP_X,
+    'outInvertsSweep' : true,
+    'scaleIsotropically' : false
+};
+aTransitionInfoTable[VEEWIPE_TRANSITION][UP_TRANS_SUBTYPE] =
+{
+    'class' : TRANSITION_CLIP_POLYPOLYGON,
+    'rotationAngle' : 180.0,
+    'scaleX' : 1.0,
+    'scaleY' : 1.0,
+    'reverseMethod' : REVERSEMETHOD_FLIP_Y,
+    'outInvertsSweep' : true,
+    'scaleIsotropically' : false
+};
+aTransitionInfoTable[VEEWIPE_TRANSITION][RIGHT_TRANS_SUBTYPE] =
+{
+    'class' : TRANSITION_CLIP_POLYPOLYGON,
+    'rotationAngle' : -90.0,
+    'scaleX' : 1.0,
+    'scaleY' : 1.0,
+    'reverseMethod' : REVERSEMETHOD_FLIP_X,
+    'outInvertsSweep' : true,
+    'scaleIsotropically' : false
+};
+
 aTransitionInfoTable[PINWHEELWIPE_TRANSITION] = {};
 aTransitionInfoTable[PINWHEELWIPE_TRANSITION][ONEBLADE_TRANS_SUBTYPE] =
 aTransitionInfoTable[PINWHEELWIPE_TRANSITION][TWOBLADEVERTICAL_TRANS_SUBTYPE] =
@@ -9343,6 +9393,8 @@ function createClipPolyPolygon( nType, nSubtype )
             }
         case DISSOLVE_TRANSITION:
             return new RandomWipePath( 16 * 16, false /* dissolve */ );
+        case VEEWIPE_TRANSITION:
+            return new VeeWipePath();
         case SNAKEWIPE_TRANSITION:
             return new SnakeWipePath( 8 * 8, // diagonal
                                              nSubtype == TOPLEFTDIAGONAL_TRANS_SUBTYPE     ||
@@ -10003,6 +10055,24 @@ RandomWipePath.prototype.perform = function( nT )
     return this.aClipPath.cloneNode( true );
 };
 
+/** Class VeeWipePath
+  *
+  */
+function VeeWipePath() { }
+
+VeeWipePath.prototype.perform = function( nT ) {
+    const d = pruneScaleValue(2.0 * nT);
+    var polyPath = 'M ' + 0.0 + ' ' + -1.0 + ' ';
+    polyPath += 'L ' + 0.0 + ' ' + (d - 1.0) + ' ';
+    polyPath += 'L ' + 0.5 + ' ' + d + ' ';
+    polyPath += 'L ' + 1.0 + ' ' + (d - 1.0) + ' ';
+    polyPath += 'L ' + 1.0 + ' ' + -1.0 + ' ';
+    polyPath += 'L ' + 0.0 + ' ' + -1.0 + ' ';
+
+    var aPolyPolyPath = document.createElementNS( NSS['svg'], 'path');
+    aPolyPolyPath.setAttribute('d', polyPath);
+    return aPolyPolyPath;
+}
 
 
 /** Class AnimatedSlide


More information about the Libreoffice-commits mailing list