UNPKG

@antv/g6

Version:

graph visualization frame work

39 lines (35 loc) 1.25 kB
/** * @fileOverview freeze size group * @author huangtonger@aliyun.com */ var G = require('@antv/g'); var Util = require('../../util/'); function extend(child, parent, augment) { var canvasElement = function canvasElement(cfg) { canvasElement.superclass.constructor.call(this, cfg); }; var svgElement = function svgElement(cfg) { svgElement.superclass.constructor.call(this, cfg); }; Util.extend(canvasElement, G.canvas[parent]); Util.extend(svgElement, G.svg[parent]); Util.augment(canvasElement, augment); Util.augment(svgElement, augment); G.canvas[child] = canvasElement; G.svg[child] = svgElement; } extend('RootGroup', 'Group', { drawInner: function drawInner(context) { var _this = this; this.deepEach(function (child) { var freezePoint = child.get('freezePoint'); var freezable = _this.get('freezable'); var scale = _this.getMatrix()[0]; if (freezable !== false && child.isShape && freezePoint && child.get('visible')) { child.initTransform(); child.transform([['t', -freezePoint.x, -freezePoint.y], ['s', 1 / scale, 1 / scale], ['t', freezePoint.x, freezePoint.y]]); } }); this.constructor.superclass.drawInner.call(this, context); } });