diff options
| author | chm@openerp.com <> | 2014-03-26 13:43:39 +0100 |
|---|---|---|
| committer | chm@openerp.com <> | 2014-03-26 13:43:39 +0100 |
| commit | b39be63a8b8e20ae30ed62ecce4f4f677e7e8e01 (patch) | |
| tree | 3097c96d5d9473698e5821e114be8d4cebc026bb /addons/website/static/src | |
| parent | 26692117b6daedf69559c5f183f1e76682623ce7 (diff) | |
[IMP] website: fix and add rotationStep option for jsuery transfo
bzr revid: chm@openerp.com-20140326124339-ll12dxd2qyo3gpi3
Diffstat (limited to 'addons/website/static/src')
| -rw-r--r-- | addons/website/static/src/js/jQuery.transfo.js | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/addons/website/static/src/js/jQuery.transfo.js b/addons/website/static/src/js/jQuery.transfo.js index 84a32b3d046..d8e15ce4010 100644 --- a/addons/website/static/src/js/jQuery.transfo.js +++ b/addons/website/static/src/js/jQuery.transfo.js @@ -122,13 +122,17 @@ OTHER DEALINGS IN THE SOFTWARE. transfo.settings.scalex= transform.indexOf('scaleX') != -1 ? parseFloat(transform.match(/scaleX\(([^)]+)\)/)[1]) : 1; transfo.settings.scaley= transform.indexOf('scaleY') != -1 ? parseFloat(transform.match(/scaleY\(([^)]+)\)/)[1]) : 1; - transfo.settings.style = ($this.attr("style")||"").replace(/[^;]+transform[^;]+/g, ''); + transfo.settings.style = ($this.attr("style")||"").replace(/[^;]*transform[^;]+/g, ''); $this.attr("style", transfo.settings.style); transfo.settings.height = $this.innerHeight(); transfo.settings.width = $this.innerWidth(); transfo.settings.css = window.getComputedStyle($this[0], null); transfo.settings.pos = $this.offset(); + + transfo.settings.rotationStep = 5; + + console.log(transfo.settings); } function _bind ($this, transfo) { @@ -190,7 +194,11 @@ OTHER DEALINGS IN THE SOFTWARE. else if (event.pageY >= center.top && event.pageX < center.left) ang += 180; else if (event.pageY < center.top && event.pageX < center.left) ang += 360; - settings.angle = ang; + if (!event.ctrlKey) { + settings.angle = Math.round(ang / transfo.settings.rotationStep) * transfo.settings.rotationStep; + } else { + settings.angle = ang; + } // reset position : don't move center _targetCss($this, transfo); @@ -198,7 +206,7 @@ OTHER DEALINGS IN THE SOFTWARE. var x = center.left - new_center.left; var y = center.top - new_center.top; var angle = ang * rad; - settings.translatex += x*Math.cos(angle) - y*Math.sin(-angle); + settings.translatex += x*Math.cos(angle) - y*Math.sin(-angle); settings.translatey += - x*Math.sin(angle) + y*Math.cos(-angle); } else if (transfo.active.type == "position") { @@ -238,6 +246,12 @@ OTHER DEALINGS IN THE SOFTWARE. } } + settings.angle = Math.round(settings.angle); + settings.translatex = Math.round(settings.translatex); + settings.translatey = Math.round(settings.translatey); + settings.scalex = Math.round(settings.scalex*100)/100; + settings.scaley = Math.round(settings.scaley*100)/100; + _targetCss($this, transfo); return false; } |
