123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825 |
- function currXYSlide(slide) {
- var slideWidth = gv.sw;
- var slideLength = gv.sh;
- var left=0;
- var top = 0;
- if (typeof(slide.sV.left)!='undefined'){
- var left = parseInt(slide.sV.left.style.left);
- var top = parseInt(slide.sV.left.style.top);
- }
- var tranWidth = slide.sV.w;
- var tranHeight = slide.sV.h;
- switch (slide.c.additionalData) {
- case 1:
- slide.dX = left;
- slide.dY = tranHeight * -1;
- break;
- case 2:
- slide.dX = slideWidth;
- slide.dY = top;
- break;
- case 3:
- slide.dX = left;
- slide.dY = slideLength;
- break;
- case 4:
- slide.dX = tranWidth * -1;
- slide.dY = top;
- break;
- case 6:
- slide.dX = tranWidth * -1;
- slide.dY = tranHeight * -1;
- break;
- case 7:
- slide.dX = slideWidth;
- slide.dY = tranHeight * -1;
- break;
- case 8:
- slide.dX = slideWidth;
- slide.dY = slideLength;
- break;
- case 9:
- slide.dX = tranWidth * -1;
- slide.dY = slideLength;
- break
- }
- slide.fX = left;
- slide.fY = top;
- /*alert("slide is:"+slide);
- alert("slide fX is:" + slide.fX);
- alert("slide fY is:" + slide.fY);
- alert("slide dX is:" + slide.dX);
- alert("slide dY is:" + slide.dY);
- alert("slide state is:" + slide.state);
- alert("The slide length is:" + slide.slideLength);*/
- //Add check here,because we have slide.slideLengt is equal to undefined.
- if (slide.slideLength != null)
- {
- if (slide.slideLength.state == 2) {
- var h = slide.fY;
- slide.fY = slide.dY;
- slide.dY = h;
- h = slide.fX;
- slide.fX = slide.dX;
- slide.dX = h
- }
- }
- }
- function colorDecimal(val) {
- return Math.min(255, Math.round(val * 256))
- }
- function hsv2color(hue, satur, val) {
- var red;
- var green;
- var blue;
- var g;
- var h = Math.floor(hue / 60 % 6);
- var i = hue / 60 - h;
- var j = val * (1 - satur);
- var k = val * (1 - i * satur);
- var l = val * (1 - (1 - i) * satur);
- switch (h) {
- case 0: {
- red = val;
- green = l;
- blue = j;
- break
- };
- case 1: {
- red = k;
- green = val;
- blue = j;
- break
- };
- case 2: {
- red = j;
- green = val;
- blue = l;
- break
- };
- case 3: {
- red = j;
- green = k;
- blue = val;
- break
- };
- case 4: {
- red = l;
- green = j;
- blue = val;
- break
- };
- case 5: {
- red = val;
- green = j;
- blue = k;
- break
- }
- }
- red = colorDecimal(red);
- green = colorDecimal(green);
- blue = colorDecimal(blue);
- return [red, green, blue]
- }
- //REF
- function rgb2hsv(color) {
- red = color[0] / 255;
- green = color[1] / 255;
- blue = color[2] / 255;
- var diffColors;
- var hue;
- var satur;
- var minColor = Math.min(Math.min(red, green), blue);
- var maxColor = Math.max(Math.max(red, green), blue);
- diffColors = maxColor - minColor;
- switch (maxColor) {
- case h: {
- hue = 0;
- break
- };
- case r: {
- hue = 60 * (g - b) / diffColors;
- if (g < b) {
- hue = hue + 360
- }
- break
- };
- case g: {
- hue = 60 * (b - r) / diffColors + 120;
- break
- };
- case b: {
- hue = 60 * (r - g) / diffColors + 240;
- break
- }
- }
- satur = maxColor === 0 ? 0 : 1 - minColor / maxColor;
- var hsv = [Math.round(hue), satur, maxColor];
- return hsv
- }
- function tranend(a) {
- pause();
- if (a != 1) {
- gStartTime = gStartTime - (gslength[gc - 1] + animations["s" + gc].t.i - gt);
- play();
- return
- }
- gx = 0;
- if (gpc != gc)
- gco("s" + gpc + "s0").style.display = "none";
- if (gpc > gc) {
- gco("s" + gpc + "s0").style.zIndex = "0"
- }
- gpc = 0;
- var b = gt - (gslength[gc - 1] + animations["s" + gc].t.i);
- gtct = gtct - b;
- if (animations["s" + gc].f == gslength[gc - 1]) {
- animations["s" + gc].f = gslength[gc - 1] + animations["s" + gc].t.i;
- gt = animations["s" + gc].f
- } else {
- gStartTime = gStartTime - (animations["s" + gc].f - (gslength[gc - 1] + animations["s" + gc].t.i));
- gt = animations["s" + gc].f
- }
- setProgress();
- if (animations["s" + gc].f == gslength[gc - 1] + animations["s" + gc].t.i) {
- if (animations["s" + gc].t.n == 1 && animations["s" + gc].g == 0) {
- playCurrentAniamtion();
- play()
- }
- } else if (galength.indexOf(animations["s" + gc].f) == -1 && animations["s" + gc].f != gslength[gc]) {
- playCurrentAniamtion();
- play()
- }
- }
- function video(a, b, c) {
- if (gv.v == 0)
- return;
- var d = a.getElementsByTagName("video")[0];
- if (d.paused) {
- d.play();
- checkForAudioVideoObject(d, 1)
- } else {
- d.currentTime = 0;
- d.pause()
- }
- }
- function audio(a) {
- var b = a.getElementsByTagName("audio")[0];
- if (gv.v == 0 || typeof b.play == "undefined")
- return;
- if (b.paused) {
- b.play();
- checkForAudioVideoObject(b, 1)
- } else {
- b.pause();
- b.currentTime = 0
- }
- }
- var audioEl = document.createElement("audio");
- StylePpty = function () {};
- StylePpty.Transform = function () {
- if (typeof this.transform == "undefined") {
- this.transform = "transform";
- var a = ["transform", "WebkitTransform", "msTransform", "MozTransform", "OTransform"];
- var b;
- var c = document.getElementsByTagName("div");
- while (b = a.shift()) {
- if (typeof c[0].style[b] != "undefined") {
- this.transform = b;
- return this.transform
- }
- }
- }
- return this.transform
- };
- var DOPStyle = new function () {
- if (typeof window.getComputedStyle == "undefined") {
- this.s = function (a, b) {
- if (typeof a.tagName != "undefined")
- return a.currentStyle[b]
- }
- } else {
- this.s = function (a, b) {
- if (typeof a.tagName != "undefined")
- return document.defaultView.getComputedStyle(a, null)[b]
- }
- }
- };
- CalculateDimensions = function (a) {
- var childNodes = a.childNodes;
- var styletop = -1;
- var styleleft = -1;
- var dimensions = {
- height: 0,
- width: 0
- };
- for (var f = 0; f < childNodes.length; f++) {
- var g = childNodes[f];
- if (g.nodeType == 1 && g.nodeName == "PRE") {
- if (g.style.left != styleleft) {
- dimensions.width += parseFloat(g.scrollWidth);
- styleleft = g.style.left
- }
- if (g.style.top != styletop) {
- dimensions.height += parseFloat(g.scrollHeight);
- styletop = g.style.top
- }
- }
- }
- return dimensions
- };
- initDimensions = function (a) {
- this.p = a;
- if (this.p.c.e0 != 5) {
- this.d = document.getElementById(gci(this.p.c.objectId, gc));
- this.dpd = document.getElementById(gci(this.p.c.objectId, gc) + "c");
- var tempDpd = document.getElementById(gci(this.p.c.objectId, gc) + ".png");
- if (tempDpd) {
- this.dpd = tempDpd;
- }
- var tempDpd = document.getElementById(gci(this.p.c.objectId, gc) + ".gif");
- if (tempDpd) {
- this.dpd = tempDpd;
- }
- var tempDpd = document.getElementById(gci(this.p.c.objectId, gc) + ".jpg");
- if (tempDpd) {
- this.dpd = tempDpd;
- }
-
- } else {
- this.d = document.getElementById(this.p.c.objectId);
- this.dpd = document.getElementById(this.p.c.objectId + "c")
- var tempDpd = document.getElementById(this.p.c.objectId, gc + ".png");
- if (tempDpd) {
- this.dpd= tempDpd;
- }
- var tempDpd = document.getElementById(this.p.c.objectId, gc + ".gif");
- if (tempDpd) {
- this.dpd = tempDpd;
- }
- var tempDpd = document.getElementById(this.p.c.objectId, gc + ".jpg");
- if (tempDpd) {
- this.dpd = tempDpd;
- }
- }
- if (this.dpd == null)
- this.dpd = this.d;
- this.h = this.d.style.height ? parseFloat(this.d.style.height) : this.d.parentNode.style.height ? parseFloat(this.d.parentNode.style.height) : parseFloat(this.d.scrollHeight);
- this.w = this.d.style.width ? parseFloat(this.d.style.width) : this.d.parentNode.style.width ? parseFloat(this.d.parentNode.style.width) : parseFloat(this.d.scrollWidth);
- if (this.h == 0 || this.w == 0) {
- var b = CalculateDimensions(this.dpd);
- this.h = b.height;
- this.w = b.width
- }
- this.l = this.d.style.left ? parseFloat(this.d.style.left) : parseFloat(this.d.parentNode.style.left);
- this.t = this.d.style.top ? parseFloat(this.d.style.top) : parseFloat(this.d.parentNode.style.top);
- this.op = parseFloat(DOPStyle.s(this.dpd, "opacity"));
- this.st = gt;
- this.setTrasform = function () {
- this.trns = this.p.getTranslate();
- this.scl = this.p.getScale();
- this.rta = this.p.getRotate();
- this.skw = this.p.getSkewX()
- };
- this.reset = function () {
- this.d.style.height = this.h + "px";
- this.d.style.width = this.w + "px";
- this.d.style.left = this.l + "px";
- this.d.style.top = this.t + "px";
- this.dpd.style.opacity = this.op;
- this.p.setTranslate(this.trns.x, this.trns.y);
- this.p.setScale(this.scl.x, this.scl.y);
- this.p.setRotate(this.rta);
- this.p.setSkewX(this.skw)
- }
- };
- BaseAnimation = function (c) {
- this.c = c;
- this.blks = new Array;
- this.gtime = function () {
- var a = gt;
- if (this.c.repetitions < 0 && this.rpdCnt > 0)
- a = (new Date).getTime();
- return a
- };
- this.initBaseAnimation = function (a) {
- if (typeof this.sV != "undefined")
- return false;
- this.sV = new initDimensions(this);
- this.sV.setTrasform();
- this.rpdCnt = 0;
- this.initT = this.st = a;
- if (typeof this.c.c6 != "undefined")
- this.aSrc = document.getElementById(this.c.c6).src;
- this.at = typeof this.c.e1 == "undefined" ? 1 : this.c.e1;
- this.InitAnimBlocks();
- return true
- };
- this.InitAnimBlocks = function () {
- if (this.at == 1)
- return;
- var p = this;
- var cBlk = 0;
- var cPara = 0;
- var cBlkI = 1;
- while (1) {
- var nblkId = p.c.e3[cPara] + "b" + cBlkI;
- if (null != document.getElementById(nblkId)) {
- var nBtm = p.c.e0 == 3 ? p.st + p.c.start + p.c.length + p.c.e2 * cBlk : p.st + p.c.e2 * cBlk;
- var pc = p.c;
- var nC = {
- objectId : nblkId,
- start : pc.start,
- length : pc.length,
- repetitions : 0,
- state: pc.state,
- name : pc.name,
- c7 : pc.c7,
- additionalData: pc.additionalData,
- additionalData2: pc.additionalData2,
- scaleX: pc.scaleX,
- scaleY: pc.scaleY,
- color: pc.color,
- transparency: pc.transparency,
- s6 : pc.s6,
- v : pc.v0,
- e0 : 5,
- e1 : 1,
- e2 : pc.e2,
- e3 : 0
- };
- if (typeof window[p.c.name] != "undefined")
- p.blks[cBlk] = eval("new " + p.c.name + "(nC)");
- else
- p.blks[cBlk] = new Fade(nC);
- var blk = p.blks[cBlk];
- blk.Initialize(nBtm);
- cBlk++;
- cBlkI++
- } else if (cPara + 1 < p.c.e3.length) {
- cPara++;
- cBlkI = 1
- } else
- break
- }
- };
- this.resetBaseAnimation = function () {
- this.pozd = false;
- this.stpd = false;
- for (x in this.blks) {
- this.blks[x].pozd = false;
- this.blks[x].stpd = false
- }
- };
- this.pause = function () {
- this.pozd = true;
- for (x in this.blks)
- this.blks[x].pozd = true
- };
- this.stop = function () {
- this.pozd = false;
- this.stpd = true;
- for (x in this.blks) {
- this.blks[x].pozd = false;
- this.blks[x].stpd = true
- }
- };
- this.reset = function () {
- this.rpdCnt = 0;
- this.st = this.initT;
- this.stop();
- this.stopAudio();
- if (typeof this.dltCv != "undefined")
- this.dltCv();
- if (typeof this.mc != "undefined")
- this.mc.cvt.clearRect(0, 0, this.w, this.h);
- if (typeof this.sV != "undefined")
- this.sV.reset();
- for (x in this.blks)
- this.blks[x].reset()
- };
- this.stopAudio = function () {
- if (this.aSrc == audioEl.src && audioEl.canPlayType) {
- if (!audioEl.paused)
- audioEl.pause();
- if (!this.pozd)
- audioEl.src = null
- }
- };
- this.playAudio = function () {
- if (!audioEl.canPlayType || typeof this.aSrc == "undefined" || this.aSrc == audioEl.src && !audioEl.paused)
- return;
- if (this.aSrc != audioEl.src)
- audioEl.src = this.aSrc;
- audioEl.play()
- };
- this.doRepeat = function () {
- this.rpdCnt++;
- if (this.rpdCnt < this.c.repetitions || this.c.repetitions < 0) {
- this.st = this.c.repetitions < 0 ? this.gtime() : this.st + this.c.length;
- this.stopAudio();
- this.play()
- }
- };
- this.setTranslate = function (a, b) {
- var c = StylePpty.Transform();
- var d = this.sV.d.style[c];
- var e = /translate\(+[^\)]+\)/;
- var f = "translate(" + a + "px," + b + "px)";
- if (-1 != d.search(e))
- d = d.replace(e, f);
- else if (null != d)
- d = d + f;
- this.sV.d.style[c] = d
- };
- this.getTranslate = function () {
- var a = {
- x : 0,
- y : 0
- };
- var b = StylePpty.Transform();
- var c = this.sV.d.style[b];
- var d = /translate\(+[^\)]+\)/;
- var e = c.match(d);
- if (null != e) {
- var f = e[0].match(/[0-9.-]+|[\d]+[^p]/g);
- a.x = parseFloat(f[0]);
- a.y = parseFloat(f[1])
- }
- return a
- };
- this.setScale = function (a, b) {
- var c = StylePpty.Transform();
- var d = this.sV.d.style[c];
- var e = /scale\(+[^\)]+\)/;
- var f = "scale(" + a + "," + b + ")";
- if (-1 != d.search(e))
- d = d.replace(e, f);
- else if (null != d)
- d = d + f;
- this.sV.d.style[c] = d
- };
- this.getScale = function () {
- var a = {
- x : 1,
- y : 1
- };
- var b = StylePpty.Transform();
- var c = this.sV.d.style[b];
- var d = /scale\(+[^\)]+\)/;
- var e = c.match(d);
- if (null != e) {
- var f = e[0].match(/[0-9.-]+|[\d]+[^p]/g);
- a.x = parseFloat(f[0]);
- a.y = parseFloat(f[1])
- }
- return a
- };
- this.setRotate = function (a) {
- var b = StylePpty.Transform();
- var c = this.sV.d.style[b];
- var d = /rotate\(+[^\)]+\)/;
- var e = "rotate(" + a + "deg)";
- if (-1 != c.search(d))
- c = c.replace(d, e);
- else if (null != c)
- c = c + e;
- this.sV.d.style[b] = c
- };
- this.getRotate = function () {
- var a = 0;
- var b = StylePpty.Transform();
- var c = this.sV.d.style[b];
- var d = /rotate\(+[^\)]+\)/;
- var e = c.match(d);
- if (null != e) {
- var f = e[0].match(/[0-9.-]+|[\d]+[^d]/g);
- a = parseFloat(f[0])
- }
- return a
- };
- this.setSkewX = function (a) {
- var b = StylePpty.Transform();
- var c = this.sV.d.style[b];
- var d = /skewX\(+[^\)]+\)/;
- var e = "skewX(" + a + "deg)";
- if (-1 != c.search(d))
- c = c.replace(d, e);
- else if (null != c)
- c = c + e;
- this.sV.d.style[b] = c
- };
- this.getSkewX = function () {
- var a = 0;
- var b = StylePpty.Transform();
- var c = this.sV.d.style[b];
- var d = /skewX\(+[^\)]+\)/;
- var e = c.match(d);
- if (null != e) {
- var f = e[0].match(/[0-9.-]+|[\d]+[^d]/g);
- a = parseFloat(f[0])
- }
- return a
- };
- this.plyBlockAnim = function () {
- function c() {
- if (a.pozd || a.stpd || b >= a.blks.length)
- return;
- while (1) {
- if (b >= a.blks.length)
- return;
- var d = a.blks[b];
- if (d.st <= a.gtime()) {
- d.play();
- b++
- } else
- break
- }
- CallbackFn(c)
- }
- var a = this;
- if (a.at == 1)
- return;
- var b = 0;
- CallbackFn(c)
- }
- };
- //REF
- CanvasEl = function (width, height) {
- this.cv = document.createElement("canvas");
- this.cv.height = height;
- this.cv.width = width;
- this.cvt = this.cv.getContext("2d");
- this.bdrawn = false;
- //REF
- this.drawCmpltDiv = function (a, b, c) {
- var childNode = a.childNodes;
- var childNodeLength = childNode.length;
- for (var childInd = 0; childInd < childNodeLength; childInd++) {
- var child = childNode[childInd];
- if (child.nodeType != 1 || child.nodeName != "IMG")
- continue;
- var height = DOPStyle.s(a, "height");
- var width = DOPStyle.s(a, "width");
- var parentNodeHeight = DOPStyle.s(a.parentNode, "height");
- var parentNodeWidth = DOPStyle.s(a.parentNode, "width");
- var l = height && height != "100%" ? parseFloat(height) : parseFloat(parentNodeHeight);
- var m = width && width != "100%" ? parseFloat(width) : parseFloat(parentNodeWidth);
- this.cvt.drawImage(g, b, c, m, l)
- }
- for (var childInd = 0; childInd < childNodeLength; childInd++){
- var child = childNode[childInd];
- if (child.nodeType != 1 || child.nodeName != "PRE")
- continue;
- var n = child.style.left ? b + parseFloat(child.style.left) : b;
- var o = child.style.top ? c + parseFloat(child.style.top) : c;
- this.cvt.font = DOPStyle.s(g, "fontStyle") + " " + DOPStyle.s(g, "fontWeight") + " " + DOPStyle.s(g, "fontSize") + " " + DOPStyle.s(g, "fontFamily");
- this.cvt.fillStyle = DOPStyle.s(g, "color");
- this.cvt.textBaseline = "top";
- this.cvt.fillText(g.innerHTML, n, o)
- }
- for (var childInd = 0; childInd < childNodeLength; childInd++) {
- var child = childNode[childInd];
- var opacity = DOPStyle.s(child, "opacity");
- if (child.nodeType != 1 || child.nodeName != "DIV" || opacity == "0")
- continue;
- var left = DOPStyle.s(child, "left");
- var right = DOPStyle.s(child, "top");
- var n = left ? b + parseFloat(left) : 0;
- var o = right ? c + parseFloat(right) : 0;
- this.drawCmpltDiv(g, n, o)
- }
- this.bdrawn = true
- };
- this.drawDiv = function (a) {
- var b = a.getElementsByTagName("img");
- var c = new Image;
- var d = this;
- if (b.length > 0)
- c.src = b[0].src;
- else
- this.drawText(a);
- c.onload = function () {
- d.cvt.drawImage(c, 0, 0, c.width, c.height, 0, 0, d.cv.width, d.cv.height);
- d.drawText(a)
- }
- };
- //REF
- this.drawText = function (a) {
- var pre = a.getElementsByTagName("pre");
- var c = pre.length;
- for (var d = 0; d < c; d++) {
- var e = pre[d];
- this.cvt.font = DOPStyle.s(e, "fontStyle") + " " + DOPStyle.s(e, "fontWeight") + " " + DOPStyle.s(e, "fontSize") + " " + DOPStyle.s(e, "fontFamily");
- this.cvt.fillStyle = DOPStyle.s(e, "color");
- this.cvt.textBaseline = "bottom";
- this.cvt.fillText(e.innerHTML, parseFloat(e.style.left), parseFloat(e.style.top) + e.scrollHeight)
- }
- this.bdrawn = true
- };
- this.apndTo = function (a) {
- a.appendChild(this.cv)
- };
- this.draw = function (a, b) {
- if (a.bdrawn) {
- if (b)
- this.cvt.clearRect(0, 0, this.cv.width, this.cv.height);
- this.cvt.drawImage(a.cv, 0, 0)
- }
- }
- };
- BCurve = function (a, b, c, d, e, f, g, h, i) {
- this.x0 = a;
- this.y0 = b;
- this.x1 = c;
- this.y1 = d;
- this.x2 = e;
- this.y2 = f;
- this.x3 = g;
- this.y3 = h;
- this.dn = i;
- this.getPointAfterT = function (a) {
- var b = 1 / this.dn * a;
- var c = 3 * (this.x1 - this.x0);
- var d = 3 * (this.x2 - this.x1) - c;
- var e = this.x3 - this.x0 - c - d;
- var f = 3 * (this.y1 - this.y0);
- var g = 3 * (this.y2 - this.y1) - f;
- var h = this.y3 - this.y0 - f - g;
- var i = e * b * b * b + d * b * b + c * b + this.x0;
- var j = h * b * b * b + g * b * b + f * b + this.y0;
- var k = {
- x : i,
- y : j
- };
- return k
- }
- };
- Line = function (a, b, c, d, e) {
- this.x0 = a;
- this.y0 = b;
- this.x1 = c;
- this.y1 = d;
- this.dn = e;
- this.xd = Math.abs(this.x0 - this.x1);
- this.yd = Math.abs(this.y0 - this.y1);
- this.getPointAfterT = function (a) {
- var b = this.xd / this.dn * a;
- var c = this.yd / this.dn * a;
- var d = this.x0 < this.x1 ? this.x0 + b : this.x0 - b;
- var e = this.y0 < this.y1 ? this.y0 + c : this.y0 - c;
- var f = {
- x : d,
- y : e
- };
- return f
- };
- this.getRevPointAfterT = function (a) {
- var b = this.xd / this.dn * a;
- var c = this.yd / this.dn * a;
- var d = this.x1 < this.x0 ? this.x1 + b : this.x1 - b;
- var e = this.y1 < this.y0 ? this.y1 + c : this.y1 - c;
- var f = {
- x : d,
- y : e
- };
- return f
- }
- };
- MotionNode = function (points) {
- var pointsArray = points.split(",");
- this.tp = pointsArray[0];
- this.x0 = parseFloat(pointsArray[1]);
- this.y0 = parseFloat(pointsArray[2]);
- this.dn = 0;
- switch (this.tp) {
- case "L":
- this.x1 = parseFloat(pointsArray[3]);
- this.y1 = parseFloat(pointsArray[4]);
- this.dn = parseFloat(pointsArray[5]) * 1e3;
- this.ln = new Line(this.x0, this.y0, this.x1, this.y1, this.dn);
- break;
- case "C":
- this.x1 = parseFloat(pointsArray[3]);
- this.y1 = parseFloat(pointsArray[4]);
- this.x2 = parseFloat(pointsArray[5]);
- this.y2 = parseFloat(pointsArray[6]);
- this.x3 = parseFloat(pointsArray[7]);
- this.y3 = parseFloat(pointsArray[8]);
- this.dn = parseFloat(pointsArray[9]) * 1e3;
- this.bc = new BCurve(this.x0, this.y0, this.x1, this.y1, this.x2, this.y2, this.x3, this.y3, this.dn);
- break
- }
- this.getNextPoint = function (x, y) {
- var c;
- switch (this.tp) {
- case "M":
- case "E":
- c = {
- x : this.x0,
- y : this.y0
- };
- break;
- case "L":
- c = this.ln.getPointAfterT(y);
- break;
- case "C":
- c = this.bc.getPointAfterT(y);
- break
- }
- return c
- }
- };
- MotionAnimation = function (point) {
- this.pnt = point;
- this.motionNodeArray = new Array;
- this.cNode = 0;
- this.prvTm = 0;
- this.MCmpltd = false;
- var b = this.pnt.c.additionalData.split("|");
- var c = 0;
- for (var i = 0; i < b.length; i++) {
- if (b[i].length > 1)
- this.motionNodeArray[c++] = new MotionNode(b[i].replace(" ", ","))
- }
- this.resetMotionAnimation = function () {
- if (!this.pozd) {
- this.cNode = 0;
- this.prvTm = 0;
- this.MCmpltd = false
- }
- this.pnt.resetBaseAnimation()
- };
- this.setEndPoint = function () {
- var point = this.motionNodeArray[this.motionNodeArray.length - 1];
- this.pnt.setTranslate(point.x0, point.y0)
- };
- this.getNextPoint = function (x, y) {
- var c;
- if (this.MCmpltd)
- return c;
- if (this.cNode >= this.motionNodeArray.length)
- this.cNode = this.motionNodeArray.length - 1;
- var d = this.motionNodeArray[this.cNode];
- if (d.tp == "M" && y < 20 || d.tp == "E") {
- c = d.getNextPoint(x, y - this.prvTm);
- this.cNode++;
- return c
- } else if (y > this.prvTm + d.dn) {
- this.prvTm += d.dn;
- this.cNode++;
- return this.getNextPoint(x, y)
- } else {
- c = d.getNextPoint(x, y - this.prvTm);
- return c
- }
- }
- };
|