/* * Copyright [2015] [wisemapping] * * Licensed under WiseMapping Public License, Version 1.0 (the "License"). * It is basically the Apache License, Version 2.0 (the "License") plus the * "powered by wisemapping" text requirement on every single page; * you may not use this file except in compliance with the License. * You may obtain a copy of the license at * * http://www.wisemapping.org/license * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ const ElementPeer = require('./ElementPeer').default const ElipsePeer = new Class({ Extends: ElementPeer, initialize : function() { var svgElement = window.document.createElementNS(this.svgNamespace, 'ellipse'); this.parent(svgElement); this.attachChangeEventListener("strokeStyle", ElementPeer.prototype.updateStrokeStyle); this._position = {x:0, y:0}; }, setSize : function(width, height) { this.parent(width, height); if ($defined(width)) { this._native.setAttribute('rx', width / 2); } if ($defined(height)) { this._native.setAttribute('ry', height / 2); } var pos = this.getPosition(); this.setPosition(pos.x, pos.y); }, setPosition : function(cx, cy) { var size = this.getSize(); cx = cx + size.width / 2; cy = cy + size.height / 2; if ($defined(cx)) { this._native.setAttribute('cx', cx); } if ($defined(cy)) { this._native.setAttribute('cy', cy); } }, getPosition : function() { return this._position; } }); export default ElipsePeer;