
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* 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.
*/


/**
 * AUTO-GENERATED FILE. DO NOT MODIFY.
 */

import { __extends } from "tslib";
import Path from 'tvrender/lib/graphic/Path.js';
var MarkPathShape = /** @class */function () {
  function MarkPathShape() {}
  return MarkPathShape;
}();
var triangleWidth = 4;
var triangleHeight = 3;
var MarkPath = /** @class */function (_super) {
  __extends(MarkPath, _super);
  function MarkPath(opts) {
    var _this = _super.call(this, opts) || this;
    _this.type = 'markPath';
    return _this;
  }
  MarkPath.prototype.getDefaultShape = function () {
    return new MarkPathShape();
  };
  MarkPath.prototype.buildPath = function (ctx, shape) {
    var typeArray = shape.typeArray;
    var list = typeArray.buffer();
    var size = typeArray.length();
    for (var i = 0; i < size;) {
      var x1 = list[i++] - 1;
      var x2 = list[i++];
      var y1 = list[i++];
      var y2 = list[i++];
      ctx.moveTo(x1, y1);
      ctx.lineTo(x1 - triangleWidth, y1 + triangleHeight);
      ctx.lineTo(x1 - triangleWidth, y1 - triangleHeight);
      ctx.lineTo(x1, y1);
      ctx.moveTo(x1, y2);
      ctx.lineTo(x1 - triangleWidth, y2 + triangleHeight);
      ctx.lineTo(x1 - triangleWidth, y2 - triangleHeight);
      ctx.lineTo(x1, y2);
    }
  };
  return MarkPath;
}(Path);
export default MarkPath;