From 9487270e731ce9f71bee9e1eab6581569fc50c0e Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Sat, 18 Oct 2014 03:36:46 +0400 Subject: [PATCH] minor tweaks... Signed-off-by: Alex A. Naanou --- ui (gen4)/index.html | 12 ++++++------ ui (gen4)/lib/jli.js | 31 ++++++++++++++++++++++++++++++- ui (gen4)/ribbons.js | 9 +++++++-- 3 files changed, 43 insertions(+), 9 deletions(-) diff --git a/ui (gen4)/index.html b/ui (gen4)/index.html index 137d0cea..ff605ea7 100755 --- a/ui (gen4)/index.html +++ b/ui (gen4)/index.html @@ -47,15 +47,15 @@ /* basic animation... */ .viewer:not(.no-transitions) .ribbon-set { - -webkit-transition: all 0.2s ease, transform 0.2s linear/*, transform-origin 0s none*/; - -moz-transition: all 0.2s ease, transform 0.2s linear/*, transform-origin 0s none*/; - transition: all 0.2s ease, transform 0.2s linear/*, transform-origin 0s none*/; + -webkit-transition: all 0.2s linear, transform 0.2s linear; + -moz-transition: all 0.2s linear, transform 0.2s linear; + transition: all 0.2s linear, transform 0.2s linear; } .viewer:not(.no-transitions) .ribbon { - -webkit-transition: all 0.2s ease; - -moz-transition: all 0.2s ease; - transition: all 0.2s ease; + -webkit-transition: all 0.2s ease-out; + -moz-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; } .no-transitions { diff --git a/ui (gen4)/lib/jli.js b/ui (gen4)/lib/jli.js index b1dea7fc..ab814cb3 100755 --- a/ui (gen4)/lib/jli.js +++ b/ui (gen4)/lib/jli.js @@ -870,6 +870,7 @@ function stopAnimation(elem){ // XXX account for other transitions... +// XXX make a sync version... function setElementOffset(elem, l, t){ return setElementTransform(elem, [l, t]) } @@ -895,6 +896,34 @@ function setElementOrigin(elem, x, y, z){ }) } + +// a sync version of setElementOrigin(..), this will not trigger transforms... +function setElementOriginSync(elem, x, y, z){ + x = x == null ? '50%' : x + y = y == null ? '50%' : y + z = z == null ? '0' : z + var value = x +' '+ y +' '+ z + + elem = $(elem) + var e = elem[0] + + e.style.display = 'none' + // now kick the browser into recognition of our changes NOW ;) + getComputedStyle(e).display + + e.style['-o-transform-origin'] = value + e.style['-ms-transform-origin'] = value + e.style['-moz-transform-origin'] = value + e.style['-webkit-transform-origin'] = value + e.style['transform-origin'] = value + + e.style.display = '' + getComputedStyle(e).display + + return $(elem) +} + + // this is like setElementOrigin(..) but will compensate for element // shift when scaled... // NOTE: this will work only of translate is used for positioning... @@ -909,7 +938,7 @@ function shiftOriginTo(elem, l, t){ setElementOffset(elem, cl, ct) - return setElementOrigin(elem, l+'px', t+'px') + return setElementOriginSync(elem, l+'px', t+'px') } diff --git a/ui (gen4)/ribbons.js b/ui (gen4)/ribbons.js index 8618b92f..4a3b4af5 100755 --- a/ui (gen4)/ribbons.js +++ b/ui (gen4)/ribbons.js @@ -172,6 +172,7 @@ module.RibbonsPrototype = { // XXX need a better way of doing this... preventTransitions: function(){ this.viewer.addClass('no-transitions') + getComputedStyle(this.viewer[0]).style }, restoreTransitions: function(now){ // sync... @@ -276,7 +277,6 @@ module.RibbonsPrototype = { // // NOTE: this will also compensate for scaling. // - // XXX make this work sync without affecting animation... // XXX DEBUG: remove point updating when not needed... setOrigin: function(a, b){ //this.preventTransitions() @@ -299,7 +299,6 @@ module.RibbonsPrototype = { var t = (io.top - ro.top)/s + h/2 } - // XXX when transitions are enabled this will make the view jump... shiftOriginTo(ribbon_set, l, t) // XXX DEBUG: remove when done... @@ -1343,6 +1342,9 @@ module.RibbonsPrototype = { // center a ribbon vertically... // + // XXX offset and scale are not used... + // XXX custom align point woud also be nice... + // (top, bottom, center, %, px) centerRibbon: function(target, offset, scale){ var ribbon_set = this.viewer.find('.ribbon-set') @@ -1368,6 +1370,9 @@ module.RibbonsPrototype = { // center an image horizontally... // + // XXX offset is not used... + // XXX custom align point woud also be nice... + // (top, bottom, center, %, px) centerImage: function(target, mode, offset, scale){ target = this.getImage(target) scale = scale || this.getScale()