Hi Harsh Choudhary, to your other question - managed to get your below change to affect the svg export meanwhile? If not, a description of what you tried would be good. As for the patch, comments inline:
From 50042ccd574717e679fadc6028b28e6104d3c359 Mon Sep 17 00:00:00 2001 From: Harsh <harsh@harsh-kubuntu.(none)>
Please fix your git setup (user and email address)
Date: Tue, 4 Feb 2014 20:47:50 +0530 Subject: [PATCH] pres
This needs at least a minimal description of what this patch does.
--- 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;
redundant whitespace change
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); +
Here, and at other places - please avoid trailing whitespace.
+ 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; +};*/ +
Either remove entirely, or avoid commenting it out. ;)
+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; +};
Please fix alignment in the function above.
// ------------------------------------------------------------------------------------------ // /** Class AnimatedSlide * This class handle a slide element during a slide transition. -- 1.7.10.4
Cheers, -- Thorsten
Attachment:
signature.asc
Description: Digital signature