Painter.d.ts 2.7 KB

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