canvas.d.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import Container from './container';
  2. import { ICanvas } from '../interfaces';
  3. import { CanvasCfg, Point, Renderer, Cursor } from '../types';
  4. declare abstract class Canvas extends Container implements ICanvas {
  5. constructor(cfg: CanvasCfg);
  6. getDefaultCfg(): {
  7. visible: boolean; /**
  8. * 获取画布的 cursor 样式
  9. * @return {Cursor}
  10. */
  11. capture: boolean;
  12. zIndex: number;
  13. };
  14. /**
  15. * @protected
  16. * 初始化容器
  17. */
  18. initContainer(): void;
  19. /**
  20. * @protected
  21. * 初始化 DOM
  22. */
  23. initDom(): void;
  24. /**
  25. * 创建画布容器
  26. * @return {HTMLElement} 画布容器
  27. */
  28. abstract createDom(): HTMLElement | SVGSVGElement;
  29. /**
  30. * @protected
  31. * 初始化绑定的事件
  32. */
  33. initEvents(): void;
  34. /**
  35. * @protected
  36. * 初始化时间轴
  37. */
  38. initTimeline(): void;
  39. /**
  40. * @protected
  41. * 修改画布对应的 DOM 的大小
  42. * @param {number} width 宽度
  43. * @param {number} height 高度
  44. */
  45. setDOMSize(width: number, height: number): void;
  46. changeSize(width: number, height: number): void;
  47. /**
  48. * 获取当前的渲染引擎
  49. * @return {Renderer} 返回当前的渲染引擎
  50. */
  51. getRenderer(): Renderer;
  52. /**
  53. * 获取画布的 cursor 样式
  54. * @return {Cursor}
  55. */
  56. getCursor(): Cursor;
  57. /**
  58. * 设置画布的 cursor 样式
  59. * @param {Cursor} cursor cursor 样式
  60. */
  61. setCursor(cursor: Cursor): void;
  62. getPointByEvent(ev: Event): Point;
  63. getClientByEvent(ev: Event): {
  64. x: number;
  65. y: number;
  66. };
  67. getPointByClient(clientX: number, clientY: number): Point;
  68. getClientByPoint(x: number, y: number): Point;
  69. draw(): void;
  70. /**
  71. * @protected
  72. * 销毁 DOM 容器
  73. */
  74. removeDom(): void;
  75. /**
  76. * @protected
  77. * 清理所有的事件
  78. */
  79. clearEvents(): void;
  80. isCanvas(): boolean;
  81. getParent(): any;
  82. destroy(): void;
  83. }
  84. export default Canvas;