"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var LinearMarker_1 = require("../LinearMarker"); var SvgHelper_1 = require("../../renderer/SvgHelper"); var ArrowMarker = (function (_super) { __extends(ArrowMarker, _super); function ArrowMarker() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'arrow'; _this.ARROW_SIZE = 6; return _this; } ArrowMarker.prototype.init = function () { _super.prototype.init.call(this); SvgHelper_1.SvgHelper.setAttributes(this.visual, [['class', 'arrow-marker']]); var tip = SvgHelper_1.SvgHelper.createPolygon("0,0 " + this.ARROW_SIZE + "," + this.ARROW_SIZE / 2 + " 0," + this.ARROW_SIZE, [['class', 'arrow-marker-tip']]); this.defs.push(SvgHelper_1.SvgHelper.createMarker('arrow-marker-head', 'auto', this.ARROW_SIZE, this.ARROW_SIZE, this.ARROW_SIZE - 1, this.ARROW_SIZE / 2, tip)); this.markerLine.setAttribute('marker-end', 'url(#arrow-marker-head'); }; ArrowMarker.createMarker = function (page) { var marker = new ArrowMarker(); marker.page = page; marker.init(); return marker; }; return ArrowMarker; }(LinearMarker_1.LinearMarker)); exports.ArrowMarker = ArrowMarker;