Layer.d.ts 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import * as util from '../core/util';
  2. import { ImagePatternObject } from '../graphic/Pattern';
  3. import CanvasPainter from './Painter';
  4. import { GradientObject } from '../graphic/Gradient';
  5. import { IncrementalId, ZLevel, ZLevel2 } from '../core/types';
  6. import Eventful from '../core/Eventful';
  7. import Element, { ElementEventCallback } from '../Element';
  8. import Displayable from '../graphic/Displayable';
  9. import BoundingRect from '../core/BoundingRect';
  10. export declare function isIncrementalLayer(layer: Layer): boolean;
  11. export interface LayerConfig {
  12. clearColor?: string | GradientObject | ImagePatternObject;
  13. motionBlur?: boolean;
  14. lastFrameAlpha?: number;
  15. }
  16. export interface LayerDrawCursor {
  17. key: IncrementalId;
  18. used: boolean;
  19. drawIdx: number;
  20. notClearIdx: number;
  21. startIdx: number;
  22. endIdx: number;
  23. endIdxNew: number;
  24. first: Element['id'];
  25. last: Element['id'];
  26. }
  27. declare type LayerDrawCursorStartEnd = Pick<LayerDrawCursor, 'startIdx' | 'endIdx'>;
  28. export default class Layer extends Eventful {
  29. id: string;
  30. dom: HTMLCanvasElement;
  31. domBack: HTMLCanvasElement;
  32. ctx: CanvasRenderingContext2D;
  33. ctxBack: CanvasRenderingContext2D;
  34. painter: CanvasPainter;
  35. clearColor: string | GradientObject | ImagePatternObject;
  36. motionBlur: boolean;
  37. lastFrameAlpha: number;
  38. dpr: number;
  39. virtual: boolean;
  40. config: {};
  41. zlevel: ZLevel;
  42. zlevel2: ZLevel2;
  43. maxRepaintRectCount: number;
  44. private _paintRects;
  45. __dirty: boolean;
  46. __firstTimePaint: boolean;
  47. __cursorStack: IncrementalId[];
  48. __cursors: util.HashMap<LayerDrawCursor, IncrementalId>;
  49. __prevIdx: LayerDrawCursorStartEnd;
  50. __builtin__: boolean;
  51. constructor(id: string | HTMLCanvasElement, painter: CanvasPainter, dpr?: number);
  52. afterBrush(): void;
  53. initContext(): void;
  54. setUnpainted(): void;
  55. createBackBuffer(): void;
  56. createRepaintRects(displayList: Displayable[], prevList: Displayable[], viewWidth: number, viewHeight: number): BoundingRect[];
  57. debugGetPaintRects(): BoundingRect[];
  58. resize(width: number, height: number): void;
  59. clear(clearAll?: boolean, clearColor?: string | GradientObject | ImagePatternObject, repaintRects?: BoundingRect[]): void;
  60. refresh: (clearColor?: string | GradientObject | ImagePatternObject) => void;
  61. renderToCanvas: (ctx: CanvasRenderingContext2D) => void;
  62. onclick: ElementEventCallback<unknown, this>;
  63. ondblclick: ElementEventCallback<unknown, this>;
  64. onmouseover: ElementEventCallback<unknown, this>;
  65. onmouseout: ElementEventCallback<unknown, this>;
  66. onmousemove: ElementEventCallback<unknown, this>;
  67. onmousewheel: ElementEventCallback<unknown, this>;
  68. onmousedown: ElementEventCallback<unknown, this>;
  69. onmouseup: ElementEventCallback<unknown, this>;
  70. oncontextmenu: ElementEventCallback<unknown, this>;
  71. ondrag: ElementEventCallback<unknown, this>;
  72. ondragstart: ElementEventCallback<unknown, this>;
  73. ondragend: ElementEventCallback<unknown, this>;
  74. ondragenter: ElementEventCallback<unknown, this>;
  75. ondragleave: ElementEventCallback<unknown, this>;
  76. ondragover: ElementEventCallback<unknown, this>;
  77. ondrop: ElementEventCallback<unknown, this>;
  78. }
  79. export {};