@univerjs/engine-render 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/lib/cjs/index.js +2 -2
  2. package/lib/es/index.js +6938 -6543
  3. package/lib/types/base-object.d.ts +3 -2
  4. package/lib/types/basics/i-document-skeleton-cached.d.ts +1 -0
  5. package/lib/types/basics/interfaces.d.ts +1 -0
  6. package/lib/types/components/component.d.ts +1 -0
  7. package/lib/types/components/docs/doc-background.d.ts +13 -0
  8. package/lib/types/components/docs/doc-component.d.ts +12 -2
  9. package/lib/types/components/docs/document.d.ts +3 -13
  10. package/lib/types/components/docs/layout/block/paragraph/layout-ruler.d.ts +2 -1
  11. package/lib/types/components/docs/layout/block/paragraph/layout.d.ts +3 -2
  12. package/lib/types/components/docs/layout/block/paragraph/linebreaking.d.ts +3 -3
  13. package/lib/types/components/docs/layout/block/section.d.ts +4 -2
  14. package/lib/types/components/docs/layout/doc-skeleton.d.ts +3 -3
  15. package/lib/types/components/docs/layout/model/glyph.d.ts +1 -0
  16. package/lib/types/components/docs/layout/model/line.d.ts +2 -1
  17. package/lib/types/components/docs/layout/model/page.d.ts +2 -1
  18. package/lib/types/components/docs/layout/tools.d.ts +31 -5
  19. package/lib/types/components/extension.d.ts +1 -0
  20. package/lib/types/components/sheets/sheet-component.d.ts +4 -0
  21. package/lib/types/components/sheets/sheet-skeleton.d.ts +4 -0
  22. package/lib/types/components/sheets/spreadsheet.d.ts +4 -3
  23. package/lib/types/components/skeleton.d.ts +1 -0
  24. package/lib/types/engine.d.ts +0 -1
  25. package/lib/types/group.d.ts +1 -0
  26. package/lib/types/index.d.ts +1 -0
  27. package/lib/types/layer.d.ts +2 -0
  28. package/lib/types/scene-viewer.d.ts +1 -1
  29. package/lib/types/scene.input-manager.d.ts +4 -0
  30. package/lib/types/shape/index.d.ts +0 -1
  31. package/lib/umd/index.js +2 -2
  32. package/package.json +4 -4
  33. package/lib/types/components/docs/layout/block/paragraph/inline-drawing.d.ts +0 -5
  34. package/lib/types/shape/selection.d.ts +0 -17
@@ -1,3 +1,4 @@
1
+ import { Layer } from './layer';
1
2
  import { UniverRenderingContext } from './context';
2
3
  import { IViewportBound, Vector2 } from './basics/vector2';
3
4
  import { Transform } from './basics/transform';
