首页 > 代码库 > mxGraph改变图形大小重置overlay位置
mxGraph改变图形大小重置overlay位置
要在改变图形大小的时候改变overlay的位置,那肯定就要对重置图形大小的方法进行改造了。下面是源文件中的代码
mxGraph.prototype.resizeCells = function(cells, bounds) { this.model.beginUpdate(); try { this.cellsResized(cells, bounds); this.fireEvent(new mxEventObject(mxEvent.RESIZE_CELLS, 'cells', cells, 'bounds', bounds)); } finally { this.model.endUpdate(); } return cells; };
我们要在这个方法中对overlay进行位置的改变,首先要获取到当前图形的overlays,在创建overlay的时候可以自定义overlay的一些属性,比方index,这样比较容易的定位具体的某个overlay,再根据条件变更其位置。
mxGraph.prototype.resizeCells = function (cells, bounds) { this.model.beginUpdate(); try { this.cellsResized(cells, bounds); this.fireEvent(new mxEventObject(mxEvent.RESIZE_CELLS, 'cells', cells, 'bounds', bounds)); var _this=this; $.each(cells,function(i,item){ var overlays = _this.getCellOverlays(item) ; $.each(overlays,function(j,overlay){ if(overlay.tooltip=='辐射图'){ if(ylCommon.isAllowEdit()){ overlay.offset.x=item.geometry.width - 35; }else{ overlay.offset.x=item.geometry.width - 15; } } if(overlay.image.src.indexOf('lock.png')>0){ overlay.offset.x=item.geometry.width - 15; } }); }); } finally { this.model.endUpdate(); } return cells; };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。