summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorRohan Kumar <rohankanojia420@gmail.com>2017-01-31 23:27:07 +0530
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2017-03-06 14:57:25 +0000
commitb5b6317e4e35a2a1a81c90dda6e6e4e5457471ee (patch)
tree64e5715b20daf42dbaef62fd8ce31fd02501eb13 /filter
parent14368e63ab5d18f6b6c7f2eeb1e816593701827b (diff)
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@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'filter')
-rw-r--r--filter/source/svg/presentation_engine.js74
1 files changed, 72 insertions, 2 deletions
diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index a4f0288d40c4..b5ca5d7e74ea 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