function fixTransformPoint() { var dc = fl.getDocumentDOM(); if(!dc.selection[0])return; dc.group(); var el = dc.selection[0]; var x = el.left; var y = el.top; dc.unGroup(); dc.setTransformationPoint({x:x, y:y}); } function moveElement(el, x, y) { if(!el)return; if(!(el instanceof Element))return; var dc = fl.getDocumentDOM(); dc.selectNone(); dc.selection = [el]; if(el.elementType == "shape") { if(x < -10000 || y < -10000 || x > 10000 || y > 10000) { // fl.trace("invalid position"); el.width = Math.round(el.width); el.height = Math.round(el.height); return; } } fixTransformPoint(); var w = Math.round(el.width); var h = Math.round(el.height); dc.setSelectionBounds({left:x, top:y, right:el.width+x,bottom:el.height+y}); el.width = w; el.height = h; } var sel_array = fl.getDocumentDOM().selection; var s; sel_array.sort(function(a, b) { if(a.depth > b.depth) { return -1; }else if(a.depth < b.depth){ return 1; } return 0; }) for (var i=0;i