Tick3D.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /* *
  2. *
  3. * (c) 2010-2020 Torstein Honsi
  4. *
  5. * Extenstion for 3d axes
  6. *
  7. * License: www.highcharts.com/license
  8. *
  9. * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
  10. *
  11. * */
  12. 'use strict';
  13. import U from '../Utilities.js';
  14. var addEvent = U.addEvent, extend = U.extend, wrap = U.wrap;
  15. /* eslint-disable valid-jsdoc */
  16. /**
  17. * Tick with 3D support
  18. * @private
  19. * @class
  20. */
  21. var Tick3D = /** @class */ (function () {
  22. function Tick3D() {
  23. }
  24. /* *
  25. *
  26. * Static Functions
  27. *
  28. * */
  29. /**
  30. * @private
  31. */
  32. Tick3D.compose = function (TickClass) {
  33. addEvent(TickClass, 'afterGetLabelPosition', Tick3D.onAfterGetLabelPosition);
  34. var tickProto = TickClass.prototype;
  35. wrap(tickProto, 'getMarkPath', Tick3D.wrapGetMarkPath);
  36. };
  37. /**
  38. * @private
  39. */
  40. Tick3D.onAfterGetLabelPosition = function (e) {
  41. var axis3D = this.axis.axis3D;
  42. if (axis3D) {
  43. extend(e.pos, axis3D.fix3dPosition(e.pos));
  44. }
  45. };
  46. /**
  47. * @private
  48. */
  49. Tick3D.wrapGetMarkPath = function (proceed) {
  50. var chart = this.axis.chart;
  51. var axis3D = this.axis.axis3D;
  52. var path = proceed.apply(this, [].slice.call(arguments, 1));
  53. if (axis3D) {
  54. var start = path[0];
  55. var end = path[1];
  56. if (start[0] === 'M' && end[0] === 'L') {
  57. var pArr = [
  58. axis3D.fix3dPosition({ x: start[1], y: start[2], z: 0 }),
  59. axis3D.fix3dPosition({ x: end[1], y: end[2], z: 0 })
  60. ];
  61. return this.axis.chart.renderer.toLineSegments(pArr);
  62. }
  63. }
  64. return path;
  65. };
  66. return Tick3D;
  67. }());
  68. export default Tick3D;