Painter.d.ts 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import Layer, { LayerConfig } from './Layer';
  2. import Displayable from '../graphic/Displayable';
  3. import { ZLevel } from '../core/types';
  4. import { GradientObject } from '../graphic/Gradient';
  5. import { ImagePatternObject } from '../graphic/Pattern';
  6. import Storage from '../Storage';
  7. import { PainterBase } from '../PainterBase';
  8. interface CanvasPainterOption {
  9. devicePixelRatio?: number;
  10. width?: number | string;
  11. height?: number | string;
  12. useDirtyRect?: boolean;
  13. }
  14. export declare type CanvasPainterRefreshOpt = {
  15. paintAll?: boolean;
  16. refresh?: boolean;
  17. refreshHover?: boolean;
  18. };
  19. export default class CanvasPainter implements PainterBase {
  20. type: string;
  21. root: HTMLElement;
  22. dpr: number;
  23. storage: Storage;
  24. private _i;
  25. private _singleCanvas;
  26. private _opts;
  27. private _prevDisplayList;
  28. private _layerConfig;
  29. private _needsManuallyCompositing;
  30. private _width;
  31. private _height;
  32. private _domRoot;
  33. private _hoverLayerDirty;
  34. private _redrawId;
  35. private _backgroundColor;
  36. constructor(root: HTMLElement, storage: Storage, opts: CanvasPainterOption, id: number);
  37. getType(): string;
  38. isSingleCanvas(): boolean;
  39. getViewportRoot(): HTMLElement;
  40. getViewportRootOffset(): {
  41. offsetLeft: number;
  42. offsetTop: number;
  43. };
  44. refresh(optOrPaintAll?: CanvasPainterRefreshOpt | CanvasPainterRefreshOpt['paintAll']): this;
  45. private _paintHoverList;
  46. getHoverLayer(): Layer;
  47. paintOne(ctx: CanvasRenderingContext2D, el: Displayable): void;
  48. private _paintList;
  49. private _compositeManually;
  50. private _doPaintList;
  51. private _paintPerCursor;
  52. private _paintPerCursorInRect;
  53. getLayer(zlevel: ZLevel, virtual?: boolean): Layer;
  54. private _ensureLayer;
  55. insertLayer(zlevel: ZLevel, layer: Layer): void;
  56. private _insertLayer;
  57. eachLayer<T>(cb: (this: T, layer: Layer, zlevel: number) => void, context?: T): void;
  58. eachBuiltinLayer<T>(cb: (this: T, layer: Layer, zlevel: number) => void, context?: T): void;
  59. eachOtherLayer<T>(cb: (this: T, layer: Layer, z: number) => void, context?: T): void;
  60. getLayers(): Record<string, Layer>;
  61. private _updateLayerStatus;
  62. clear(): this;
  63. setBackgroundColor(backgroundColor: string | GradientObject | ImagePatternObject): void;
  64. configLayer(zlevel: number, config: LayerConfig): void;
  65. delLayer(zlevel: number): void;
  66. resize(width?: number | string, height?: number | string): this;
  67. clearLayer(zlevel: number): void;
  68. dispose(): void;
  69. getRenderedCanvas(opts?: {
  70. backgroundColor?: string | GradientObject | ImagePatternObject;
  71. pixelRatio?: number;
  72. }): HTMLCanvasElement;
  73. getWidth(): number;
  74. getHeight(): number;
  75. }
  76. export {};