123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- /* *
- *
- * (c) 2017 Highsoft AS
- * Authors: Lars A. V. Cabrera
- *
- * License: www.highcharts.com/license
- *
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
- *
- * */
- 'use strict';
- import SVGRenderer from '../Core/Renderer/SVG/SVGRenderer.js';
- var symbols = SVGRenderer.prototype.symbols;
- /* *
- *
- * Functions
- *
- * */
- /**
- * Creates an arrow symbol. Like a triangle, except not filled.
- * ```
- * o
- * o
- * o
- * o
- * o
- * o
- * o
- * ```
- *
- * @private
- * @function
- *
- * @param {number} x
- * x position of the arrow
- *
- * @param {number} y
- * y position of the arrow
- *
- * @param {number} w
- * width of the arrow
- *
- * @param {number} h
- * height of the arrow
- *
- * @return {Highcharts.SVGPathArray}
- * Path array
- */
- function arrow(x, y, w, h) {
- return [
- ['M', x, y + h / 2],
- ['L', x + w, y],
- ['L', x, y + h / 2],
- ['L', x + w, y + h]
- ];
- }
- /**
- * Creates a half-width arrow symbol. Like a triangle, except not filled.
- * ```
- * o
- * o
- * o
- * o
- * o
- * ```
- *
- * @private
- * @function
- *
- * @param {number} x
- * x position of the arrow
- *
- * @param {number} y
- * y position of the arrow
- *
- * @param {number} w
- * width of the arrow
- *
- * @param {number} h
- * height of the arrow
- *
- * @return {Highcharts.SVGPathArray}
- * Path array
- */
- function arrowHalf(x, y, w, h) {
- return arrow(x, y, w / 2, h);
- }
- /**
- * Creates a left-oriented triangle.
- * ```
- * o
- * ooooooo
- * ooooooooooooo
- * ooooooo
- * o
- * ```
- *
- * @private
- * @function
- *
- * @param {number} x
- * x position of the triangle
- *
- * @param {number} y
- * y position of the triangle
- *
- * @param {number} w
- * width of the triangle
- *
- * @param {number} h
- * height of the triangle
- *
- * @return {Highcharts.SVGPathArray}
- * Path array
- */
- function triangleLeft(x, y, w, h) {
- return [
- ['M', x + w, y],
- ['L', x, y + h / 2],
- ['L', x + w, y + h],
- ['Z']
- ];
- }
- /**
- * Creates a half-width, left-oriented triangle.
- * ```
- * o
- * oooo
- * ooooooo
- * oooo
- * o
- * ```
- *
- * @private
- * @function
- *
- * @param {number} x
- * x position of the triangle
- *
- * @param {number} y
- * y position of the triangle
- *
- * @param {number} w
- * width of the triangle
- *
- * @param {number} h
- * height of the triangle
- *
- * @return {Highcharts.SVGPathArray}
- * Path array
- */
- function triangleLeftHalf(x, y, w, h) {
- return triangleLeft(x, y, w / 2, h);
- }
- symbols.arrow = arrow;
- symbols['arrow-filled'] = triangleLeft;
- symbols['arrow-filled-half'] = triangleLeftHalf;
- symbols['arrow-half'] = arrowHalf;
- symbols['triangle-left'] = triangleLeft;
- symbols['triangle-left-half'] = triangleLeftHalf;
- /* *
- *
- * Default Export
- *
- * */
- export default symbols;
|