LogicFlow
LogicFlow copied to clipboard
transformModel优化
在实际应用中,视图的x、y、zoom是很有必要记录下来的,应提供getViewport方法获取、或提供viewport对象。
针对缩放,应提供zoomTo对zoom进行设置,可提供zoomIn、zoomOut方法根据比例进行缩放,更为优雅!
关于maxZoom、minZoom通常不会进行多次设置,可通过options进行设置。
const lf = new LogicFlow({
maxZoom: 2,
minZoom: 1,
position: [x, y]
})
lf.graphModel.getViewport(); // {x, y, zoom}
lf.graphModel.setViewport({ x, y, zoom }); 同时设置x、y、zoom
lf.graphModel.zoomTo(1.5);
lf.graphModel.zoomIn();
lf.graphModel.zoomOut();
目前是把transformModel放到graphModel上,确实有点“深”,可以从文档上看看能不能写更具体点。至于提供这些方法,我觉得还是放到transformModel上好点,现在graphModel上方法有点多了。欢迎PR,把matrix的属性转换 为更加可读的属性。