| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | /** * Implements abstract vector canvas. * @constructor * @param {HTMLElement} container Container to put element to. * @param {Number} width Width of canvas. * @param {Number} height Height of canvas. */jvm.AbstractCanvasElement = function(container, width, height){  this.container = container;  this.setSize(width, height);  this.rootElement = new jvm[this.classPrefix+'GroupElement']();  this.node.appendChild( this.rootElement.node );  this.container.appendChild(this.node);}/** * Add element to the certain group inside of the canvas. * @param {HTMLElement} element Element to add to canvas. * @param {HTMLElement} group Group to add element into or into root group if not provided. */jvm.AbstractCanvasElement.prototype.add = function(element, group){  group = group || this.rootElement;  group.add(element);  element.canvas = this;}/** * Create path and add it to the canvas. * @param {Object} config Parameters of path to create. * @param {Object} style Styles of the path to create. * @param {HTMLElement} group Group to add path into. */jvm.AbstractCanvasElement.prototype.addPath = function(config, style, group){  var el = new jvm[this.classPrefix+'PathElement'](config, style);  this.add(el, group);  return el;};/** * Create circle and add it to the canvas. * @param {Object} config Parameters of path to create. * @param {Object} style Styles of the path to create. * @param {HTMLElement} group Group to add circle into. */jvm.AbstractCanvasElement.prototype.addCircle = function(config, style, group){  var el = new jvm[this.classPrefix+'CircleElement'](config, style);  this.add(el, group);  return el;};/** * Add group to the another group inside of the canvas. * @param {HTMLElement} group Group to add circle into or root group if not provided. */jvm.AbstractCanvasElement.prototype.addGroup = function(parentGroup){  var el = new jvm[this.classPrefix+'GroupElement']();  if (parentGroup) {    parentGroup.node.appendChild(el.node);  } else {    this.node.appendChild(el.node);  }  el.canvas = this;  return el;};
 |