LogicFlow icon indicating copy to clipboard operation
LogicFlow copied to clipboard

transformModel优化

Open shanquanyaoyue opened this issue 2 years ago • 1 comments

在实际应用中,视图的xyzoom是很有必要记录下来的,应提供getViewport方法获取、或提供viewport对象。 针对缩放,应提供zoomTozoom进行设置,可提供zoomInzoomOut方法根据比例进行缩放,更为优雅! 关于maxZoomminZoom通常不会进行多次设置,可通过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();

shanquanyaoyue avatar Nov 24 '22 09:11 shanquanyaoyue

目前是把transformModel放到graphModel上,确实有点“深”,可以从文档上看看能不能写更具体点。至于提供这些方法,我觉得还是放到transformModel上好点,现在graphModel上方法有点多了。欢迎PR,把matrix的属性转换 为更加可读的属性。

towersxu avatar Dec 04 '22 10:12 towersxu