@@ -80,7 +81,7 @@ export declare abstract class BaseObject {
80
81
  get debounceParentDirty(): boolean;
81
82
  get isTransformer(): boolean;
82
83
  get cursor(): CURSOR_TYPE;
83
- get layer(): any;
84
+ get layer(): Nullable<Layer>;
84
85
  set transform(trans: Transform);
85
86
  set zIndex(index: number);
86
87
  set parent(o: any);
@@ -88,7 +89,7 @@ export declare abstract class BaseObject {
88
89
  set debounceParentDirty(state: boolean);
89
90
  set isTransformer(state: boolean);
90
91
  set cursor(val: CURSOR_TYPE);
91
- set layer(layer: any);
92
+ set layer(layer: Layer);
92
93
  protected set top(num: number | string);
93
94
  protected set left(num: number | string);
94
95
  protected set width(num: number | string);
@@ -131,6 +131,7 @@ export interface IDocumentSkeletonGlyph {
131
131
  parent?: IDocumentSkeletonDivide;
132
132
  url?: string;
133
133
  featureId?: string;
134
+ objectId?: string;
134
135
  }
135
136
  export interface IDocumentSkeletonBullet extends IIndentStart {
136
137
  listId: string;
@@ -63,6 +63,7 @@ export interface ISectionBreakConfig extends IDocStyleBase, ISectionBreakBase, I
63
63
  export interface IParagraphConfig {
64
64
  paragraphIndex: number;
65
65
  paragraphAffectSkeDrawings?: Map<string, IDocumentSkeletonDrawing>;
66
+ paragraphInlineSkeDrawings?: Map<string, IDocumentSkeletonDrawing>;
66
67
  bulletSkeleton?: IDocumentSkeletonBullet;
67
68
  paragraphStyle?: IParagraphStyle;
68
69
  skeHeaders: Map<string, Map<number, IDocumentSkeletonHeader>>;
@@ -11,4 +11,5 @@ export declare class RenderComponent<T, U, V> extends BaseObject {
11
11
  getExtensionsByOrder(): ComponentExtension<T, U, V>[];
12
12
  getExtensionByKey(uKey: string): ComponentExtension<T, U, V> | undefined;
13
13
  draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
14
+ dispose(): void;
14
15
  }
@@ -0,0 +1,13 @@
1
+ import { DocumentSkeleton } from './layout/doc-skeleton';
2
+ import { IDocumentsConfig, DocComponent } from './doc-component';
3
+ import { UniverRenderingContext } from '../../context';
4
+ import { IViewportBound } from '../../basics/vector2';
5
+
6
+ export declare class DocBackground extends DocComponent {
7
+ private _drawLiquid;
8
+ constructor(oKey: string, documentSkeleton?: DocumentSkeleton, config?: IDocumentsConfig);
9
+ static create(oKey: string, documentSkeleton?: DocumentSkeleton, config?: IDocumentsConfig): DocBackground;
10
+ draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
11
+ changeSkeleton(newSkeleton: DocumentSkeleton): this;
12
+ protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
13
+ }
@@ -4,22 +4,32 @@ import { RenderComponent } from '../component';
4
4
  import { UniverRenderingContext } from '../../context';
5
5
  import { IBoundRectNoAngle, IViewportBound } from '../../basics/vector2';
6
6
  import { INodeInfo } from '../../basics/interfaces';
7
- import { IDocumentSkeletonGlyph, IDocumentSkeletonLine, PageLayoutType } from '../../basics/i-document-skeleton-cached';
7
+ import { IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage, PageLayoutType } from '../../basics/i-document-skeleton-cached';
8
8
  import { Nullable } from '@univerjs/core';
9
9
 
10
+ export interface IPageMarginLayout {
11
+ pageMarginLeft: number;
12
+ pageMarginTop: number;
13
+ pageLayoutType?: PageLayoutType;
14
+ }
15
+ export interface IDocumentsConfig extends IPageMarginLayout {
16
+ hasEditor?: boolean;
17
+ }
10
18
  export declare class DocComponent extends RenderComponent<IDocumentSkeletonGlyph | IDocumentSkeletonLine, DOCS_EXTENSION_TYPE, IBoundRectNoAngle[]> {
11
19
  private _skeleton?;
12
20
  pageMarginLeft: number;
13
21
  pageMarginTop: number;
14
22
  pageLayoutType: PageLayoutType;
15
- constructor(oKey: string, _skeleton?: DocumentSkeleton | undefined);
23
+ constructor(oKey: string, _skeleton?: DocumentSkeleton | undefined, config?: IDocumentsConfig);
16
24
  getSkeleton(): DocumentSkeleton | undefined;
17
25
  setSkeleton(skeleton: DocumentSkeleton): void;
26
+ private _setConfig;
18
27
  render(mainCtx: UniverRenderingContext, bounds?: IViewportBound): this | undefined;
19
28
  getParentScale(): {
20
29
  scaleX: any;
21
30
  scaleY: any;
22
31
  };
32
+ isSkipByDiffBounds(page: IDocumentSkeletonPage, pageTop: number, pageLeft: number, bounds?: IViewportBound): boolean;
23
33
  scrollBySelection(): void;
24
34
  syncSelection(): void;
25
35
  remainActiveSelection(): void;
@@ -1,20 +1,12 @@
1
1
  import { DocumentSkeleton } from './layout/doc-skeleton';
2
- import { DocComponent } from './doc-component';
2
+ import { IDocumentsConfig, IPageMarginLayout, DocComponent } from './doc-component';
3
3
  import { Scene } from '../../scene';
4
4
  import { UniverRenderingContext } from '../../context';
5
5
  import { IViewportBound } from '../../basics/vector2';
6
6
  import { Transform } from '../../basics/transform';
7
- import { IDocumentSkeletonPage, PageLayoutType } from '../../basics/i-document-skeleton-cached';
7
+ import { IDocumentSkeletonPage } from '../../basics/i-document-skeleton-cached';
8
8
  import { Nullable, Observable } from '@univerjs/core';
9
9
 
10
- interface IPageMarginLayout {
11
- pageMarginLeft: number;
12
- pageMarginTop: number;
13
- pageLayoutType?: PageLayoutType;
14
- }
15
- export interface IDocumentsConfig extends IPageMarginLayout {
16
- hasEditor?: boolean;
17
- }
18
10
  export interface IPageRenderConfig {
19
11
  page: IDocumentSkeletonPage;
20
12
  pageLeft: number;
@@ -35,7 +27,7 @@ export declare class Documents extends DocComponent {
35
27
  private _skeletonObserver;
36
28
  constructor(oKey: string, documentSkeleton?: DocumentSkeleton, config?: IDocumentsConfig);
37
29
  static create(oKey: string, documentSkeleton?: DocumentSkeleton, config?: IDocumentsConfig): Documents;
38
- setConfig(config?: IDocumentsConfig): void;
30
+ dispose(): void;
39
31
  getOffsetConfig(): IDocumentOffsetConfig;
40
32
  getEngine(): Nullable<import('../..').ThinEngine<Scene>>;
41
33
  draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
@@ -46,6 +38,4 @@ export declare class Documents extends DocComponent {
46
38
  private _startRotation;
47
39
  private _resetRotation;
48
40
  private _initialDefaultExtension;
49
- private _isSkipByDiffBounds;
50
41
  }
51
- export {};
@@ -1,4 +1,5 @@
1
+ import { ILayoutContext } from '../../tools';
1
2
  import { IParagraphConfig, ISectionBreakConfig } from '../../../../../basics/interfaces';
2
3
  import { IDocumentSkeletonGlyph, IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton-cached';
3
4
 
4
- export declare function layoutParagraph(glyphGroup: IDocumentSkeletonGlyph[], pages: IDocumentSkeletonPage[], sectionBreakConfig: ISectionBreakConfig, paragraphConfig: IParagraphConfig, paragraphStart?: boolean): IDocumentSkeletonPage[];
5
+ export declare function layoutParagraph(ctx: ILayoutContext, glyphGroup: IDocumentSkeletonGlyph[], pages: IDocumentSkeletonPage[], sectionBreakConfig: ISectionBreakConfig, paragraphConfig: IParagraphConfig, paragraphStart?: boolean): IDocumentSkeletonPage[];
@@ -1,6 +1,7 @@
1
1
  import { DocumentViewModel } from '../../../view-model/document-view-model';
2
2
  import { DataStreamTreeNode } from '../../../view-model/data-stream-tree-node';
3
+ import { ILayoutContext } from '../../tools';
3
4
  import { ISectionBreakConfig } from '../../../../../basics/interfaces';
4
- import { IDocumentSkeletonPage, ISkeletonResourceReference } from '../../../../../basics/i-document-skeleton-cached';
5
+ import { IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton-cached';
5
6
 
6
- export declare function dealWidthParagraph(bodyModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, curPage: IDocumentSkeletonPage, sectionBreakConfig: ISectionBreakConfig, skeletonResourceReference: ISkeletonResourceReference): IDocumentSkeletonPage[];
7
+ export declare function dealWidthParagraph(ctx: ILayoutContext, viewModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, curPage: IDocumentSkeletonPage, sectionBreakConfig: ISectionBreakConfig): IDocumentSkeletonPage[];
@@ -1,7 +1,7 @@
1
1
  import { IShapedText } from './shaping';
2
2
  import { ISectionBreakConfig } from '../../../../../basics/interfaces';
3
- import { DocumentViewModel } from '../../../view-model/document-view-model';
4
3
  import { DataStreamTreeNode } from '../../../view-model/data-stream-tree-node';
5
- import { IDocumentSkeletonPage, ISkeletonResourceReference } from '../../../../../basics/i-document-skeleton-cached';
4
+ import { ILayoutContext } from '../../tools';
5
+ import { IDocumentSkeletonPage } from '../../../../../basics/i-document-skeleton-cached';
6
6
 
7
- export declare function lineBreaking(shapedTextList: IShapedText[], curPage: IDocumentSkeletonPage, bodyModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, skeletonResourceReference: ISkeletonResourceReference): IDocumentSkeletonPage[];
7
+ export declare function lineBreaking(ctx: ILayoutContext, shapedTextList: IShapedText[], curPage: IDocumentSkeletonPage, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig): IDocumentSkeletonPage[];
@@ -1,9 +1,11 @@
1
+ import { ILayoutContext } from '../tools';
1
2
  import { DocumentViewModel } from '../../view-model/document-view-model';
2
3
  import { DataStreamTreeNode } from '../../view-model/data-stream-tree-node';
3
4
  import { ISectionBreakConfig } from '../../../../basics/interfaces';
4
- import { IDocumentSkeletonPage, ISkeletonResourceReference } from '../../../../basics/i-document-skeleton-cached';
5
+ import { IDocumentSkeletonPage } from '../../../../basics/i-document-skeleton-cached';
6
+ import { Nullable } from '@univerjs/core';
5
7
 
6
- export declare function dealWithSections(bodyModel: DocumentViewModel, sectionNode: DataStreamTreeNode, curPage: IDocumentSkeletonPage, sectionBreakConfig: ISectionBreakConfig, skeletonResourceReference: ISkeletonResourceReference, _preRenderedBlockIdMap?: Map<string, boolean>): {
8
+ export declare function dealWithSection(ctx: ILayoutContext, viewModel: DocumentViewModel, sectionNode: DataStreamTreeNode, curPage: IDocumentSkeletonPage, sectionBreakConfig: ISectionBreakConfig, layoutAnchor: Nullable<number>): {
7
9
  pages: IDocumentSkeletonPage[];
8
10
  renderedBlockIdMap: Map<string, boolean>;
9
11
  };
@@ -14,10 +14,11 @@ export declare enum DocumentSkeletonState {
14
14
  export declare class DocumentSkeleton extends Skeleton {
15
15
  private _docViewModel;
16
16
  private _skeletonData;
17
- private _renderedBlockIdMap;
18
17
  private _findLiquid;
18
+ private _iteratorCount;
19
19
  constructor(_docViewModel: DocumentViewModel, localeService: LocaleService);
20
20
  static create(docViewModel: DocumentViewModel, localeService: LocaleService): DocumentSkeleton;
21
+ dispose(): void;
21
22
  getViewModel(): DocumentViewModel;
22
23
  calculate(bounds?: IViewportBound): void;
23
24
  getSkeletonData(): Nullable<IDocumentSkeletonCached>;
@@ -35,6 +36,7 @@ export declare class DocumentSkeleton extends Skeleton {
35
36
  private _getNearestNode;
36
37
  private _getPageBoundingBox;
37
38
  private _translatePage;
39
+ private _prepareLayoutContext;
38
40
  /**
39
41
  * \v COLUMN_BREAK
40
42
  * \f PAGE_BREAK
@@ -63,8 +65,6 @@ export declare class DocumentSkeleton extends Skeleton {
63
65
  * @returns view model: skeleton
64
66
  */
65
67
  private _createSkeleton;
66
- private _setPageParent;
67
68
  private _addNewSectionByContinuous;
68
- private _getNullSke;
69
69
  private _findNodeIterator;
70
70
  }
@@ -8,6 +8,7 @@ export declare function baseAdjustability(content: string, width: number): IAdju
8
8
  export declare function createSkeletonWordGlyph(content: string, config: IFontCreateConfig, glyphWidth?: number): IDocumentSkeletonGlyph;
9
9
  export declare function createSkeletonLetterGlyph(content: string, config: IFontCreateConfig, glyphWidth?: number, glyphInfo?: IOpenTypeGlyphInfo): IDocumentSkeletonGlyph;
10
10
  export declare function createSkeletonTabGlyph(config: IFontCreateConfig, glyphWidth?: number): IDocumentSkeletonGlyph;
11
+ export declare function createSkeletonCustomBlockGlyph(config: IFontCreateConfig, glyphWidth?: number, glyphHeight?: number, objectId?: string): IDocumentSkeletonGlyph;
11
12
  export declare function _createSkeletonWordOrLetter(glyphType: GlyphType, content: string, config: IFontCreateConfig, glyphWidth?: number, glyphInfo?: IOpenTypeGlyphInfo): IDocumentSkeletonGlyph;
12
13
  export declare function createSkeletonBulletGlyph(glyph: IDocumentSkeletonGlyph, bulletSkeleton: IDocumentSkeletonBullet, charSpaceApply: number): IDocumentSkeletonGlyph;
13
14
  export declare function setGlyphGroupLeft(glyphGroup: IDocumentSkeletonGlyph[], left?: number): void;
@@ -11,10 +11,11 @@ interface ILineBoundingBox {
11
11
  marginTop?: number;
12
12
  spaceBelowApply?: number;
13
13
  }
14
- export declare function createSkeletonLine(paragraphIndex: number, lineType: LineType, lineBoundingBox: ILineBoundingBox, columnWidth: number, lineIndex?: number, isParagraphStart?: boolean, affectSkeDrawings?: Map<string, IDocumentSkeletonDrawing>, headersDrawings?: Map<string, IDocumentSkeletonDrawing>, footersDrawings?: Map<string, IDocumentSkeletonDrawing>): IDocumentSkeletonLine;
14
+ export declare function createSkeletonLine(paragraphIndex: number, lineType: LineType, lineBoundingBox: ILineBoundingBox, columnWidth: number, lineIndex?: number, isParagraphStart?: boolean, pageSkeDrawings?: Map<string, IDocumentSkeletonDrawing>, headersDrawings?: Map<string, IDocumentSkeletonDrawing>, footersDrawings?: Map<string, IDocumentSkeletonDrawing>): IDocumentSkeletonLine;
15
15
  export declare function calculateLineTopByDrawings(lineHeight?: number, lineTop?: number, pageSkeDrawings?: Map<string, IDocumentSkeletonDrawing>, headersDrawings?: Map<string, IDocumentSkeletonDrawing>, footersDrawings?: Map<string, IDocumentSkeletonDrawing>): number;
16
16
  export declare function setDivideFullState(divide: IDocumentSkeletonDivide, state: boolean): void;
17
17
  export declare function setLineMarginBottom(line: IDocumentSkeletonLine, marginBottom: number): void;
18
18
  export declare function updateDivideInLine(line: IDocumentSkeletonLine): void;
19
+ export declare function collisionDetection(drawing: IDocumentSkeletonDrawing, lineHeight: number, lineTop: number, columnWidth: number): boolean;
19
20
  export declare function createAndUpdateBlockAnchor(paragraphIndex: number, line: IDocumentSkeletonLine, top: number, drawingAnchor?: Map<number, IDocumentSkeletonDrawingAnchor>): void;
20
21
  export {};
@@ -1,4 +1,5 @@
1
+ import { ILayoutContext } from '../tools';
1
2
  import { ISectionBreakConfig } from '../../../../basics/interfaces';
2
3
  import { IDocumentSkeletonPage, ISkeletonResourceReference, BreakType } from '../../../../basics/i-document-skeleton-cached';
3
4
 
4
- export declare function createSkeletonPage(sectionBreakConfig: ISectionBreakConfig, skeletonResourceReference: ISkeletonResourceReference, pageNumber?: number, breakType?: BreakType): IDocumentSkeletonPage;
5
+ export declare function createSkeletonPage(ctx: ILayoutContext, sectionBreakConfig: ISectionBreakConfig, skeletonResourceReference: ISkeletonResourceReference, pageNumber?: number, breakType?: BreakType): IDocumentSkeletonPage;
@@ -1,8 +1,8 @@
1
1
  import { DocumentViewModel } from '../view-model/document-view-model';
2
2
  import { DataStreamTreeNode } from '../view-model/data-stream-tree-node';
3
- import { IParagraphConfig, ISectionBreakConfig } from '../../../basics/interfaces';
4
- import { IDocumentSkeletonColumn, IDocumentSkeletonDivide, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage } from '../../../basics/i-document-skeleton-cached';
5
- import { INumberUnit, IParagraphStyle, ITextStyle, ObjectPositionH, ObjectPositionV, BooleanNumber, GridType, SpacingRule } from '@univerjs/core';
3
+ import { IDocsConfig, IParagraphConfig, ISectionBreakConfig } from '../../../basics/interfaces';
4
+ import { IDocumentSkeletonCached, IDocumentSkeletonColumn, IDocumentSkeletonDivide, IDocumentSkeletonDrawing, IDocumentSkeletonFontStyle, IDocumentSkeletonGlyph, IDocumentSkeletonLine, IDocumentSkeletonPage, ISkeletonResourceReference } from '../../../basics/i-document-skeleton-cached';
5
+ import { DocumentDataModel, INumberUnit, IObjectPositionH, IObjectPositionV, IParagraphStyle, ITextStyle, Nullable, BooleanNumber, GridType, SpacingRule } from '@univerjs/core';
6
6
 
7
7
  export declare function getLastPage(pages: IDocumentSkeletonPage[]): IDocumentSkeletonPage;
8
8
  export declare function getLastSection(page: IDocumentSkeletonPage): import('../../../basics/i-document-skeleton-cached').IDocumentSkeletonSection;
@@ -50,8 +50,8 @@ export declare function updateBlockIndex(pages: IDocumentSkeletonPage[], start?:
50
50
  export declare function spanIterator(pages: IDocumentSkeletonPage[], iteratorFunction: (glyph: IDocumentSkeletonGlyph) => void): void;
51
51
  export declare function lineIterator(pages: IDocumentSkeletonPage[], iteratorFunction: (line: IDocumentSkeletonLine) => void): void;
52
52
  export declare function columnIterator(pages: IDocumentSkeletonPage[], iteratorFunction: (column: IDocumentSkeletonColumn) => void): void;
53
- export declare function getPositionHorizon(positionH: ObjectPositionH, column: IDocumentSkeletonColumn, page: IDocumentSkeletonPage, objectWidth: number, isPageBreak?: boolean): number | undefined;
54
- export declare function getPositionVertical(positionV: ObjectPositionV, page: IDocumentSkeletonPage, lineTop: number, lineHeight: number, objectHeight: number, blockAnchorTop?: number, isPageBreak?: boolean): number | undefined;
53
+ export declare function getPositionHorizon(positionH: IObjectPositionH, column: IDocumentSkeletonColumn, page: IDocumentSkeletonPage, objectWidth: number, isPageBreak?: boolean): number | undefined;
54
+ export declare function getPositionVertical(positionV: IObjectPositionV, page: IDocumentSkeletonPage, lineTop: number, lineHeight: number, objectHeight: number, blockAnchorTop?: number, isPageBreak?: boolean): number | undefined;
55
55
  export declare function getGlyphGroupWidth(divide: IDocumentSkeletonDivide): number;
56
56
  interface IFontCreateConfig {
57
57
  fontStyle: IDocumentSkeletonFontStyle;
@@ -63,4 +63,30 @@ interface IFontCreateConfig {
63
63
  }
64
64
  export declare function clearFontCreateConfigCache(): void;
65
65
  export declare function getFontCreateConfig(index: number, bodyModel: DocumentViewModel, paragraphNode: DataStreamTreeNode, sectionBreakConfig: ISectionBreakConfig, paragraphStyle: IParagraphStyle): IFontCreateConfig;
66
+ export declare function getNullSkeleton(): IDocumentSkeletonCached;
67
+ export declare function setPageParent(pages: IDocumentSkeletonPage[], parent: IDocumentSkeletonCached): void;
68
+ export interface ILayoutContext {
69
+ viewModel: DocumentViewModel;
70
+ dataModel: DocumentDataModel;
71
+ docsConfig: IDocsConfig;
72
+ skeleton: IDocumentSkeletonCached;
73
+ layoutStartPointer: {
74
+ paragraphIndex: Nullable<number>;
75
+ };
76
+ isDirty: boolean;
77
+ skeletonResourceReference: ISkeletonResourceReference;
78
+ drawingsCache: Map<string, {
79
+ count: number;
80
+ page: IDocumentSkeletonPage;
81
+ drawing: IDocumentSkeletonDrawing;
82
+ }>;
83
+ paragraphConfigCache: Map<number, IParagraphConfig>;
84
+ sectionBreakConfigCache: Map<number, ISectionBreakConfig>;
85
+ paragraphsOpenNewPage: Set<number>;
86
+ }
87
+ export declare const DEFAULT_PAGE_SIZE: {
88
+ width: number;
89
+ height: number;
90
+ };
91
+ export declare function prepareSectionBreakConfig(ctx: ILayoutContext, nodeIndex: number): ISectionBreakConfig;
66
92
  export {};
@@ -23,6 +23,7 @@ export declare class ComponentExtension<T, U, V> {
23
23
  draw(ctx: UniverRenderingContext, parentScale: IScale, skeleton: T, diffBounds?: V): void;
24
24
  clearCache(): void;
25
25
  protected _getScale(parentScale: IScale): number;
26
+ dispose(): void;
26
27
  }
27
28
  export declare const SpreadsheetExtensionRegistry: Registry<any>;
28
29
  export declare const SheetRowHeaderExtensionRegistry: Registry<any>;
@@ -33,6 +33,10 @@ export declare class SheetComponent extends RenderComponent<SpreadsheetSkeleton,
33
33
  endColumn: number;
34
34
  }>;
35
35
  protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
36
+ /**
37
+ * TODO: DR-Univer, fix as unknown as
38
+ */
39
+ dispose(): void;
36
40
  }
37
41
  export declare class SpreadsheetHeader extends SheetComponent {
38
42
  protected _draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
@@ -85,6 +85,10 @@ export declare class SpreadsheetSkeleton extends Skeleton {
85
85
  * @deprecated
86
86
  */
87
87
  static create(worksheet: Worksheet | undefined, config: IWorksheetData, cellData: ObjectMatrix<Nullable<ICellData>>, styles: Styles, localeService: LocaleService, contextService: IContextService): SpreadsheetSkeleton;
88
+ /**
89
+ * TODO: DR-Univer, fix as unknown as
90
+ */
91
+ dispose(): void;
88
92
  /**
89
93
  * @deprecated should never expose a property that is provided by another module!
90
94
  */
@@ -15,9 +15,6 @@ export declare class Spreadsheet extends SheetComponent {
15
15
  private _cacheCanvas;
16
16
  private _refreshIncrementalState;
17
17
  private _forceDirty;
18
- private _overflowCacheRuntime;
19
- private _overflowCacheRuntimeRange;
20
- private _overflowCacheRuntimeTimeout;
21
18
  private _forceDisableGridlines;
22
19
  private _documents;
23
20
  isPrinting: boolean;
@@ -28,6 +25,10 @@ export declare class Spreadsheet extends SheetComponent {
28
25
  getDocuments(): Documents;
29
26
  get allowCache(): boolean;
30
27
  get forceDisableGridlines(): boolean;
28
+ /**
29
+ * TODO: DR-Univer, fix as unknown as
30
+ */
31
+ dispose(): void;
31
32
  draw(ctx: UniverRenderingContext, bounds?: IViewportBound): void;
32
33
  isHit(coord: Vector2): boolean;
33
34
  getNoMergeCellPositionByIndex(rowIndex: number, columnIndex: number): {
@@ -9,5 +9,6 @@ export declare class Skeleton extends Disposable {
9
9
  get dirty(): boolean;
10
10
  getFontLocale(): IFontLocale;
11
11
  makeDirty(state: boolean): void;
12
+ dispose(): void;
12
13
  private _localeInitial;
13
14
  }
@@ -16,7 +16,6 @@ export declare class Engine extends ThinEngine<Scene> {
16
16
  onEndFrameObservable: Observable<Engine>;
17
17
  private _container;
18
18
  private _canvas;
19
- private _canvasEle;
20
19
  private _renderingQueueLaunched;
21
20
  private _activeRenderLoops;
22
21
  private _renderFunction;
@@ -20,6 +20,7 @@ export declare class Group extends BaseObject {
20
20
  flip(flipX?: boolean, flipY?: boolean): this;
21
21
  isHit(coord: Vector2): boolean;
22
22
  pick(coord: Vector2): void;
23
+ private _clear;
23
24
  dispose(): void;
24
25
  private _transformBounds;
25
26
  }
@@ -37,6 +37,7 @@ export { Liquid } from './components/docs/liquid';
37
37
  export { ITextSelectionRenderManager, TextSelectionRenderManager, getCanvasOffsetByEngine, } from './components/docs/text-selection/text-selection-render-manager';
38
38
  export type { IActiveTextRange, IEditorInputConfig, ITextSelectionInnerParam } from './components/docs/text-selection/text-selection-render-manager';
39
39
  export { Documents } from './components/docs/document';
40
+ export { DocBackground } from './components/docs/doc-background';
40
41
  export type { IPageRenderConfig } from './components/docs/document';
41
42
  export { DocumentSkeleton } from './components/docs/layout/doc-skeleton';
42
43
  export { ThinEngine } from './thin-engine';
@@ -10,6 +10,7 @@ export declare class Layer extends Disposable {
10
10
  private _objects;
11
11
  private _cacheCanvas;
12
12
  protected _dirty: boolean;
13
+ private _debounceDirtyFunc;
13
14
  constructor(_scene: ThinScene, objects?: BaseObject[], _zIndex?: number, _allowCache?: boolean);
14
15
  get scene(): ThinScene;
15
16
  get zIndex(): number;
@@ -24,6 +25,7 @@ export declare class Layer extends Disposable {
24
25
  addObjects(objects: BaseObject[]): this;
25
26
  removeObjects(objects: BaseObject[] | string[]): void;
26
27
  makeDirty(state?: boolean): this;
28
+ makeDirtyWithDebounce(state?: boolean): void;
27
29
  isDirty(): boolean;
28
30
  render(parentCtx?: UniverRenderingContext, isMaxLayer?: boolean): this;
29
31
  private _layerBehavior;
@@ -22,7 +22,7 @@ export declare class SceneViewer extends BaseObject {
22
22
  enableSelectedClipElement(): void;
23
23
  disableSelectedClipElement(): void;
24
24
  allowSelectedClipElement(): boolean;
25
- pick(coord: Vector2): Nullable<BaseObject | ThinScene>;
25
+ pick(coord: Vector2): Nullable<ThinScene | BaseObject>;
26
26
  dispose(): void;
27
27
  private _initialProps;
28
28
  }
@@ -32,6 +32,10 @@ export declare class InputManager extends Disposable {
32
32
  private _tripleClickState;
33
33
  private _currentObject;
34
34
  constructor(scene: ThinScene);
35
+ /**
36
+ * TODO: DR-Univer, fix as unknown as
37
+ */
38
+ dispose(): void;
35
39
  mouseLeaveEnterHandler(evt: IMouseEvent): void;
36
40
  attachControl(hasDown?: boolean, hasUp?: boolean, hasMove?: boolean, hasWheel?: boolean, hasEnter?: boolean, hasLeave?: boolean): void;
37
41
  /**
@@ -22,6 +22,5 @@ export * from './rect';
22
22
  export * from './regular-polygon';
23
23
  export * from './rich-text';
24
24
  export * from './scroll-bar';
25
- export * from './selection';
26
25
  export * from './shape';
27
26
  export * from './checkbox';