PainterBase.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { GradientObject } from './graphic/Gradient';
  2. import { PatternObject } from './graphic/Pattern';
  3. import { Dictionary, NullUndefined } from './core/types';
  4. import { CanvasPainterRefreshOpt } from './canvas/Painter';
  5. // interface PainterOption {
  6. // width?: number | string // Can be 10 / 10px / auto
  7. // height?: number | string
  8. // }
  9. export interface PainterBase {
  10. type: string
  11. // root will be undefined if ssr is true
  12. root?: HTMLElement
  13. // If ssr only
  14. ssrOnly?: boolean
  15. // constructor(dom: HTMLElement, storage: Storage, opts: PainterOption, id: number): void
  16. resize(width?: number | string, height?: number | string): void
  17. refresh(opt?: CanvasPainterRefreshOpt | NullUndefined): void
  18. clear(): void
  19. // must be given if ssr is true.
  20. renderToString?(): string;
  21. getType: () => string
  22. getWidth(): number
  23. getHeight(): number
  24. dispose(): void
  25. getViewportRoot: () => HTMLElement
  26. getViewportRootOffset: () => {offsetLeft: number, offsetTop: number}
  27. configLayer(zlevel: number, config: Dictionary<any>): void
  28. setBackgroundColor(backgroundColor: string | GradientObject | PatternObject): void
  29. }